2011-10-27 17 views
13

Oracle 11g Standard Editionを使用しています。Oracle SQLクエリのログ

ユーザーが実行しているすべてのSQLクエリをテーブルに記録したいと思います。

どうすればいいですか?

+0

どのような目的でこの情報が必要ですか?それは監査ですか?使用状況の監視?他に何か? – APC

+0

監査用(選択、更新、挿入、削除) – JMW

+0

関連:http://stackoverflow.com/questions/1570978/oracle-xe-query-log –

答えて

10

最新バージョンのデータベース(9i以降)を使用していて、Enterprise Editionライセンスをお持ちの場合は、ファイングレイン監査を使用できます。これにより、定義されたポリシーを使用して、非常に低いレベルの細かいレベルでユーザーのクエリを監査することができます。

SQLテキストとバインド変数を取得するには、FGAポリシーを追加するときにAUDIT_TRAILパラメータを適切に設定する必要があります。 Find out more


「私は、11グラムの標準を使用していますので、監査機能はサポートされていません。」

正確ではありません。 AUDITコマンドは標準のOracleビルドの一部ですが、特定のユーザーが特定の表に対してSELECTを発行したときにのみ取得できます。しかし、はい、正確にを見つけるには、にはエンタープライズ版ライセンスが必要です。

また、ON SELECTトリガーもありません。私たちは自分自身をロールバックすることはできません。


「だから?私は、標準版にAUDITコマンドを使用することができます...しかし、その後 コンサルタントが、私は、企業 ライセンスを支払うことなくこれを使用することができないことを、私に言った?」

コンサルタントとして自分自身と言えば、私はそれらの人が彼らが何を話しているかを常に知っているとは言えません。

それでは、明確にしましょう:

  • AUDITコマンドは、Oracle SQLの一部です。 Standard Editionでも使用できます。 11g以降、デフォルトで有効になっています。一般的な活動を監査します。 Find out more
  • ファイングレイン監査は、Enterprise Editionを使用している場合にのみ使用可能なPL/SQLパッケージです。これにより、ユーザー活動を非常に低いレベルで監査することができます。 Find out more
+0

11g標準を使用しているため、監査機能はサポートされていません。 :/ – JMW

+0

標準版ではAUDITコマンドを使用できますか?私はすでに2つのテーブルのために働いていた。しかし、コンサルタントが私に言った、私はエンタープライズライセンスを支払うことなくそれを使うことはできないのですか? – JMW

+0

ありがとうsoooo much :-D – JMW

0

QUICKでは、EASY SQLのログ、try my monitoring answer here。長期間のロギングではなく、小さなウィンドウで何が起こっているのかを確認するのに最適です。 :-)