用途
NOAUDIT文を使用すると、AUDIT文によって有効になった監査操作を停止できます。
NOAUDIT文は先に発行したAUDIT文と同じ構文である必要があります。また、NOAUDIT文は、その特定のAUDIT文のみを無効にします。たとえば、1番目のAUDIT文Aは特定のユーザーに対する監査を有効にするものとします。2番目の文Bが、すべてのユーザーに対して監査を有効にします。すべてのユーザーに対して監査を無効にするNOAUDIT文Cは、文Bを無効にします。ただし、文Aは無効にされず、文Aが指定したユーザーの監査は継続されます。
前提条件
SQL文の監査を停止するには、AUDIT SYSTEMシステム権限が必要です。
スキーマ・オブジェクトの監査を停止するには、監査を停止するオブジェクトの所有者である必要があります。そうでない場合は、AUDIT ANYシステム権限が必要です。また、監査の対象として選択するオブジェクトがディレクトリの場合、自分が作成したディレクトリであっても、AUDIT ANYシステム権限が必要です。
構文
noaudit::=

(audit_operation_clause::=、auditing_by_clause::=、audit_schema_object_clause::=)




セマンティクス
audit_operation_clause
audit_operation_clauseを使用すると、特定のSQL文の監査を停止できます。
statement_option sql_statement_shortcutでは、監査を停止するSQL文のショートカットを指定します。SQL文のショートカットおよびショートカットによって監査されるSQL文の詳細は、表13-1および表13-2を参照してください。
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句で指定したオブジェクトへの監査を停止する操作の種類を指定します。これらのオプションのリストは、表13-3を参照してください。
ALL ALLをショートカットに指定することは、オブジェクト・タイプに適用できるSQL操作をすべて指定することと同じです。
auditing_on_clause auditing_on_clauseを使用すると、監査を停止する特定のスキーマ・オブジェクトを指定できます。
オブジェクトには、表、ビュー、順序、ストアド・プロシージャ、ファンクション、パッケージ、マテリアライズド・ビューまたはライブラリのオブジェクト名を指定します。objectをschemaで修飾しなかった場合、そのオブジェクトは自分のスキーマ内にあるとみなされます。特定のスキーマ・オブジェクトの監査については、「AUDIT」を参照してください。
DIRECTORYでは、監査を停止するディレクトリ名を指定できます。
DEFAULTを指定して、オブジェクトを作成した後に、特定のオブジェクト・オプションをデフォルト・オブジェクト・オプションとして削除します。
NETWORK この句を使用すると、データベース・リンクの使用とログインの監査を停止できます。
WHENEVER [NOT] SUCCESSFUL WHENEVER SUCCESSFULを指定すると、正常に実行されたスキーマ・オブジェクトに対するSQL文および操作の監査のみを停止できます。
WHENEVER NOT SUCCESSFULを指定すると、Oracle Databaseエラーとなった文および操作の監査のみが停止されます。
この句を指定しない場合、正常に実行されたかどうかにかかわらず、すべての文および操作の監査が停止されます。
例
ロールに関連する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エラーが発生した問合せの監査は継続されます。