- 締切済み
AUDIT TABLE
AUDIT TABLEは特定のテーブルに対する監査ではなく、全部のテーブルに対する特定の処理(DDL)を監査するものだという記述を見ました。 しかし、別のところで AUDIT TABLE ON <テーブル名> というSQL文の例を見ました。 これだと特定のテーブルに対する監査になると思うのですが、このSQLはそういう解釈で正しいのでしょうか? また、特定のテーブルに対するすべての操作の監査をするには AUDIT SELECT,INSERT,UPDATE,DELETE,LOCK ON <Schema>.<Object> BY ACCESS; だけではDROPやCREATEが監査できないので不十分でAUDIT TABLEと組み合わせないと無理ということになるのでしょうか? 出展が明記できてなくて申し訳ありません。個人的なblog等ではないので執筆者に問い合わせるなどはできないようです。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- muyoshid
- ベストアンサー率72% (230/318)
こんにちわ。 > 出展が明記できてなくて申し訳ありません。個人的なblog等ではないので執筆者に > 問い合わせるなどはできないようです。 迷ったらマニュアルを見るようにすると良いと思います。 Version が明記されていないので、11.2 のマニュアルを見てみました。 Audit 文 http://docs.oracle.com/cd/E16338_01/server.112/b56299/statements_4007.htm#i2059073 これによると、最初の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 等は 監査されません。