1. 事前準備
エクスポートしたCSVファイルを保存するオブジェクト・ストレージ・バケットを作成します。
また、今回の検証ではバケットへのアクセスにリソース・プリンシパルを使用しますので、Autonomous Databaseインスタンスを含む動的グループ、オブジェクト・ストレージ・バケットへのアクセスを許可するポリシーを正しく設定し、 Autonomous Databaseのリソース・プリンシパルを有効にしておきます。
2.パイプラインの作成と設定
SQLcliで、adminユーザとしてAutonomous Databaseに接続します。
[opc@tools ~]$ sql admin/Demo#1Demo#1@adb
SQLcl: Release 23.3 Production on Thu Dec 14 09:09:28 2023
Copyright (c) 1982, 2023, Oracle. All rights reserved.
Last Successful login time: Thu Dec 14 2023 09:09:35 +00:00
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.21.0.1.0
SQL>
unified_audit_trailビューの内容をCSV形式でエクスポートするパイプライン「EXPORT_UNIFIED_AUDIT_TRAIL_CSV」を作成します。
SQL> BEGIN
DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
pipeline_name => 'EXPORT_UNIFIED_AUDIT_TRAIL_CSV',
pipeline_type => 'EXPORT',
description => 'Export unified_audit_trail to object store in CSV format'
);
END;
/
PL/SQL procedure successfully completed.
SQL>
パイプライン「EXPORT_UNIFIED_AUDIT_TRAIL_CSV」の属性を設定します。
こちらの例では、event_timestamp_utc列をタイムスタンプ・キーとして、unified_audit_trailビューを10分間隔で指定したバケットにCSV形式でエクスポートする設定を行っています。
SQL> BEGIN
DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name => 'EXPORT_UNIFIED_AUDIT_TRAIL_CSV',
attributes => JSON_OBJECT('credential_name' VALUE 'OCI$RESOURCE_PRINCIPAL',
'location' VALUE 'https://objectstorage.ap-tokyo-1.oraclecloud.com/n/namespace/b/unified_audit_trail/o/',
'table_name' VALUE 'unified_audit_trail',
'key_column' VALUE 'event_timestamp_utc',
'format' VALUE '{"type": "csv", "quote":"\""}',
'priority' VALUE 'MEDIUM',
'interval' VALUE '10')
);
END;
/
PL/SQL procedure successfully completed.
SQL>
unified_audit_trailのレコード数を確認します。
SQL> SELECT COUNT(*) FROM unified_audit_trail;
COUNT(*)
___________
64
SQL>
unified_audit_trailには64件の監査レコードがあることがわかりました。
バケットの内容を確認します。
この時点では、パイプラインを開始していないので、まだファイルはありません。
3. パイプラインの開始と動作確認
準備が整ったので、パイプラインEXPORT_UNIFIED_AUDIT_TRAIL_CSVを開始します。
SQL> BEGIN
DBMS_CLOUD_PIPELINE.START_PIPELINE(
pipeline_name => 'EXPORT_UNIFIED_AUDIT_TRAIL_CSV'
);
END;
/
PL/SQL procedure successfully completed.
SQL>
バケットの内容を確認します。
CSVファイルが作成されていることが確認できました。
作成されたCSVファイルをダウンロードして、内容を確認してみます。
データが64行含まれていることがわかりました。
unified_audit_trail内の64件の監査レコードが、CSVファイルとしてエクスポートされたことが確認できました。
監査レコードを増やすため、別のセッションから正しくないパスワードでadminユーザへのログインを複数回試みます。
(Autonomous Databaseでは、デフォルトでユーザのログイン失敗の監査が有効になっています。)
unified_audit_trailのレコード数を確認します。
SQL> SELECT COUNT(*) FROM unified_audit_trail;
COUNT(*)
___________
66
SQL>
unified_audit_trailのレコード数が2件増えていることがわかりました。
10分(パイプラインの実行間隔)ほど待って、バケットの中身を確認してみます。
CSVファイルが追加されていることが確認できました。
追加されたCSVファイルをダウンロードして、内容を確認してみます。
データが2行含まれていることがわかりました。
unified_audit_trailに追加された2件のレコードがCSVファイルとしてエクスポートされたことが確認できました。