トランスポータブル表領域を使用したデータの変換

トランスポータブル表領域では、データおよびメタデータを含む表領域をソース・データベースからターゲット・データベースに移動することで、完全なデータ・エクスポートおよびインポートを必要とせずに、大量のデータを効率的に移行できます。

トランスポータブル表領域について

トランスポータブル表領域は、データベース間で大量のデータを迅速かつ効率的に移動できるOracle Databaseの機能です。

Autonomous AI Databaseとともにトランスポータブル表領域を使用すると、プラットフォーム間でも、オンプレミスOracle DatabaseやOracle Database Cloud Service (DBCS)インスタンスなどの非Autonomous AI Databaseからユーザー管理表領域全体を転送することで、大規模なデータ・セットを効率的に移動できます。個々のオブジェクトのかわりに完全な表領域を移行すると、移行時間が短縮され、オブジェクト・レベルのエクスポートおよびインポートと比較して停止時間が最小化されます。この機能は、データ・ウェアハウスの移行、履歴データのアーカイブおよびデータベースのアップグレードに特に役立ちます。

トランスポータブル表領域では、Transparent Data Encryption (TDE)ウォレットの管理など、暗号化表領域と非暗号化表領域の両方がサポートされます(該当する場合)。Autonomous AI Databaseではbigfile表領域のみがサポートされているため、トランスポート操作中にソースからのスモールファイル表領域が自動的にbigfile表領域に変換されます。

トランスポータブル表領域の主な利点は次のとおりです。
  • クロス・プラットフォームの移植性により、柔軟なデータ移動を実現

  • 従来のエクスポートおよびインポートよりも移行が高速で、ダウンタイムも短縮されます。

  • 本番環境の合理化を維持するためのデータ・アーカイブのサポート。

  • 組込みの検証、正しいメタデータ処理およびセキュアなTDEウォレット処理によるセキュリティと整合性。

前提条件

データベース間で表領域を転送するための前提条件をリストします。

データベース間で表領域を転送するための次の前提条件に注意してください。
  • ソース・データベースが実行されているホストにステージング・ディレクトリを作成します。このディレクトリを使用して、トランスポータブル表領域バックアップ・ユーティリティと関連ファイルおよびOracle Database Cloud Backup Module for OCIをダウンロードします。

  • トランスポータブル表領域バックアップ・ユーティリティとその関連ファイルをプロジェクト・ディレクトリにダウンロードします。ダウンロード手順および必要なファイルへのアクセスについては、GitHubのTransportable-Tablespaces-Backup-Utilityリポジトリを参照してください。

  • 2つのOCIオブジェクト・ストレージ・バケットを作成します。1つはバックアップを格納するためのバケット、もう1つはスキーマ・メタデータや表領域メタデータなどのメタデータを格納するためのバケットです。詳細は、オブジェクト・ストレージ・バケットの作成を参照してください。

  • API署名キーを生成します。このキーを使用すると、トランスポータブル表領域バックアップ・ユーティリティでOCIオブジェクト・ストレージで認証し、ソース・データベースから表領域バックアップを書き込む権限があることを確認できます。そうしないと、バックアップ・リクエストは拒否されます。詳細は、API署名キーの生成方法を参照してください。

  • リソース・プリンシパルを使用してOracle Cloud Infrastructure OCI Object Storageにアクセスするための動的グループおよびポリシーを定義するには、ターゲットAutonomous AI DatabaseでTransport Tablespacesメタデータ・バンドルを安全にダウンロードするためのリソース・プリンシパルが必要です。詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。

  • Oracle Database Cloud Backup Module for OCIのダウンロードおよびインストール。ソース・データベースからOracle Cloud Infrastructureへの表領域バックアップを作成するには、最初にOracle Database Cloud Backup Module for OCIをインストールします。Oracle Technology Network (OTN)からモジュールをダウンロードし、データベース・サーバーにインストールします。詳細は、「Oracle Database Cloud Backup Module for OCIのインストール」を参照してください。

  • 表領域は自己完結型である必要があります。すべての依存オブジェクトは、転送される表領域のセット内に完全に存在する必要があります。次の問合せを実行して、自己完結を確認します。
    EXEC DBMS_TTS.TRANSPORT_SET_CHECK('HR,PROD', TRUE);
    SELECT * FROM TRANSPORT_SET_VIOLATIONS;
    行が返されない場合、表領域は自己完結型で転送できます。
  • トランスポートの最終バックアップを実行する場合は表領域をREAD ONLYモードに設定する必要がありますが、増分バックアップの場合はREAD WRITEモードのままにできます。詳細は、RMANバックアップの概念を参照してください。

  • ソース・データベースとターゲット・データベースの文字セットは同一または互換性があり、エンディアン(バイト順)はプラットフォーム間で一致する必要があります。詳細は、「ターゲット・オペレーティング・システムのEndian形式へのデータ変換」を参照してください。

  • 使用可能なストレージ容量を確認します。トランスポートされたデータファイルに対して、ターゲット・データベース環境で十分なストレージ領域が使用可能であることを確認します。

