Oracle Database ログの活用

  • コラム
活用事例

Oracle Database ログの活用

Logstorageが直接、Oracle Database から監査ログを収集する場合、Logstorage SBTプログラムを Oracle Database サーバに導入します。
Logstorage SBTはOracleの監査ログをLogstorageに自動転送するプログラムで、WindowsタスクやUNIXのcronに設定して1時間~1日毎に実行させます。
常駐型のエージェントではありませんので、Oracle Databaseサーバに与える負荷は殆どありません。
Oracle Databaseから監査ログを取得する場合、「AUDIT_TRAIL」の設定を行います。(AUDIT_TRAILの詳細については、Oracle Databaseのマニュアルをご覧下さい)
「AUDIT_TRAIL」には下記5つの設定があり(Oracle 10g R2以降)、それぞれログの出力のされ方や、出力項目が異なります。

・OS
・XML
・XML, extended
・DB
・DB, extended

上記のうち、「DB」「DB, extended」は文字通りOracle Database上(SYS.AUD$表)にログを記録するもので、Oracle Database のパフォーマンス低下が生じやすく、推奨されません。それに対し、「OS」「XML」「XML, extended」はテキストログや、Windowsの場合はイベントログに出力されるため、相対的にOracle Databaseのパフォーマンス低下が生じにくいとされており、Logstorage で Oracle Database の監査ログを取得する際は、こちらを指定します。

ログ出力項目

下表が「OS」「XML」「XML,extended」毎のログの出力項目です。

Oracle監査ログ

項目AUDIT_TRAIL設定
OSXMLXML,extended
誰がDBユーザ名/OSユーザ名
いつタイムスタンプ
どこでホスト名/IPアドレス
何をアクセス対象のオブジェクト名
どうやってアクション
SQL××
どうなったアクションの成功/失敗

Oracle監査ログの項目 (Oracle 10g R2以降)

項目名記録される内容
Session_IdセッションID
StatementIdユーザーが実行するSQL文に割り当てられるID
EntryIdセッションの各監査証跡エントリの数値ID
Extended_Timestampタイムスタンプ(UTC,協定世界時)
DB_UserDBユーザ名
OS_UserOSユーザ名
Userhostクライアントのホスト名
OS_ProcessOracleプロセスのオペレーティング・システムのプロセス識別子
Terminalユーザの端末の識別子
Instance_Numberインスタンス番号
Actionユーザが実行したアクション
TransactionIdオブジェクトがアクセスまたは変更された際のトランザクションID
Returncodeアクションの成功/失敗
Comment_Text監査レコードのコメント(認証時などは、認証方式などが出力される)
Priv_Used操作の実行に使用されたシステム権限
Sql_Bindバインド変数 (XML,extended 指定時のみ)
Sql_TextSQL文 (XML,extended 指定時のみ)

画面例


対応製品

・Oracle Database 10g R2
・Oracle Database 11g
・Oracle Database 11g R2
・Oracle Database 12c R1
・Oracle Database 12c R2
・Oracle Database 18c
・Oracle Database 19c
※AUDIT_TRAIL設定は「XML」「XML, extended」のいずれかをお客様に設定いただきます。

データベース監査ログ取得ツールとの連携

Logstorageは、多くのデータベース監査ログ取得ツールとも連携しています。
Logstorageで直接監査ログを取得するのではなく、これらのツールを併用する事により、様々な種類のデータベース(Oracle, SQL Server, Sybase, MySQL その他)の監査ログの取得・設定が容易になる他、ツールの方式によっては、データベースサーバに対する影響を極めて小さくしてログを収集する事が可能になります。
各製品の詳細については、下記製品名のリンク先のページより、各メーカー様・販売店様にお問合せ下さい。

SSDB監査
PISO

TOP