利用DBLINK创建表的问题
xtxjx 2009-12-22 02:29:48 我想利用DBLINK在本地数据库A创建一个和数据库B一样的表,只要表结构,不需要数据。写了以下存储过程。
create or replace procedure proc_createtable
is
sqlt varchar2(200);
zd varchar2 (100);
CURSOR tb is (select * from user_tables@easdb where table_name like 'T_%');
R_emp tb%ROWTYPE;
begin
open tb;
loop
fetch tb into R_emp;
exit when tb% notfound;
zd:= R_emp.table_name;
sqlt := ' create table ' ||zd ||' as select * from ' ||zd||'@easdb where 1 = 0' ;
execute immediate sqlt ;
end loop;
close tb;
end;
编译成功。但执行时提示
ORA-01031: 权限不足
ORA-06512: 在 "EASTEST.PROC_CREATETABLE", line 14
ORA-06512: 在 line 2
用户是有DBA权限的,怎么会提示权限不足呢?
请问应该怎么调试能正常执行?