My Oracle Support Banner

PDB上で ALL/CDB/DBA/USER_XXXXビューに DBMS_METADATA.GET_DDL を実行時に ORA-31603 が発生 (Doc ID 2532537.1)

Last updated on APRIL 22, 2019

適用範囲:

Oracle Database - Enterprise Edition - バージョン 12.1.0.1 以降
この文書の内容はすべてのプラットフォームに適用されます。
本文書利用上のご注意
  本文書は英語の文書 <Document 2479803.1> (最終メジャー更新日: 2019年2月21日) の日本語翻訳版です。
  英語の文書の最終メジャー更新日が新しい場合は本文書に適宜反映いたします。

現象

 PDB上で ALL/CDB/DBA/USER_XXXXビューに DBMS_METADATA.GET_DDL を実行時に ORA-31603 が発生します。

変更点

 PDB上で ALL/CDB/DBA/USER_XXXXビューに DBMS_METADATA.GET_DDL を実行時に ORA-31603 が発生しますが、CDB$ROOT にはエラーが発生しません。

SQL> alter session set container=pdb1;

Session altered.

SQL> select dbms_metadata.get_ddl('VIEW','ALL_TABLES','SYS') from dual;
ERROR:
ORA-31603: object "ALL_TABLES" of type VIEW not found in schema "SYS"
ORA-06512: at "SYS.DBMS_METADATA", line 5746
ORA-06512: at "SYS.DBMS_METADATA", line 8333
ORA-06512: at line 1



no rows selected

SQL> select dbms_metadata.get_ddl('VIEW','CDB_TABLES','SYS') from dual;
ERROR:
ORA-31603: object "CDB_TABLES" of type VIEW not found in schema "SYS"
ORA-06512: at "SYS.DBMS_METADATA", line 5746
ORA-06512: at "SYS.DBMS_METADATA", line 8333
ORA-06512: at line 1



no rows selected

SQL> select dbms_metadata.get_ddl('VIEW','DBA_TABLES','SYS') from dual;
ERROR:
ORA-31603: object "DBA_TABLES" of type VIEW not found in schema "SYS"
ORA-06512: at "SYS.DBMS_METADATA", line 5746
ORA-06512: at "SYS.DBMS_METADATA", line 8333
ORA-06512: at line 1



no rows selected

SQL> select dbms_metadata.get_ddl('VIEW','USER_TABLES','SYS') from dual;
ERROR:
ORA-31603: object "USER_TABLES" of type VIEW not found in schema "SYS"
ORA-06512: at "SYS.DBMS_METADATA", line 5746
ORA-06512: at "SYS.DBMS_METADATA", line 8333
ORA-06512: at line 1



no rows selected

SQL> alter session set container=cdb$root;

Session altered.

SQL> select dbms_metadata.get_ddl('VIEW','ALL_TABLES','SYS') from dual;

DBMS_METADATA.GET_DDL('VIEW','ALL_TABLES','SYS')
--------------------------------------------------------------------------------

  CREATE OR REPLACE FORCE NONEDITIONABLE VIEW "SYS"."ALL_TABLES" ("OWNER", "TAB


SQL> select dbms_metadata.get_ddl('VIEW','CDB_TABLES','SYS') from dual;

DBMS_METADATA.GET_DDL('VIEW','CDB_TABLES','SYS')
--------------------------------------------------------------------------------

  CREATE OR REPLACE FORCE NONEDITIONABLE VIEW "SYS"."CDB_TABLES"  CONTAINER_DAT


SQL> select dbms_metadata.get_ddl('VIEW','DBA_TABLES','SYS') from dual;

DBMS_METADATA.GET_DDL('VIEW','DBA_TABLES','SYS')
--------------------------------------------------------------------------------

  CREATE OR REPLACE FORCE NONEDITIONABLE VIEW "SYS"."DBA_TABLES" ("OWNER", "TAB


SQL> select dbms_metadata.get_ddl('VIEW','USER_TABLES','SYS') from dual;

DBMS_METADATA.GET_DDL('VIEW','USER_TABLES','SYS')
--------------------------------------------------------------------------------

  CREATE OR REPLACE FORCE NONEDITIONABLE VIEW "SYS"."USER_TABLES" ("TABLE_NAME"


SQL>

原因

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


本書の内容
現象
変更点
原因
解決策
参照情報

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.