在远程数据库上创建表

在远程数据库上创建表

我使用数据库链接创建了一个数据库链接。

create public database link REMOTEDB connect to REMOTEUSER identified by REMOTEPWD using 'REMOTEDB';

然后我在远程数据库中创建一个表,

create table MYTABLE@REMOTEDB (name varchar2(20)));

它说,ORA-02021 DDL operations are not allowed on| a remote database..

这是否不会产生任何成本,或者我只是缺少一些创建权限?

答案1

通过数据库链接创建表看起来是个很糟糕的主意。我看不出这样做有什么理由,因此我认为这行不通。

答案2

您可以远程调用DBMS_SQL来创建表

declare
 v_cursor  NUMBER;
 v_ind      number;
begin
 v_cursor := dbms_sql.open_cursor@dblink;
 dbms_sql.parse@dblink(v_cursor, 'create table t_gm_x (id number)', dbms_sql.native);
 v_ind := dbms_sql.execute@dblink( v_cursor );
end;
/

相关内容