the Oracle documentation description for “ORA-02069: global_names parameter must be set to TRUE for this operation” is:
“You tried to execute an operation that requires a remote mapping. This can not be done because the parameter called GLOBAL_NAMES is not set to TRUE. ”
This error message is one of the less understandable error messages even in the Oracle documentation standards.
Oracle resolution offer is to try setting the GLOBAL_NAMES parameter to TRUE with the following statement:
ALTER SESSION SET GLOBAL_NAMES = TRUE;
shortly, what this message means is that you are trying to perform an operation (update or insert, for example) on a remote database using a db link while trying to use a local function.
for example:
update remote_table@remote_data_base
set col1= local_function(value)
to resolve this, you can:
alter the session as oracle suggested:
ALTER SESSION SET GLOBAL_NAMES = TRUE;
or simply assign the value of the local function into a variable and use it in the update/insert command:
v_variable :=local_function(value);
update remote_table@remote_data_base
set col1= v_variable;
Thank you so much for your useful advise. It really works and so easy to use.