Autonomous Databaseへのデータのエクスポート
設定の前提条件:
Autonomous Databaseにエクスポートされたデータのロード・パイプラインを設定および実行する前に、次の前提条件が満たされていることを確認してください:
- データベース・ユーザー権限の設定
Oracle Database Actions - SQL Consoleでロード・パイプライン・スクリプトを起動するユーザーがOCI管理者ではない場合、管理者は必要な実行権限を付与する必要があります。
GRANT EXECUTE ON DBMS_CLOUD_PIPELINE TO <user-name>; GRANT READ,WRITE ON DIRECTORY DATA_PUMP_DIR TO <user-name>; GRANT CREATE JOB TO <user-name>; - リソース・プリンシパルの有効化
Oracle Database Actions - SQLコンソール内で、管理者として次のコマンドを実行してリソース・プリンシパルを有効にします:
EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL();管理者以外のユーザーがパイプライン・スクリプトを管理者として実行する場合は、次のコマンドを実行して、そのユーザーのリソース・プリンシパルを有効にします。
EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(username => '<user-name>'); - ターゲットAutonomous Databaseの動的グループの作成
次の一致ルールを使用して動的グループを作成します:
ALL {resource.type = 'autonomousdatabase', resource.id = '<adb-ocid>'}ここで、
<adb-ocid>は、データがロードされるAutonomous DatabaseのOCIDです。 - オブジェクト・ストレージ・バケットへのリソース・プリンシパル・ポリシー・アクセス権の付与
ポリシーを作成して、Autonomous Databaseのリソース・プリンシパルにターゲット・オブジェクト・ストレージ・バケット内のファイルへのアクセス権を付与します。「ポリシー」フィールドに次のポリシーを作成します:
ALLOW DYNAMIC-GROUP <dynamic-group-name> TO READ objects IN compartment <compartment-name> where target.bucket.name='<export-bucket-name>'ここで:<export-bucket-name>は、JMSフリート・データがエクスポートされるオブジェクト・ストレージの名前です<compartment-name>は、バケットが属するコンパートメントの名前です
- 毎日実行されるスケジュール済ジョブを作成して有効にし、すべての表の重複行または古い行をチェックして削除します。
- 行が、リージョン、compartment_ocid、fleet_ocid、ホスト名、java_version、java_vendor、java_distribution、install_path、application_nameおよびapplication_install_pathの列で同じ値を共有している場合、行は重複していると見なされます。重複行が見つかった場合、最新のmanaged_instance_last_seenを持つ1行のみが保持され、残りの重複行は削除されます。
- managed_instance_last_seenが90日を経過している行は期限切れとみなされ、これらの行も削除されます。
ロード・パイプライン・スクリプトの取得
- 「フリート」ダッシュボードで、エクスポートされたデータをAutonomous Databaseにロードする必要があるフリートを選択します。
- 「データ・エクスポート設定」に移動して、Autonomous Databaseロード・パイプライン・スクリプトをダウンロードします。
パイプライン・スクリプトの実行
スクリプトの内容をコピーし、Oracle Database Actions - SQL Consoleで実行します。
ロード・パイプライン・スクリプトは、次の4つの主なタスクを実行します。
- 3つのエクスポート・リソースに対応する3つの表を作成します。表がすでに存在する場合は、新しい表は作成されません。
- 管理対象インスタンス
- 管理対象インスタンスのJava Runtime
- マネージド・インスタンス、Javaランタイム、アプリケーション
- 新しいCSVファイルのターゲット・オブジェクト・ストレージ・バケットを定期的にポーリングするために、3つのパイプラインを作成および構成します。新しいファイルが検出されると、それらのファイルのデータが正しい表にロードされます。パイプラインがすでに存在する場合、新しいパイプラインは作成されません。
- 新しく作成したパイプラインを起動します。
- 冗長エクスポート・データをチェックして削除するために毎週実行されるスケジュール済ジョブを作成および有効化します。
既存のパイプラインの監視と管理
すべてのアクティブなパイプライン・ジョブをモニターするには、「Oracle Database Actions」および「スケジューリング」に移動します。
Oracle Database Actions - SQL Console内で問合せを実行することもできます。
SELECT * FROM USER_CLOUD_PIPELINES WHERE PIPELINE_NAME LIKE 'JMS%'実行された各ジョブの詳細は、ユーザー・クラウド名で識別される$STATUS表および$LOG表を参照してください。
パイプラインを起動、停止、リセットまたは削除することで、パイプラインを制御できます。詳細なステップは、コントロール・パイプラインを参照してください。