アプリ版:「スタンプのみでお礼する」機能のリリースについて

AUDIT TABLEは特定のテーブルに対する監査ではなく、全部のテーブルに対する特定の処理(DDL)を監査するものだという記述を見ました。

しかし、別のところで
AUDIT TABLE ON <テーブル名>
というSQL文の例を見ました。

これだと特定のテーブルに対する監査になると思うのですが、このSQLはそういう解釈で正しいのでしょうか?

また、特定のテーブルに対するすべての操作の監査をするには
AUDIT SELECT,INSERT,UPDATE,DELETE,LOCK ON <Schema>.<Object> BY ACCESS;
だけではDROPやCREATEが監査できないので不十分でAUDIT TABLEと組み合わせないと無理ということになるのでしょうか?

出展が明記できてなくて申し訳ありません。個人的なblog等ではないので執筆者に問い合わせるなどはできないようです。

A 回答 (1件)

こんにちわ。



> 出展が明記できてなくて申し訳ありません。個人的なblog等ではないので執筆者に
> 問い合わせるなどはできないようです。
迷ったらマニュアルを見るようにすると良いと思います。
Version が明記されていないので、11.2 のマニュアルを見てみました。

Audit 文
http://docs.oracle.com/cd/E16338_01/server.112/b …

これによると、最初のAudit table 文は「CREATE TABLE, DROP TABLE, TRUNCATE TABLE」
のSYSTEM 権限監査の設定のようです。

次に、「AUDIT TABLE ON <テーブル名>」と言う構文は無いようです。

> また、特定のテーブルに対するすべての操作の監査をするには
> AUDIT SELECT,INSERT,UPDATE,DELETE,LOCK ON <Schema>.<Object> BY ACCESS;
> だけではDROPやCREATEが監査できないので不十分でAUDIT TABLEと組み合わせないと
> 無理ということになるのでしょうか?
この場合、OBJECT 監査なのでAudit all on <Schema>.<Object> ~
で監査設定ができますが、SYSTEM 権限監査でやっているCreate, Drop, Truncate 等は
監査されません。

参考URL:http://docs.oracle.com/cd/E16338_01/server.112/b …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!