sql >> データベース >  >> RDS >> Oracle

複数のテーブルをリッスンするグローバル トリガーの作成

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

    Oracle ベース 監査を開始する方法に関する基本的な情報を提供します:

    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.
    

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

    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.
    

    SELECTS を監査します 、 INSERTSUPDATESDELETES ユーザー cube によって これを行います:

    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 をクエリすることで表示できます

    さらに読む:




    1. PostgresにLATIN1ではなくUTF8エンコーディングでインストールするように強制しますか?

    2. MySQL Insertステートメントにwhere句を追加するにはどうすればよいですか?

    3. テーブルレベルのバックアップ

    4. 同じ列で複数のテーブルを完全結合する