その他の制限事項のリストは、トランスポータブル表領域の制限事項を参照してください。

トランスポータブル表領域を使用した移行ワークフロー

この項では、非Autonomous AI DatabaseからAutonomous AI Databaseへのトランスポータブル表領域の移行を実行するステップについて説明します。

非Autonomous AI DatabaseからAutonomous AI Databaseに表領域を直接転送することはできません。表領域を転送するには、まず、ソース・データベースから中間記憶域の場所であるOCI Object Storageに表領域をバックアップします。中間ストレージには、データ・バックアップとメタデータ・バックアップ、および転送された表領域で暗号化が有効になっている場合はTransparent Data Encryption (TDE)ウォレット・ファイルが格納されます。バックアップ後に、中間ストレージからターゲットのAutonomous AI Databaseにデータをリストアします。

トランスポータブル表領域のワークフローには、次のステップが含まれます。

  1. トランスポータブル表領域のソース・データベース・ホストの準備
    トランスポータブル表領域操作を実行する前に、いくつかの設定タスクを実行して、ソース・データベース環境が適切に構成されていることを確認します。

    これらの準備ステップは、セキュアなトランスポータブル表領域操作に必要な接続、認証およびストレージ構成を保証します。

    詳細は、ソース・データベース・ホスト環境の準備を参照してください。

  2. ソースでバックアップ・ユーティリティを実行します。

    PythonベースのスクリプトであるOracle提供のトランスポータブル表領域バックアップ・ユーティリティを使用して、ソース・データベースから表領域バックアップを作成およびアップロードします。このユーティリティ:

    • ソース環境の準備状況を検証します。

    • Oracle Data Pumpエクスポートを使用してメタデータをエクスポートします。

    • Oracle Recovery Manager (RMAN)を使用して表領域データをバックアップします。

    • パッケージ出力、RMANバックアップ・ピース、メタデータ、TDEウォレット・ファイル(該当する場合)、および証明書を圧縮されたtarアーカイブ(トランスポータブル表領域メタデータ・バンドル)にパッケージ化します。

    • 指定されたObject Storageバケットにバンドルを安全にアップロードします。

    • アップロードされたバンドルへのURLを返します。リストア・プロセス中に使用されます。

    • また、このユーティリティは、Oracle Database Cloud Backup Module for OCIを起動して、API署名キーおよび必要な証明書用のウォレットを作成し、OCI Object Storageへのセキュアなアクセスを確保します。

    • 増分バックアップと非増分バックアップの両方がサポートされています。ターゲットAutonomous AI Databaseのリストア・ワークフローは、選択したバックアップ・タイプによって異なります。

    詳細は、ソース・データベースでの表領域バックアップの実行: ステップと例を参照してください。

  3. Autonomous AI Databaseへの表領域のインポート
    ターゲットAutonomous AI Databaseでトランスポータブル表領域をリストアするプロセスは、ソース・データベースの表領域バックアップのタイプによって異なります。
    • 非増分バックアップ

      Autonomous AI Databaseのプロビジョニング中に非増分バックアップを適用します。これにより、データとメタデータの両方が1ステップでリストアされます。

    • 増分バックアップ

      まず、ソース・データベースにlevel 0増分バックアップを作成します。ターゲットAutonomous AI Databaseのプロビジョニング時に、ソース・データベースからlevel 0表領域バックアップをリストアします。データベースの作成後、後続の増分レベル1バックアップを順番に適用します。このプロセス中に、RMANバックアップ・ピースのみがターゲット・データベースにコピーされます。関連付けられたメタデータは、最終的な増分バックアップがターゲットのAutonomous AI Databaseに適用された後に作成されます。

    詳細は、Autonomous AI Databaseへの表領域のトランスポートを参照してください。

ソース・データベース・ホスト環境の準備

トランスポータブル表領域操作を実行する前に環境を設定するために必要なステップについて説明します。

トピック

ソース・データベースでのディレクトリの作成

