我使用数据库链接创建了一个数据库链接。
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;
/