3

I'm using a database link to execute a DELETE statement on another DB, but the DB link name doesn't conform to global naming, and this requirement cannot change. Also I have global_names set to false, and cannot be changed either.

When I try to use these links however, I receive:

ORA-02069: - global_names parameter must be set to TRUE for this operation

Cause: A remote mapping of the statement is required but cannot be achieved because   
GLOBAL_NAMES should be set to TRUE for it to be achieved. -

Action: Issue `ALTER SESSION SET GLOBAL_NAMES = TRUE`   (if possible)

What is the alternative action when setting global_names=true is not possible?

Cheers,
Jean

APC
  • 144,005
  • 19
  • 170
  • 281
jyz
  • 6,011
  • 3
  • 29
  • 37

2 Answers2

1

That parameter can be set at the session level. Could you not set the GLOBAL_NAMES value equal to TRUE in your session, execute your delete, then set if back to FALSE? If not could you create a new connections just for this delete and update the GLOBAL_NAMES value in that session to be true?

Doug Porter
  • 7,721
  • 4
  • 40
  • 55
1

The problem is that the GLOBAL_NAMES parameter is set to TRUE in your environment. That requires that the DB link have the same name as the GLOBAL_NAME of the remote DB.

Here's a link which describes the situation more fully.

Adam Hawkes
  • 7,218
  • 30
  • 57
  • in my environment GLOBAL_NAMES is set to false. And even if I alter session and set to TRUE this will not solve my problem, since the DB_LINK has diffent name then the remote database, and I cannot change this requirement. Thanks. – jyz Jan 05 '11 at 13:00
  • So, what you're saying is that you can't change the link name, nor the naming conventions used by the databases involved. Sounds like you're in an impossible spot then. – Adam Hawkes Jan 05 '11 at 14:01