ソース・データベースを実行しているホストにプロジェクト・ディレクトリを作成するステップを示します。このディレクトリは、トランスポータブル表領域関連ファイルのステージング領域として機能します。

プロジェクト・ディレクトリを作成するステップは、次のとおりです。

  1. ソースOracleデータベースが実行されているソース・データベース・ホストにログインします。

  2. 必要なファイルを格納するのに十分な領域がある適切な場所を特定します。

  3. ディレクトリを作成します。次のコマンドを実行して、新しいプロジェクトディレクトリを作成します。
    mkdir -p /u01/tts_project
    
  4. ディレクトリに対する適切な権限を付与します。たとえば:

    chmod 755 /u01/tts_project
    
  5. 「ディレクトリ」にナビゲートします。たとえば:

    cd /u01/tts_project

トランスポータブル表領域バックアップ・ユーティリティのダウンロードおよび設定

Oracle提供のトランスポータブル表領域バックアップ・ユーティリティおよび関連ファイル、およびそれらをGitHubリポジトリからダウンロードする方法について説明します。

Oracleには4つの個別ファイルがあります。バンドルされたインストーラはありません。ソース・データベース・ホスト上に以前に作成したtts_projectディレクトリなど、4つすべてのファイルを同じディレクトリに個別にダウンロードします。次のファイルが提供され、それぞれに特定の目的があります。

  • README.md: 概要、設定手順、使用例および既知の考慮事項。最初にこのファイルを確認します。

  • tts-backup-env.txt: バックアップ操作に必要な入力値の指定に使用されるパラメータ・ファイル。tts-backup-env.txtファイルを使用して、データベース接続情報、オブジェクト・ストアの場所、表領域およびスキーマ名などの詳細など、バックアップ・プロセスに必要なすべての入力パラメータを指定します。tts-backup.pyは、tts-backup-env.txtパラメータ・ファイルに指定されているパラメータを使用してトランスポータブル表領域のバックアップを実行するPythonスクリプトです。

  • ttsTemplate.txt: ユーティリティ・パラメータ(ソース・データベースの詳細、OCIオブジェクト・ストレージ・ターゲット、認証など)のテンプレート。環境用にコピーおよび編集します。

  • tts-backup.py: Pythonベースのトランスポータブル表領域バックアップ・ユーティリティ。ソースの検証、バックアップの作成、必要なメタデータのパッケージ化、およびバックアップのOCI Object Storageへのアップロードを行います。このユーティリティを実行してソース・データベースをバックアップします。このユーティリティは、tts-backup-env.txtファイルに指定されたパラメータを使用してバックアップを実行します。

最新のトランスポータブル表領域バックアップ・ユーティリティおよび関連ファイルは、GitHubパッケージから取得できます。ダウンロード手順およびファイルへのアクセスについては、Transportable-Tablespaces-Backup-Utilityリポジトリを参照してください。

tts-backup.pyを実行する前に、tts-backup-env.txtファイルを構成します。トランスポータブル表領域バックアップ・ユーティリティは、バックアップを実行するためにこのファイルを読み取ります。パラメータ値がないか正しくないと、バックアップが失敗します。

次の表に、各パラメータの説明と値の例を示します。

パラメータ名 摘要

PROJECT_NAME

トランスポート表領域プロジェクトの名前。

tts_project

DATABASE_NAME

ソース・データベースの名前。

tts_db

TABLESPACES

表領域名のカンマ区切りリスト。

このパラメータはオプションで、すべてのユーザー定義表領域にデフォルト設定されます。

emp_tablespace, dept_tablespace, cust_tablespace

SCHEMAS

スキーマ名のカンマ区切りリスト。

このパラメータはオプションで、SYS以外のすべてのスキーマにデフォルト設定されます。

SALES, HR

データベース接続パラメータ:

パラメータ名 摘要

HOSTNAME

ソース・データベースのホスト名。

db1

LSNR_PORT

ソース・データベースのリスナー・ポート。

1521

DB_SVC_NAME

ソース・データベースに接続するためのデータベース・サービス名。

tts_db

ORAHOME

ソース・データベースを含むサーバー上のOracle Home値。

/opt/oracle/product/19c/dbhome_1

DBUSER

ソース・データベースに接続するためのユーザー名。指定されたユーザー名には、SYSDBA権限が必要です。

bkp_user

DBPASSWORD

ソース・データベースに接続するためのパスワード。

指定したパスワードは無視されます。バックアップ・ユーティリティ・スクリプトの実行時に、パスワードを手動で入力するよう求められます。

NA

