質問するログイン新規登録

回答編集履歴

1

誤字の修正

2019/05/30 17:09

投稿

atata0319
atata0319

スコア881

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  一般的な Oracle におけるアクティビティの監視と言う観点から回答します。対象製品のリバースエンジニアリングに該当する可能性があるので、実際に適用する際には質問者の責任において開発元に確認するなりして厳密に対処してください。サードパーティー製品もけっこうありますが、Oracle の機能だけで実施可能なものを上げます。
2
2
 
3
3
  1.Materialized View Log
4
- Materialized View Log には変更対象になる列の情報を含めることが可能です。Oracle 11g においては Materialized View Log が格納される実表に更新前後の値が含まれるため、簡単に参照することができます。実際には Orlofsky さんが提示されている Trigger の作成を Oracle に作成させるような手法となります。この手法の難点は実際には Materialized View を作成するわけではないのでログのクリアを手動で実施しなければならないことと、すべての表、すべての列を記録すると実用レベルではないほどの高負荷になります。1の手法とは異なりシーケンスから値を取得するなどの処理を記録することはできません。
4
+ Materialized View Log には変更対象になる列の情報を含めることが可能です。Oracle 11g においては Materialized View Log が格納される実表に更新前後の値が含まれるため、簡単に参照することができます。実際には Orlofsky さんが提示されている Trigger の作成を Oracle に作成させるような手法となります。この手法の難点は実際には Materialized View を作成するわけではないのでログのクリアを手動で実施しなければならないことと、すべての表、すべての列を記録すると実用レベルではないほどの高負荷になります。以下にあげる手法とは異なりシーケンスから値を取得するなどの処理を記録することはできません。
5
5
 
6
6
  2.Oracle LogMiner
7
7
  REDOログやアーカイブログから scn 単位ですべての DML と DDL の実行履歴を参照することができます。使い方は検索してください。