2016-12-14 8 views
0

私はかなり大きなデータベース(1100テーブル程度)を持っています。私はデータベースのスナップショットを撮り、アプリケーションでいくつかの作業を行い、別のスナップショットを撮り、2つを比較してどちらのテーブルに触れたかを調べることに興味があります。私はTOADをOracle用に使用しています。このようなことが可能か、それとももっと良い方法がありますか?Toad for Oracleを使用したデータベーススナップショット

+0

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

答えて

0

私はTOADを実際に使っていませんが、あなたが望むものとはほとんど関係がないと思います。

1つのアプリケーションだけが実行されているとすれば、どのテーブルがアクセスされたかを確認できます。DBA_TAB_MODIFICATIONSのテーブルにはMONITORING属性が設定されている必要があります。 ALL_TAB_MODIFICATIONSのドキュメントを参照してください。これを組み合わせて、監視したいテーブルでファイングレイン監査を有効にすることができます。これにより、INSERT、UPDATE、およびDELETEの問合せを監視し、バインド変数などを監視することができます。ドキュメントを確認するAbout Fine-Grained Auditingファイングレイン監査を使用するにはEnterprise Editionが必要です

アプリケーションによって行われた変更を元に戻す必要がありますか?

もしそうならば、変更を元に戻す最も簡単で簡単な方法はOracle Flashbackテクノロジです。単にフラッシュバック保存ターゲットに基づいてテーブルの以前の状態を確認することができます。ここでもまた、文書は非常に圧倒的です。Using Flashback Database and Restore PointsおよびOracle Flashback queryフラッシュバック・テクノロジーは、Oracleから購入する必要のある追加機能です。

データベースのポイントインタイムリカバリを行うことでこれを理論的に行うこともできます。これは、Recovery Managerを使用してドキュメントをチェックしてください。Database Backup and Recovery Basics 10gこれは過度の操作であり、ご使用のシナリオではお勧めしません。

あなたの問題に対する最善のアプローチは、アプリケーション側でSQLクエリのログを追加または有効にすることです。

関連する問題