DB_VERSION

ソース・データベースのバージョン。サポートされているバージョンは、Oracle Database 19c以上です。

19c

OCI Object Storage Service (OSS)パラメータ: これらのパラメータは、OCI Object Storage Service (OSS)を使用してバックアップおよびメタデータを格納する場合にのみ必要です。

パラメータ名 摘要

TTS_BACKUP_URL

OCIオブジェクト・ストレージ・バケットURI: データ・バックアップを格納する宛先。

https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace/b/bucketname

TTS_BUNDLE_URL

OCIオブジェクト・ストレージ・バケットURI: メタデータ・バックアップを格納する宛先。

https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace/b/bucketname

OCI_INSTALLER_PATH

ウォレットをダウンロードし、すべての証明書をインポートするoci_install.jarの場所。

このパラメータはオプションで、デフォルトで現在のディレクトリに設定されます。

/home/oracle/opc_installer/oci_installer/oci_install.jar

CONFIG_FILE

基本認証情報を含む構成ファイル・スニペットへのパス。

/home/oracle/OCI_CONFIG/config

COMPARTMENT_OCID

OCIオブジェクト・ストレージ・バケットのコンパートメントOCID。

ocid1.compartment.oc1..xxxxx

OCI_PROXY_HOST

HTTPプロキシサーバー

このパラメータはオプション。

proxy.company.com

OCI_PROXY_PORT

HTTPプロキシ・サーバー接続ポート

このパラメータはオプション。

80

Transparent Data Encryption (TDE)キー・パラメータ: この入力は、1つ以上の表領域がTransparent Data Encryption (TDE)を使用して暗号化されている場合にのみ必要です。

パラメータ名 摘要

TDE_WALLET_STORE_PASSWD

Transparent Data Encryption (TDE)ウォレット・ストアのパスワード

指定したパスワードは無視されます。バックアップ・ユーティリティ・スクリプトの実行時に、パスワードを手動で入力するよう求められます。

最終バックアップ・パラメータ:

パラメータ名 摘要

FINAL_BACKUP

非増分操作を指定するか、最後のバックアップが増分操作であることを示します。

完全(非増分)バックアップを実行するには、TRUEを指定します。

増分バックアップを実行するには、FALSEを指定します。

増分順序の最後のバックアップ操作は、メタデータがエクスポートされるように、FINAL_BACKUP=TRUEで実行する必要があります。

TRUE

(オプション)パフォーマンス・パラメータ:

パラメータ名 摘要

PARALLELISM

バックアップに使用するチャネルの数。

CPU_COUNT

PARALLELISMパラメータが指定されていない場合に、インスタンスから使用するCPUの数を指定します。

Oracle Database Cloud Backup Module for OCIのインストール

データベース・サーバーにOracle Database Cloud Backup Module for OCIをダウンロードおよびインストールする方法について説明します。

Oracle Database Cloud Backup Module for OCIでは、Oracle Recovery Manager (RMAN)を使用して、OCI Object Storageでバックアップおよびリストアを実行できます。モジュールをインストールして使用するには、Oracle Cloud資格証明が必要です。インストールされたモジュールは、トランスポータブル表領域バックアップ・ユーティリティによって、証明書および認証キーをOracleウォレットに安全に格納するために使用されます。ウォレットは、OCI Object StorageでRMANのバックアップおよびリストアを実行するために使用されます。

Oracle Technology Network (OTN)からモジュールをダウンロードし、インストール・ステップについては、OCI用のOracle Database Cloud Backupモジュールのインストールを参照してください。

輸送用ストレージの構成

トランスポータブル表領域操作の記憶域およびアクセスを構成するステップを示します。

トランスポータブル表領域のバックアップを実行するには、バックアップ・ファイルおよび関連するメタデータを格納するように記憶域を構成する必要があります。記憶域の場所は、トランスポートの中間リポジトリとして機能します。バックアップを格納するには、OCI Object Storageバケットを使用します。

OCIオブジェクト・ストレージ・バケットの構成
  1. OCIコンソールへのサインイン

    Oracle Cloudコンソールにログインします、

    詳細は、OCIコンソールへのサインインを参照してください。

  2. オブジェクト・ストレージ・パケットの作成

    オブジェクト・ストレージ・バケットを作成する詳細なステップは、オブジェクト・ストレージ・バケットの作成を参照してください。

    2つのオブジェクト・ストレージ・バケットtts_data_bucketおよびtts_bucketバケットを作成する必要があります。

ソース・データベースでの表領域バックアップの実行: ステップと例

