Oracle 通过dblink访问表,因synonym失效,引起ORA-04045/ORA-16000/ORA-02063

本文介绍了在使用Oracle数据库的dblink访问远程表时,由于synonym失效导致的错误情况,包括ORA-04045、ORA-16000和ORA-02063等。文章来源于IT专业社区,详细讨论了这些问题的产生原因和可能的解决策略。
摘要由CSDN通过智能技术生成


标题:Oracle 通过dblink访问表,因synonym失效,引起ORA-04045/ORA-16000/ORA-02063

作者:lōττéry©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]



前景介绍:
环境:RAC(FWSB用户[读写],FWSB_B用户[只提供plsql连接查询]) 、DG环境【只读模式】 ..
需要:多个测试环境与生产环境脚本对比数据..为了不与RAC环境争抢资源,将在各测试环境创建连接DG环境的dblink(db_fwsb_b)
某天同事说查询表报错【ORA-04045/ORA-16000/ORA-02063
最终知识点
1、synonym 映射的表重建会导致synonym失效;
2、10g开始 失效对象在再次调用时自动会置为有效[包括:synonym/存储等];
  

一、 模拟报错
SQL> SELECT * FROM LOTTERY@db_fwsb ;   --测试环境通过dblink查询生产环境数据

ORA-04045: 在重新编译/重新验证 FWSB_B. LOTTERY 时出错
ORA-16000: 打开数据库以进行只读访问
ORA-02063: 紧接着 2 lines (起自 DB_FWSB)
 
SQL> 查询用到的dblink,权限
SQL> SELECT * FROM DBA_DB_LINKS WHERE DB_LINK IN ('DB_BACKUP','DB_FWSB');
 
OWNER                          DB_LINK                 USERNAME                       HOST         
------------------------------ -------------------- -------- ------ ----- -------- ------ ------ -------- 
PUBLIC                         DB_FWSB                 FWSB_B                         DG 环境  --只读
SYS                            DB_BACKUP               FWSB_B                          RAC环境  --可编辑fwsb_b环境synonym
 
SQL>  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值