DBMS_METADATA.GET_DDL Fails with ORA-31603 on dblink [message #544333] |
Tue, 21 February 2012 05:16  |
julb
Messages: 17 Registered: November 2010
|
Junior Member |
|
|
Hi,
I have user U1 with dblink DBL1 (private dblink, not public).
When I logged in with U1 and try to execute the following statement :
SELECT SYS.DBMS_METADATA.GET_DDL('DB_LINK',OBJECT_NAME)
FROM SYS.USER_OBJECTS
WHERE OBJECT_TYPE = 'DATABASE LINK'
AND OBJECT_NAME = 'DBL1';
I get ORA-31603 error:
ORA-31603: object "DBL1" of type DB_LINK not found in schema "U1"
ORA-06512: at "SYS.DBMS_METADATA", line 4018
ORA-06512: at "SYS.DBMS_METADATA", line 5843
ORA-06512: at line 1
DBL1 script is as follows:
CREATE DATABASE LINK DBL1
CONNECT TO U1 IDENTIFIED BY XX USING 'TNS1';
when I select from user_objects with the following query , it is there.
SELECT *
FROM SYS.USER_OBJECTS
WHERE OBJECT_TYPE = 'DATABASE LINK'
AND OBJECT_NAME = 'DBL1';
DBMS_METADATA.GET_DDL works for every other objects (tables for example) in this schema except for dblinks.
What can cause this behavior?
|
|
|
|
|
|
Re: DBMS_METADATA.GET_DDL Fails with ORA-31603 on dblink [message #544379 is a reply to message #544368] |
Tue, 21 February 2012 07:51   |
julb
Messages: 17 Registered: November 2010
|
Junior Member |
|
|
Is it better?
SQL> SELECT object_name, SYS.DBMS_METADATA.GET_DDL('DB_LINK',OBJECT_NAME)
2 FROM SYS.USER_OBJECTS
3 WHERE OBJECT_TYPE = 'DATABASE LINK'
4 AND OBJECT_NAME = 'DBL1';
ERROR:
ORA-31603: object "DBL1" of type DB_LINK not found in schema "U1"
ORA-06512: at "SYS.DBMS_METADATA", line 4018
ORA-06512: at "SYS.DBMS_METADATA", line 5843
ORA-06512: at line 1
no rows selected
SQL>
SQL> SELECT object_name
2 FROM SYS.USER_OBJECTS
3 WHERE OBJECT_TYPE = 'DATABASE LINK'
4 AND OBJECT_NAME = 'DBL1';
OBJECT_NAME
--------------------------------------------------------------------------------
DBL1
|
|
|
|
|
|
|
|
|