次のタスクのリストでは、表領域のトランスポート処理の概要を示します。各タスクの詳細は、後続の例で示します。

  • 自己完結型の表領域セットを選択します。

  • 非増分操作または増分操作での最終バックアップの場合は、表領域をREAD-ONLYモードにします。

    トランスポータブル表領域セット(またはトランスポータブル・セット)は、トランスポートされる一連の表領域のデータファイルと、表領域セットの構造情報(メタデータ)を含むエクスポート・ファイルで構成されます。

次の例に、表領域をトランスポートする手順を示します。この例では、次に示すデータファイルおよび表領域が存在することを前提としています。

表スペース データファイル

SALES_1

/u01/app/oracle/oradata/salesdb/sales_101.dbf

SALES_2

/u01/app/oracle/oradata/salesdb/sales_201.dbf

タスク1: 表領域が自己完結型であることの確認

トランスポータブル・セット内のオブジェクトとセット外のオブジェクトとの間に、論理的または物理的な依存関係が存在することがあります。トランスポートできるのは、自己完結型の表領域のみです。次に、自己完結した表領域に違反する例を示します。
  • 表領域セット内に、そのセットに含まれない表に関する索引が含まれている場合

  • パーティション表の一部が表領域セットに含まれている場合コピーする表領域セットは、パーティション化した表のすべてのパーティションが含まれている状態、またはまったく含まれていない状態にしてください。

  • 表領域セット内の表に、そのセットに含まれないLOBを指すLOB列が含まれている場合。

表領域のセットが自己完結型かどうかを判断するには、Oracle提供のパッケージDBMS_TTSTRANSPORT_SET_CHECKプロシージャを起動します。たとえば:

EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('sales_1,sales_2', TRUE);

パッケージは、すべての依存オブジェクト(索引、制約、パーティションなど)が、転送される表領域のセット内に完全に存在することを検証します。転送の成功を妨げるクロステーブルスペースの依存関係はありません。

プロシージャの実行後、TRANSPORT_SET_VIOLATIONSビューを問い合せて違反を表示します。たとえば:
SELECT * FROM TRANSPORT_SET_VIOLATIONS;
この例では、トランスポート・セット・チェック中に検出された違反をリストします。

タスク2: バックアップの作成

