用途
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エラーが発生した問合せの監査は継続されます。