Oracle 的日志文件功能,算是 DBA 手里一个比较关键的工具了,尤其在误删、排查问题或者做审计时,真的挺管用的。
其中LogMiner
就蛮值得一提,它可以把复杂的日志文件转成比较好懂的 SQL 语句。你能直接看到SQL_REDO
和SQL_UNDO
这些重做和撤销的语句,追溯出具体操作,还原现场一点问题都没有。
LogMiner 的原理其实也不复杂,它会把日志里的内部信息翻译成你熟悉的 SQL,塞进V$LOGMNR_CONTENTS
视图里。你还能用数据字典还原出表名、字段名啥的,这一步自动化做得还不错。
嗯,还有个好消息,从Oracle 9i
开始,LogMiner
对更多操作支持更全了,像DDL
、DIRECT PATH 插入
、CLUSTER 表
等它都能解析,日志覆盖面比之前大不少。
你平时要是经常数据库恢复、查用户的操作轨迹、或者想搞搞事后审计,LogMiner挺推荐的。关键是它用起来还不算复杂,成本也低,算是性价比比较高的一个方案。
对这块有兴趣的话,下面这些文章你可以翻一翻,资料比较全,讲得也还行:
如果你在维护Oracle
库时经常遇到“谁动了数据”这种场景,建议你认真研究下 LogMiner,工具虽然不新,但真挺实用。