このタスクでは、このステップに必要な前提条件がすべて完了していることを前提としています。詳細は、ソース・データベース・ホスト環境の準備を参照してください。

  • プロジェクト・ディレクトリに移動し、tts-backup-env.txtパラメータ・ファイルを開きます。必要に応じて、パラメータ・ファイルに入力を指定します。たとえば:

    [DEFAULT]
    ...
    
    PROJECT_NAME=tts_project
    DATABASE_NAME=orclpdb1
    TABLESPACES=sales_1,sales_2
    SCHEMAS=SALES
    ...
    
    HOSTNAME=<host>
    LSNR_PORT=1521
    DB_SVC_NAME=tts_db
    ORAHOME=/opt/oracle/product/19c/dbhome_1
    DBUSER=USER
    DB_VERSION=19c
    
    ...
    
    TTS_BACKUP_URL=https://objectstorage.region.oraclecloud.com/n/namespace/b/tts_data_bucket
    TTS_BUNDLE_URL=https://objectstorage.region.oraclecloud.com/n/namespace/b/tts_bucket
    OCI_INSTALLER_PATH=/home/oracle/opc_installer/oci_installer/oci_install.jar
    CONFIG_FILE=/home/oracle/OCI_CONFIG/config
    COMPARTMENT_OCID=ocid1.compartment.oc1..xxxxx
    OCI_PROXY_HOST=proxy.company.com
    OCI_PROXY_PORT=80
    
    ...
  • パラメータ・ファイルを構成したら、オプションでtts-backup.pyスクリプトの予行演習を実行できます。予行演習を実行すると、ソース・データベース・ホストが適切に構成され、トランスポータブル表領域操作の準備ができていることを検証できます。このプロセスでは、欠落している前提条件をチェックし、指定されたストレージ宛先への接続を検証し、すべての必須パラメータが正しく設定されていることを確認します。実際のバックアップを開始する前にドライ・ランを実行すると、事前に潜在的な問題を特定して解決できるため、トランスポータブル表領域操作中のエラーのリスクが軽減されます。

    次のコマンドを実行して、スクリプトのドライ・ランを実行します。
    $ python3 /u01/tts_project/tts-backup.py --DBPASSWORD=xxx --DRY_RUN=TRUE
  • ドライ・ランを完了し、発生したエラーを解決した後、tts-backup.pyスクリプトを実行してソース・データベースのバックアップを開始します。

    $ python3 /u01/tts_project/tts-backup.py --DBPASSWORD=xxx

    この例では、トランスポータブル表領域バックアップ・ユーティリティのPythonスクリプトを実行して、ソース・データベースをバックアップします。FINAL_BACKUPパラメータの値に応じて、バックアップは増分または非増分のいずれかになります。

    Project_Directoryパラメータは、トランスポータブル表領域バックアップ・ユーティリティ(tts-backup.py)およびパラメータ・ファイル(tts-backup-env.txt)が格納されるディレクトリへのフルパスを指定します。

    バックアップを実行するデータベース・ユーザーの--DBPASSWORDパスワード。

    --TDE_WALLET_STORE_PASSWORDは、Transparent Data Encryption (TDE)ウォレットのパスワードを指定します。これは、表領域が暗号化されている場合にのみ必要です。

    ノート

    コマンドを実行する前に、tts-backup-env.txtファイルが正しい入力(OCIオブジェクト・ストレージの詳細、バケットURL、データベース・パラメータなど)で構成されていることを確認してください。tts-backup.pyスクリプトは、入力を検証し、ソース・データベースでチェックを実行し、バックアップ・プロセスを開始します。FINAL_BACKUPTRUEに設定されている場合、スクリプトはData Pumpエクスポート・ユーティリティを使用して表領域およびスキーマ・メタデータをエクスポートします。
  • スクリプトが正常に完了すると、ソース・データベースからOCIオブジェクト・ストレージ・バケットに表領域データ・バックアップがアップロードされます。バックアップは、選択したバックアップ・タイプに応じて、増分または非増分のいずれかになります。非増分バックアップは、特定の時点のすべての表領域データで構成され、リストア操作の完全バックアップを提供します。増分バックアップは、ベースラインとして機能するレベル0のバックアップと、前回のバックアップ以降の変更を含む1つ以上の後続の増分(レベル1)バックアップで構成されます。ただし、増分バックアップからリストアする場合は、データの一貫性を確保するために、レベル0のバックアップと後続のすべての増分バックアップを順番に適用する必要があります。

    また、スクリプトでは、必要なメタデータおよびウォレット・ファイル(該当する場合)を含む圧縮トランスポータブル表領域メタデータ・バンドルが作成され、OCIオブジェクト・ストレージ・メタデータ・バケットにアップロードされます。

    非増分バックアップのURLの例:
    https://swiftobjectstorage.region.oraclecloud.com/v1/dwcsdev/tts_bucket/orclpdb1_bkp.tgz

    増分バックアップのURLの例:

    各URLには、メタデータ・バンドル名に増分バックアップ・レベルが含まれます(例: level_0、 ⁇ level_1、 ⁇ final_bkp)。これにより、リストア・プロセス中に各バックアップ・セットを迅速に識別して参照できます。level 0バックアップから始めて、後続の各バックアップから最終バックアップまで、各増分バックアップを順番に適用してください。
    https://swiftobjectstorage.region.oraclecloud.com/v1/dwcsdev/tts_bucket/orclpdb1_level_0.tgz
    https://swiftobjectstorage.region.oraclecloud.com/v1/dwcsdev/tts_bucket/orclpdb1_level_1.tgz

    https://swiftobjectstorage.region.oraclecloud.com/v1/dwcsdev/tts_bucket/orclpdb1_final_bkp.tgz

Autonomous AI Databaseへの表領域の転送

トランスポータブル表領域を使用してAutonomous AI Databaseにデータを移行する方法について説明します。

ターゲットAutonomous AI Databaseでトランスポータブル表領域をリストアするプロセスは、ソース・データベースからの表領域バックアップが増分か非増分かによって異なります。

ノート

Autonomous AI Databaseへの表領域の転送は、新しいAutonomous AI Databaseインスタンスをプロビジョニングする場合にのみサポートされます。

ソース・データベースの非増分表領域バックアップを使用したリストア

非増分(完全)ソース表領域バックアップでは、メタデータ・バンドルには、ソース・データベースの完全な表領域バックアップと、表領域およびスキーマ・メタデータのData Pumpエクスポートが含まれます。Autonomous AI Databaseのプロビジョニング中に、「拡張オプション」の下の「移行」セクションの「表領域zipファイルのオブジェクト・ストレージ・バケットURI」テキスト・ボックスにメタデータ・バンドルURLを指定して、ソース表領域バックアップから表領域をインポートします。プロビジョニング・プロセスでは、表領域のバックアップがリストアされ、表領域およびスキーマ・メタデータがデータベースにインポートされます。

