NOAUDIT (従来型監査)
関連項目:
23cでは、従来の監査はサポートされなくなりました。以前のバージョンから移行されたデータベースには、従来の監査ポリシーが構成されている場合があります。これらのポリシーは統合監査に移行する必要があります。移行時には、NOAUDIT
文を使用して従来の監査ポリシーを削除できます。
この項では、従来型監査用のNOAUDIT
文について説明します。これは、Oracle Database 12cより前のリリースで使用されているものと同じ監査機能です。
Oracle Database 12cから、高度な監査機能を完備した統合監査が導入されました。下位互換性を確保するために、従来型監査も引き続きサポートされています。ただし、既存の監査設定から新しい統合監査ポリシー構文への移行を計画することをお薦めします。新しい監査要件については、新しい統合監査を使用してください。従来型監査は、将来のメジャー・リリースでサポート対象外になる可能性があります。
関連項目:
統合監査用のNOAUDIT
文については、「NOAUDIT (統合監査)」を参照してください。
目的
NOAUDIT
文を使用すると、AUDIT
文によって有効になった監査操作を停止できます。
NOAUDIT
文は先に発行したAUDIT
文と同じ構文である必要があります。また、NOAUDIT文は、その特定のAUDIT文のみを無効にします。たとえば、1番目のAUDIT
文Aは特定のユーザーに対する監査を有効にするものとします。2番目の文Bが、すべてのユーザーに対して監査を有効にします。すべてのユーザーに対して監査を無効にするNOAUDIT
文Cは、文Bを無効にします。ただし、文Aは無効にされず、文Aが指定したユーザーの監査は継続されます。
関連項目:
前提条件
SQL文の監査を停止するには、AUDIT
SYSTEM
システム権限が必要です。
スキーマ・オブジェクトの監査を停止するには、監査を停止するオブジェクトの所有者である必要があります。そうでない場合は、AUDIT
ANY
システム権限が必要です。また、監査の対象として選択するオブジェクトがディレクトリの場合、自分が作成したディレクトリであっても、AUDIT
ANY
システム権限が必要です。
CONTAINER
句を指定する場合は、マルチテナント・コンテナ・データベース(CDB)に接続している必要があります。CONTAINER
=
ALL
を指定する場合は、現在のコンテナがルートである必要があります。また、共通に付与されているAUDIT
SYSTEM
権限(SQL文の発行の監査を停止する場合)または共通に付与されているAUDIT
ANY
権限(スキーマ・オブジェクトに対する操作の監査を停止する場合)が必要です。CONTAINER
=
CURRENT
を指定する場合は、現在のコンテナがプラガブル・データベース(PDB)である必要があります。また、ローカルに付与されているAUDIT
SYSTEM
権限(SQL文の発行の監査を停止する場合)またはローカルに付与されているAUDIT
ANY
権限(スキーマ・オブジェクトに対する操作の監査を停止する場合)が必要です。
構文
audit_operation_clause::=
auditing_by_clause::=
audit_schema_object_clause::=
auditing_on_clause::=
セマンティクス
audit_operation_clause
audit_operation_clause
を使用すると、特定のSQL文の監査を停止できます。
statement_option
sql_statement_shortcut
には、監査を停止するSQL文のショートカットを指定します。SQL文のショートカットおよび監査対象のSQL文のリストは、**INTERNAL XREF ERROR**および**INTERNAL XREF ERROR**を参照してください。
ALL
ALL
を指定すると、AUDIT
ALL
...
文の発行によって現在監査されているすべての文オプションの監査を停止できます。この句を使用して、発行済のAUDIT
ALL
STATEMENTS
...
文を元に戻すことはできません。
ALL STATEMENTS
ALL
STATEMENTS
を指定すると、発行済のAUDIT
ALL
STATEMENTS
...
文を元に戻すことができます。この句を使用して、発行済のAUDIT
ALL
...
文を元に戻すことはできません。
system_privilege
system_privilege
では、監査を停止するシステム権限を指定します。システム権限および各システム権限によって許可される文については、表18-1を参照してください。
ALL PRIVILEGES
ALL
PRIVILEGES
を指定すると、現在監査されているすべてのシステム権限の監査を停止できます。
auditing_by_clause
指定したユーザーのそれ以降のセッションで発行されるSQL文の監査のみを停止する場合は、auditing_by_clause
を使用します。この句を指定しない場合、すべてのユーザー文の監査が停止されます。ただし、「WHENEVER
SUCCESSFUL
」で説明する状況は除きます。
audit_schema_object_clause
audit_schema_object_clause
を使用すると、特定のデータベース・オブジェクトの監査を停止できます。
sql_operation
sql_operation
の場合、ON
句で指定したオブジェクトへの監査を停止する操作の種類を指定します。これらのオプションのリストは、**INTERNAL XREF ERROR**を参照してください。
ALL
ALL
をショートカットに指定することは、オブジェクト・タイプに適用できるSQL操作をすべて指定することと同じです。
auditing_on_clause
auditing_on_clause
を使用すると、監査を停止する特定のスキーマ・オブジェクトを指定できます。
-
オブジェクトには、表、ビュー、順序、ストアド・プロシージャ、ファンクション、パッケージ、マテリアライズド・ビューまたはライブラリのオブジェクト名を指定します。
object
をschema
で修飾しなかった場合、そのオブジェクトは自分のスキーマ内にあるとみなされます。特定のスキーマ・オブジェクトの監査については、 「AUDIT (従来型監査)」を参照してください。 -
DIRECTORY
では、監査を停止するディレクトリ名を指定できます。 -
SQL
TRANSLATION
PROFILE
句では、監査を停止するSQL翻訳プロファイルを指定できます。 -
DEFAULT
を指定して、オブジェクトを作成した後に、特定のオブジェクト・オプションをデフォルト・オブジェクト・オプションとして削除します。
NETWORK
この句を使用すると、データベース・リンクの使用とログインの監査を停止できます。
DIRECT_PATH LOAD
この句を使用すると、SQL*Loaderのダイレクト・パス・ロードの監査を停止できます。
WHENEVER [NOT] SUCCESSFUL
WHENEVER
SUCCESSFUL
を指定すると、正常に実行されたスキーマ・オブジェクトに対するSQL文および操作の監査のみを停止できます。
WHENEVER
NOT
SUCCESSFUL
を指定すると、Oracle DatabaseエラーとなったSQL文および操作の監査のみが停止されます。
この句を指定しない場合、正常に実行されたかどうかにかかわらず、すべての文および操作の監査が停止されます。
CONTAINER句
CONTAINER
句を使用すると、NOAUDIT
コマンドの有効範囲を指定できます。
-
CONTAINER
=
CURRENT
を指定すると、接続先のPDBで監査を停止できます。auditing_by_clause
を指定する場合、user
は、共通ユーザーまたは現在のPDBのローカル・ユーザーにする必要があります。auditing_on_clause
を指定する場合、オブジェクトは現在のPDBのローカル・オブジェクトにする必要があります。 -
CONTAINER
=
ALL
を指定すると、CDB全体で監査を停止できます。auditing_by_clause
を指定する場合、user
は、共通ユーザーにする必要があります。auditing_by_clause
を指定しないと、各PDBのすべての共通ユーザーとすべてのローカル・ユーザーに対する監査が停止されます。auditing_on_clause
を指定する場合、オブジェクトは共通オブジェクトにする必要があります。
この句を省略すると、CONTAINER
=
CURRENT
がデフォルトになります。
例
ロールに関連するSQL文の監査の停止: 例
ロールを作成または削除するすべてのSQL文の監視を選択していた場合は、次の文を発行して、このような文の監査を停止できます。
NOAUDIT ROLE;
特定のユーザーが所有するオブジェクトに対する更新または問合せの監査の停止: 例
ユーザーhr
とoe
によって発行された、表に対する問合せまたは更新を行う任意の文の監査を選択していた場合は、次の文を発行して、hr
による問合せの監視を停止できます。
NOAUDIT SELECT TABLE BY hr;
この結果、ユーザーhr
の問合せの監査のみが停止されます。oe
の問合せと更新、およびhr
の更新の監査は継続されます。
特定のオブジェクト権限によって許可された文の監査の停止: 例
DELETE
ANY
TABLE
システム権限によって許可されたすべての文の監査を停止するには、次の文を発行します。
NOAUDIT DELETE ANY TABLE;
特定のオブジェクトに対する問合せの監査の停止: 例
スキーマhr
内のemployees
表に問い合せるすべてのSQL文の監査を選択していた場合は、次の文を発行して、この問合せの監査を停止できます。
NOAUDIT SELECT ON hr.employees;
正常に実行される問合せの監査の停止: 例
次の文を発行して、正常に実行される問合せの監査を停止できます。
NOAUDIT SELECT ON hr.employees WHENEVER SUCCESSFUL;
この文は、正常に終了した問合せの監査のみ停止します。Oracle Databaseエラーが発生した問合せの監査は継続されます。