OPER@tl>select DBMS_METADATA.get_ddl('VIEW','USER_ALL_TABLES','SYS') from dual;DBMS_METADATA.GET_DDL('VIEW','USER_ALL_TABLES','SYS')
我在sq/plus中写这些语句怎么不好用呢???
OPER@tl>  是什么意思??

解决方案 »

  1.   

    SQL> create user test identified by aaa;用户已创建。SQL> grant connect to test;授权成功。SQL> conn test/aaa
    已连接。
    SQL> select DBMS_METADATA.get_ddl('VIEW','USER_ALL_TABLES','SYS') from dual; 
    ERROR:
    ORA-31603: 对象 "USER_ALL_TABLES" 属于类型 VIEW, 在方案 "SYS" 中未找到
    ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 105
    ORA-06512: 在 "SYS.DBMS_METADATA", line 2805
    ORA-06512: 在 "SYS.DBMS_METADATA", line 4333
    ORA-06512: 在 line 1未选定行SQL> conn / as sysdba
    已连接。
    SQL> grant SELECT_CATALOG_ROLE to test;授权成功。SQL> conn test/aaa
    已连接。
    SQL> select DBMS_METADATA.get_ddl('VIEW','USER_ALL_TABLES','SYS') from dual; DBMS_METADATA.GET_DDL('VIEW','USER_ALL_TABLES','SYS')
    --------------------------------------------------------------------------------  CREATE OR REPLACE FORCE VIEW "SYS"."USER_ALL_TABLES" ("TABLE_NAME", "TABLESPA
    SQL>