たとえば:


adb_transportable_tablespace_migration.pngの説明が続きます
図adb_transportable_tablespace_migration.pngの説明

Autonomous AI Databaseをプロビジョニングする詳細なステップは、Autonomous AI Databaseインスタンスのプロビジョニングを参照してください。

ソース・データベースの増分表領域バックアップを使用したリストア

Autonomous AI Databaseのリストアを開始する前に、次の点に注意してください:
  • ソース・データベースのレベル0の増分表領域バックアップは、Autonomous AI Databaseをプロビジョニングしている場合にのみ適用できます。既存のAutonomous AI Databaseには適用できません。

  • プロビジョニング中にレベル0のバックアップを適用すると、ソース・データベースからターゲット・データベースにRMANバックアップ・データのみがリストアされます。この段階では、表領域、スキーマまたはデータベース・オブジェクトは作成されません。

  • プロビジョニング後、ソース・データベースの後続のレベル1の増分表領域バックアップを適用できます。レベル1および後続の増分バックアップは、プロビジョニング中にソース・データベースからのレベル0バックアップ表領域バックアップが適用された場合にのみ適用できます。これらの増分バックアップは、作成された順序で適用する必要があります。各増分バックアップでは、ターゲット・データベースのRMANバックアップが更新されますが、表領域およびスキーマ・オブジェクトはまだ作成されません。

  • 最終増分バックアップを適用して、トランスポータブル表領域操作を完了します。この最後のステップでは、ターゲット・データベース上のすべての表領域および関連するデータベース・オブジェクトをリストアします。

  • デフォルトでは、ターゲット・データベースの移行された表領域はREAD ONLYモードで作成されます。必要に応じて、表領域をREAD WRITEモードに変換します。

レベル0のバックアップを使用してAutonomous AI Databaseをプロビジョニングします:

まず、レベル0の表領域を使用してAutonomous AI Databaseをプロビジョニングし、ソース・データベースをバックアップします。この操作により、データベースがプロビジョニングされ、データベースの初期レベル0のバックアップがリストアされます。詳細は、Autonomous AI Databaseインスタンスのプロビジョニングを参照してください。

後続の増分(レベル1)バックアップを適用します。

データベースがプロビジョニングされ、ソース表領域のレベル0のバックアップがリストアされたら、増分(レベル1)バックアップを順番に適用します。

増分バックアップを使用してターゲットAutonomous AI Databaseを更新するステップ:

  • 必要に応じて、次の前提条件ステップを実行します:

    • 「クラウド」の横にあるナビゲーション・アイコンをクリックして、Oracle Cloud Infrastructure Consoleを開きます。

    • Oracle Cloud Infrastructureの左側のナビゲーション・メニューから、「Oracle Database」をクリックし、「Autonomous AI Database」をクリックします。

    • 「自律型AIデータベース」ページで、「表示名」列の下のリンクから自律型AIデータベースを選択します。

      ターゲットAutonomous AI Databaseでソース・データベースから後続の増分表領域バックアップを適用するには、次のステップに従います:

      • 「他のアクション」ドロップダウン・リストで、「データの移行」を選択します。

        「データの移行」ページが表示されます。

        ノート

        「データの移行」オプションは、プロビジョニング中にレベル0のインポートが完了し、プロビジョニング後にトランスポータブル表領域操作を完了するために追加の増分表領域バックアップ・インポートが必要なデータベースでのみ使用できます。
      • 「データの移行」ページで、「トランスポータブル表領域のインポート」トグルを有効にします。トグルを有効にすると、「表領域zipのオブジェクト・ストレージ・バケットURI」ファイル・フィールドが表示されます。トランスポータブル表領域のメタデータ・バンドルURLをこのフィールドに入力します。

        トランスポータブル表領域メタデータ・バンドルURLはOCIオブジェクト・ストレージからダウンロードする必要があるため、リソース・プリンシパルを使用してOCIオブジェクト・ストレージへのアクセスを許可する動的グループおよびポリシーを設定する必要があります。ターゲットAutonomous AI Databaseでトランスポータブル表領域メタデータ・バンドルを安全にダウンロードするには、リソース・プリンシパルの構成が必要です。詳細は「前提条件」を参照してください。

        たとえば、ソース・データベースからレベル1の表領域バックアップを適用するには、ソース・データベースからレベル1の表領域バックアップに適切なURLを指定します。


        adb_transportable_tablespaces_level1_restore.pngの説明が続きます
        図adb_transportable_tablespaces_level1_restore.pngの説明

        ...

        同様に、ソース・データベースから最終的な表領域バックアップを適用する場合は、適切なURLを指定します。たとえば:


        adb_transportable_tablespace_restore_final.pngの説明が続きます
        図adb_transportable_tablespace_restore_final.pngの説明

      • 「移行」をクリックします。

        データベース・ライフサイクルの状態が「トランスポート」に変わります。リストアが完了すると、ライフサイクル状態が「使用可能」に変わります。

