关于使用dbms_logmnr进行恢复
-----------------
Oracle LogMiner, 做为Oracles数据库配套工具,能够用于帮你进行在线日志和归档日志文件记录查询。DBMS_LOGMNR程序包提供了相应接口来启动和关闭LogMiner挖掘并指定日志文件对象。
全部关于数据库数据以及数据字典的变动都会被记录在Oracle重作日志中,它们被用于在须要时进行数据库恢复。所以你也能够充分利用这些记录来完成其它任务:sql
dbms_logmnr在Pluggable Database上执行失败的问题数据库
-----------------
针对 Oracle Database 12.1.0.2及以后版本。
在运行logminer时, dbms_logmnr的procedure会在PDB实例上执行失败并报如下错误:性能优化
ORA-65040: operation not allowed from within a pluggable database
缘由:
logminer须要在CDB上启动.
在PDB层启动logminer并不知足代码检查条件。其v$logminer_contents仅可在CDB层访问。
在相关文档中,也有提到:oracle
'In a CDB, the V$LOGMNR_CONTENTS view and its associated functions are restricted to the root database'
解决方法:
按如下步骤在CDB层正确启动logminer:
1. 检查当前活跃的重作日志:app
Select member from v$logfile;
2. 加入但愿进行挖掘的日志:工具
EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '/home/oracle/app/oracle/oradata/test/redo01.log', OPTIONS => DBMS_LOGMNR.NEW); ...
3. 和过去操做同样启动logminer:性能
EXECUTE DBMS_LOGMNR.START_LOGMNR( OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);