我在通过dblink选择数据的过程中遇到一些问题
我可以正常选择源表,过程编译成功,但当我运行此过程时,我收到错误
create or replace procedure proc1 is
begin
execute immediate 'truncate table table1';
INSERT /*+ APPEND NOLOGGING PARALLEL */
INTO table1
SELECT smthng
FROM table1@dblink uo
LEFT JOIN table2@dblink uoc
ON uoc.id = uo.id
LEFT JOIN table3@dblink uos
ON uos.id = uoc.id;
COMMIT;
end;
SQL> execute proc1
begin proc1; end;
ORA-01017: invalid username/password; logon denied
ORA-02063: предшествующий line из dblink
ORA-06512: на "proc1", line 8
ORA-06512: на line 1有什么解释吗?
发布于 2021-02-12 02:01:02
要为这个问题提供解决方案,您需要知道您使用的是哪个版本的Oracle数据库,您需要向我们解释数据库链接是如何创建的。这是一个公共链接吗?是匿名的吗?在查询中使用的所有表上指定的DOP (并行度)是多少。谁在执行查询?它是否与您通过远程数据库链接使用的用户相同?此用户是否与在本地执行查询的用户具有相同的密码?
我可以让它变得更糟:您是否使用外部标识的ops$-帐户?还是给最后一个分配了密码?
最后但并非最不重要的一点是,如果用户无法登录到远程数据库,则通过审核表进行检查。告诉我这是您在本地查询中使用的同一用户吗?
https://stackoverflow.com/questions/49548557
复制相似问题