トランスポータブル表領域に関する制限事項

トランスポータブル表領域の制限事項をリストします。

次のノートおよびトランスポータブル表領域の制限事項に注意してください。

  • トランスポータブル表領域は、ソース・データベースがOracle Database 19c以上であり、ECPUコンピュート・モデルを使用している場合にのみサポートされます。

  • Autonomous AI Databaseへの表領域の転送は、新しいAutonomous AI Databaseインスタンスをプロビジョニングする場合にのみサポートされます。

  • TIMESTAMP WITH LOCAL TIME ZONE (TSLTZ)データが含まれている表がある表領域をタイム・ゾーンが異なるデータベース間でトランスポートする場合、TSLTZデータが含まれている表はトランスポートされません。ただし、表領域内のTSLTZデータを含まない表はトランスポートされます。

    データベースのタイム・ゾーンを確認するには、次の問合せを使用します。
    SELECT DBTIMEZONE FROM DUAL;

    ALTER DATABASE SQL文を使用すると、データベースのタイム・ゾーンを変更できます。

  • ソース・データベースの夏時間(DST)バージョンは、自律型AIデータベースのDSTバージョン以下である必要があります。

  • 暗号化された表領域は、endiannessが異なるプラットフォームにはトランスポートできません。

  • 基になるオブジェクトのあるオブジェクト(マテリアライズド・ビューなど)またはコンテナ・オブジェクト(パーティション索引など)は、基になるオブジェクトまたはコンテナ・オブジェクトがすべて表領域セットにない場合はトランスポートできません。

  • Oracle XML DBはAutonomous AI Databaseでサポートされていないため、XMLTypeを含む表領域をトランスポートできません。

    次の問合せでは、XMLTypeを含む表領域のリストが返されます。
    SELECT distinct p.tablespace_name 
        FROM dba_tablespaces p, dba_xml_tables x, dba_users u, all_all_tables t 
        WHERE t.table_name=x.table_name AND t.tablespace_name=p.tablespace_name 
              AND x.owner=u.username;
  • SYSTEMまたはSYSAUX表領域、またはユーザーSYSが所有するオブジェクトは転送できません。これに該当するオブジェクトは、PL/SQL、Javaクラス、コールアウト、ビュー、シノニム、ユーザー、権限、ディメンション、ディレクトリおよび順序です。

  • トランスポート元とトランスポート先のデータベースで、互換性のあるデータベース文字セットを使用している必要があります。つまり、次のいずれかが当てはまる必要があります。
    • ソース・データベースとターゲット・データベースのデータベース文字セットが同じです。

    • ソース・データベース文字セットがターゲット・データベース文字セットの厳格な(バイナリ)サブセットです。

    • ソースとターゲットのデータベースで、互換性のある各国語文字セットを使用している必要があります。

  • 解釈がアプリケーション固有で、データベースに対して不透明なタイプ(RAWBFILEなど)は、トランスポートできますが、クロス・プラットフォームのトランスポート操作では変換されません。このタイプの実際の構造はアプリケーションのみが認識するため、このタイプが新規プラットフォームに移動した後、アプリケーションではendiannessの問題に対処する必要があります。OPAQUE型を使用するタイプとオブジェクトも、直接的または間接的にこの制限の影響を受けます。

  • ソース・データベースのSCNは、表領域の転送先のターゲットAutonomous AI DatabaseのSCN以下である必要があります。

  • Autonomous AI Databaseインスタンスでは、ユーザー表領域とシステム表領域の両方を含む最大24の表領域がサポートされます。SYSTEMSYSAUXUNDOTEMPREDOなどのデフォルトのシステム表領域をアカウンティングした後、最大19個のユーザー表領域をAutonomous AI Databaseインスタンスにトランスポートできます。

  • トランスポートされた表領域の累積サイズは、Autonomous AI Databaseでサポートされている最大データベース・サイズを超えてはなりません。