问题描述

在源库 d1中,添加只读查询权限给用户u2

GRANT SELECT ON t1 TO u2;

在目标库:d2中,创建数据库连接:

create database link my_db_link
connect to u2 identified by 123456
using '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=d1)))'
;

跨库数据查询:

select * from t1@my_db_link;

以上方式在oracle11g中查询正常,但是升级到oracle19c后,部分表查询时提示错误:

ORA-00942: 表或视图不存在
ORA-02063: 紧接着 line (起自 my_db_link)

解决办法

在源库授权时,需添加schema,如下:

GRANT SELECT ON u1.t1 TO u2;

在目标库查询时,同样需要添加schema,如下:

select * from u1.t1@my_db_link;
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