最新バージョンのデータベース(9i以降)を使用していて、Enterprise Editionライセンスをお持ちの場合は、Fine-GrainingAuditingを使用できます。これにより、定義されたポリシーを通じて、非常に低いレベルの粒度でユーザークエリを監査できます。
SQLテキストをキャプチャして変数をバインドするには、FGAポリシーを追加するときにAUDIT_TRAILパラメータを適切に設定する必要があります。詳細をご覧ください。
「私は11g標準を使用しているため、監査機能はサポートされていません。」
ではない正確に。 AUDITコマンドは標準のOracleビルドの一部ですが、特定のユーザーが特定のテーブルに対してSELECTを発行した場合にのみキャプチャできます。しかし、はい、正確に何を見つけるために 選択しているのはEnterpriseEditionライセンスが必要です。
また、ON SELECTトリガーがないため、自分でロールすることはできません。
「では、Standard EditionでAUDITコマンドを使用できますか?...しかし、コンサルタントから、エンタープライズライセンスを支払わないと使用できないと言われましたか?」
私自身コンサルタントとして言えば、彼らが何について話しているのかを常に知っているとは限らないと言わざるを得ません。
明確にしましょう:
- AUDITコマンドはOracleSQLの一部です。 StandardEditionで使用できます。実際、11g以降、デフォルトで有効になっています。一般的なアクティビティを監査します。詳細をご覧ください。
- FineGrainedAuditingはPL/SQLパッケージであり、EnterpriseEditionを使用している場合にのみ使用できます。これにより、非常に低いレベルでユーザーアクティビティを監査できます。詳細をご覧ください。