ORA-02021解决方法--dblink操作ddl

如果我想在A库上操作,把A库上的dba_objects弄到B库上。
SQL> create table test@dblink_to_B as select * from dba_objects;
create table test@dblink_to_B as select * from dba_objects
                 *
第 1 行出现错误:
ORA-02021: 不允许对远程数据库进行 DDL 操作

要想完成上面的需求,这样做
SQL> exec dbms_utility.EXEC_DDL_STATEMENT@db_link_developer('create table test as select * from dba_objects@dblink_to_A');

要想在A库上操作,删除B库上的test

SQL> exec dbms_utility.EXEC_DDL_STATEMENT@dblink_to_B('drop table test');


当然你可以在远程数据库上建立一个存储过程,调用存储解决,不过没有这个方法简单。

你可能感兴趣的:(ORA-02021解决方法--dblink操作ddl)