5

Oracle 11g でグローバル トリガーを作成したいと考えています。これは、約 100 個のテーブルの監査に使用できます。複数のテーブルで 1 つのトリガーを起動できます。はいの場合、どうすればこれを達成できますか?

4

1 に答える 1

8

Oracle 11g で、約 100 個のテーブルの監査に使用できるグローバル トリガーを作成したい

車輪を再発明したい理由はありますか? オラクルの組み込み監査機能を利用してみませんか?

Oracle Baseは、監査を開始する方法に関するいくつかの基本的な情報を提供します。

監査は、AUDIT_TRAIL 静的パラメーターを設定することで有効にできます。このパラメーターには次の許容値があります。

AUDIT_TRAIL = { none | os | db | db,extended | xml | xml,extended }

次のリストでは、各設定について説明します。

none or false - Auditing is disabled.
db or true - Auditing is enabled, with all audit records stored in the database audit trial (SYS.AUD$).
db,extended - As db, but the SQL_BIND and SQL_TEXT columns are also populated.
xml- Auditing is enabled, with all audit records stored as XML format OS files.
xml,extended - As xml, but the SQL_BIND and SQL_TEXT columns are also populated.
os- Auditing is enabled, with all audit records directed to the operating system's audit trail.

データベース監査証跡への監査を有効にするには、データベースへの監査を有効にします

SQL> ALTER SYSTEM SET audit_trail=db,extended SCOPE=SPFILE;

System altered.

データベースをシャットダウンして再起動します

SQL> SHUTDOWN
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP
ORACLE instance started.

、、、をユーザー別に監査するSELECTSINSERTSは、次のようにします。UPDATESDELETEScube

CONNECT sys/password AS SYSDBA

AUDIT ALL BY cube BY ACCESS;
AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE, DELETE TABLE BY cube BY ACCESS;

監査ログは、クエリを実行して表示できますDBA_AUDIT_TRAIL

参考文献:

于 2012-01-19T07:01:28.207 に答える