2016-12-14 96 views
0

我有一个相当大的数据库(1100个左右)。我有兴趣拍摄数据库的快照,在应用程序中做一些工作,拍摄另一张快照并比较两者,找出哪些表被触及。我正在使用TOAD for Oracle。是这样的可能吗,还是有更好的方法来做到这一点?Toad for Oracle的数据库快照

+0

https://docs.oracle.com/database/121/ARPLS/d_comparison.htm#ARPLS868 –

回答

0

我并没有真正使用TOAD,但我认为它与你想要的几乎没有关系。

假设只有一个应用程序正在运行我认为你可以检查哪些表访问它检查DBA_TAB_MODIFICATIONS表需要有MONITORING属性设置。请参阅ALL_TAB_MODIFICATIONS的文档然后,您可以将其与在要监视的表上启用细粒度审核结合使用。这将允许您监视INSERT,UPDATE和DELETE查询,查看绑定变量等等。检查文档About Fine-Grained Auditing您需要企业版才能使用细粒度审核

您是否需要还原应用程序所做的更改?

如果是这样,恢复更改的最佳和最简单的方法是Oracle闪回技术。它只是允许您根据闪回保留目标检查表的先前状态。再次,文档在主题Using Flashback Database and Restore PointsOracle Flashback query上压倒性很强。闪回技术是必须从Oracle购买的额外功能。

您理论上也可以通过执行数据库时间点恢复来做到这一点,这是通过RMAN检查文档以获取关于此的完整信息Database Backup and Recovery Basics 10g这是一种矫枉过正的行为,我不推荐将它用于您的方案。

我认为您的问题的最佳方法是添加或启用应用程序端SQL查询的日志记录。