从摆脱Data Guard手工搭建及维护的烦恼说起
第二天通过日志看到应用运行之后,查看系统级,没有任何的抖动,数据库层面也可以看到应用是连接进来了.在反复确认调用的细节之后,我切换到指定的用户,再次尝试;然后再次运行这个报错的语句,终于得到了期望之中的报错. SQL>selectbind_flagfromtest_billingwherecn_master=’660078174′; selectbind_flagfromtest_billingwherecn_master=’660078174′ * ERRORatline1: ORA-00604:erroroccurredatrecursiveSQLlevel1 ORA-16000:databaSEOpenforread-onlyaccess 采用owenr用户的方式来查看,就没有问题了. SQL>selectbind_flagfromacc.test_billingwherecn_master=’660078174′; BIND_FLAG ———- 689537 这个问题是怎么回事呢? TEST_SHINK下的都是同义词,指向ACC这个owner用户,那么这个同义词有什么特别的呢.进一步查看,发现同义词test_billing状态是INVALID的. 而问题的修复就更简单了,在主库运行下面的SQL即可. >selectcount(*)fromTEST_SHINK.TEST_BILLINGwherecn_master=’660078174′; COUNT(*) ———- 1 因为这个用户应用只在备库使用,所以就导致了这个看起来奇怪的问题,看来都是事出有因,耐心一些,细致一些还是会有发现.对于这个问题更多的细节就不赘述了. 六、数据迁移中巧用DataGuard(编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |