客户今天刷新物化视图出现ORA-04062ORA-04068错误,同事处理了这个问题,下面记录下过程:
OS:aix
DB: 9.2.0.8
由于该物化视图的基表所在数据库先前进行了重建数据字典的操作。
在远端数据库刷新物化视图的时候报ORA-04062/ORA-04068的错误,可以通过设置
alter session set remote_dependencies_mode=signature;
然后刷新物化视图,刷新成功,可以认为报ORA-04062、ORA-04068是由于两边时间戳问题引起。
此时如果退出signature状态,刷新物化视图依然会报ORA-04062ORA-04068错误。
参考
Bug 3017255 : CREATE MATERIARIZED VIEW CAUSED ORA-4068 AND ORA-4062
方法一:
在远端物化视图所在库执行“alter system flush shared_pool;”
方法二:
EXEC DBMS_MVIEW.REFRESH('MV_T'); ---应该是做了物化视图完全刷新
学习下remote_dependencies_mode,O(∩_∩)O哈!
remote_dependencies_mode
show parameter remote_dependencies_mode:
说明: 该参数用于指定数据库为远程 PL/SQL 存储的过程处理被依赖对象的方式。如果设置为 TIMESTAMP,只有在服务器与本地时间戳相匹配的情况下,才能执行该过程。如果设置为 SIGNATURE,在签名安全的情况下即可执行该过程。
值范围: TIMESTAMP | SIGNATURE
默认值: TIMESTAMP
修改
alter system set remote_dependencies_mode=signature;