Oracle統合監査ログを確認する中で、以下のようなお悩みはありませんか。
・必要なログを探すのに時間がかかる
・ログを見ても、どこに何が書かれているのか分かりにくい
本記事では、Oracle統合監査ログを効率よく確認する方法として、Logstorage(ログストレージ)をご紹介します。
Oracle統合監査ログ
Oracle統合監査ログには「いつ」「誰が」「どのような認証方式で」「何のプログラムを使って操作したか」など、さまざまな情報が記録されています。以下は「Windowsサービスによるデータベースオープン操作」という情報に関する生ログ(サンプル)ですが、ご覧のとおり内容を読み解くのは容易ではありません。
OracleAudit: action=~~Standard~~ logType=~~RAW~~ logKey=~~xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx~~ logIndex=~~0000000001~~ version=~~19c~~ sid=~~orcl~~ db=~~CDB$ROOT~~ AUDIT_TYPE=~~Standard~~ SESSIONID=~~0~~ PROXY_SESSIONID=~~0~~ OS_USERNAME=~~NT SERVICE\OracleServiceORCL~~ USERHOST=~~WORKGROUP\EC2AMAZ-xxxxxxx~~ TERMINAL=~~EC2sample-sample~~ INSTANCE_ID=~~1~~ DBID=~~1234567891~~ AUTHENTICATION_TYPE=~~(TYPE=(OS));(CLIENT ADDRESS=((PROTOCOL=beq)(HOST=10.100.x.xxx)));~~ DBUSERNAME=~~SYS~~ DBPROXY_USERNAME=~~~~ EXTERNAL_USERID=~~~~ GLOBAL_USERID=~~~~ CLIENT_PROGRAM_NAME=~~oradim.exe~~ DBLINK_INFO=~~~~ XS_USER_NAME=~~~~ XS_SESSIONID=~~~~ ENTRY_ID=~~3~~ STATEMENT_ID=~~8~~ EVENT_TIMESTAMP=~~20xx-04-29 10:37:23.596~~ EVENT_TIMESTAMP_UTC=~~20xx-04-29 01:37:23.596~~ ACTION_NAME=~~ALTER DATABASE~~ RETURN_CODE=~~0~~ OS_PROCESS=~~3972:1100~~ TRANSACTION_ID=~~0000000000000000~~ SCN=~~2584217~~ EXECUTION_ID=~~~~ OBJECT_SCHEMA=~~~~ OBJECT_NAME=~~~~ SQL_TEXT=~~alter database open~~ SQL_BINDS=~~~~ APPLICATION_CONTEXTS=~~~~ CLIENT_IDENTIFIER=~~~~ NEW_SCHEMA=~~~~ NEW_NAME=~~~~ OBJECT_EDITION=~~~~ SYSTEM_PRIVILEGE_USED=~~ALTER DATABASE~~ SYSTEM_PRIVILEGE=~~~~ AUDIT_OPTION=~~~~ OBJECT_PRIVILEGES=~~~~ ROLE=~~~~ TARGET_USER=~~~~ EXCLUDED_USER=~~~~ EXCLUDED_SCHEMA=~~~~ EXCLUDED_OBJECT=~~~~ CURRENT_USER=~~SYS~~ ADDITIONAL_INFO=~~~~ UNIFIED_AUDIT_POLICIES=~~ORA_SECURECONFIG~~ FGA_POLICY_NAME=~~~~ XS_INACTIVITY_TIMEOUT=~~~~ XS_ENTITY_TYPE=~~~~ XS_TARGET_PRINCIPAL_NAME=~~~~ XS_PROXY_USER_NAME=~~~~ XS_DATASEC_POLICY_NAME=~~~~ XS_SCHEMA_NAME=~~~~ XS_CALLBACK_EVENT_TYPE=~~~~ XS_PACKAGE_NAME=~~~~ XS_PROCEDURE_NAME=~~~~ XS_ENABLED_ROLE=~~~~ XS_COOKIE=~~~~ XS_NS_NAME=~~~~ XS_NS_ATTRIBUTE=~~~~ XS_NS_ATTRIBUTE_OLD_VAL=~~~~ XS_NS_ATTRIBUTE_NEW_VAL=~~~~ DV_ACTION_CODE=~~~~ DV_ACTION_NAME=~~~~ DV_EXTENDED_ACTION_CODE=~~~~ DV_GRANTEE=~~~~ DV_RETURN_CODE=~~~~ DV_ACTION_OBJECT_NAME=~~~~ DV_RULE_SET_NAME=~~~~ DV_COMMENT=~~~~ DV_FACTOR_CONTEXT=~~~~ DV_OBJECT_STATUS=~~~~ OLS_POLICY_NAME=~~~~ OLS_GRANTEE=~~~~ OLS_MAX_READ_LABEL=~~~~ OLS_MAX_WRITE_LABEL=~~~~ OLS_MIN_WRITE_LABEL=~~~~ OLS_PRIVILEGES_GRANTED=~~~~ OLS_PROGRAM_UNIT_NAME=~~~~ OLS_PRIVILEGES_USED=~~~~ OLS_STRING_LABEL=~~~~ OLS_LABEL_COMPONENT_TYPE=~~~~ OLS_LABEL_COMPONENT_NAME=~~~~ OLS_PARENT_GROUP_NAME=~~~~ OLS_OLD_VALUE=~~~~ OLS_NEW_VALUE=~~~~ RMAN_SESSION_RECID=~~~~ RMAN_SESSION_STAMP=~~~~ RMAN_OPERATION=~~~~ RMAN_OBJECT_TYPE=~~~~ RMAN_DEVICE_TYPE=~~~~ DP_TEXT_PARAMETERS1=~~~~ DP_BOOLEAN_PARAMETERS1=~~~~ DIRECT_PATH_NUM_COLUMNS_LOADED=~~~~ RLS_INFO=~~~~ KSACL_USER_NAME=~~~~ KSACL_SERVICE_NAME=~~~~ KSACL_SOURCE_LOCATION=~~~~こうしたログが数千〜数万件も出力される環境では、必要な情報を探し出し、内容を正確に把握するまでに膨大な時間と労力がかかります。この課題をLogstorageが解決します。
Oracle統合監査ログを効率的に確認する
Logstorageにログを取り込んで検索すると、「タイムスタンプ・ACTION_NAME・AUDIT_TYPE」などが整理された状態で表示されます。これにより、「いつ、どのデータベースで、何をしたか」などが一目で分かります。

ログの絞り込みも簡単です。たとえばアクション名カラムにある「ALTER DATABASE」というテキストをクリックすると、該当するログだけに絞り込めます。

また、ダッシュボードを活用することで、さまざまな観点からログを分析することも可能です。
他にも、Logstorageは日々のログ管理の負担を減らす機能を備えています。
✓ ログを自動で収集できるため、手動取得の手間を減らせる
✓ ログを最大1/10に圧縮して保管できるため、ストレージコストを削減できる
✓ ログから異常を検知してアラートで知らせるため、問題にすばやく気づける
✓ レポートを自動で作成・送付できるため、定期報告の負担を軽減できる
✓ ログを最大1/10に圧縮して保管できるため、ストレージコストを削減できる
✓ ログから異常を検知してアラートで知らせるため、問題にすばやく気づける
✓ レポートを自動で作成・送付できるため、定期報告の負担を軽減できる
Oracleのログ管理について課題をお持ちの場合は、以下ページをご確認ください。
