トランスポータブル表領域を使用したデータの変換
トランスポータブル表領域では、データおよびメタデータを含む表領域をソース・データベースからターゲット・データベースに移動することで、完全なデータ・エクスポートおよびインポートを必要とせずに、大量のデータを効率的に移行できます。
トランスポータブル表領域について
トランスポータブル表領域は、データベース間で大量のデータを迅速かつ効率的に移動できるOracle AI Databaseの機能です。
Autonomous AI Databaseでトランスポータブル表領域を使用すると、オンプレミスのOracle AI Databaseやクラウド上のOracle AI Databaseなど、他のOracle AIデータベースからユーザー管理表領域全体を転送することで、プラットフォーム間でも大規模なデータセットを効率的に移動できます。個々のオブジェクトではなく完全な表領域を移行すると、移行時間が短縮され、オブジェクト・レベルのエクスポートおよびインポートと比較して停止時間が最小限に抑えられます。この機能は、データ・ウェアハウスの移行、履歴データのアーカイブおよびデータベースのアップグレードに特に役立ちます。
トランスポータブル表領域では、Transparent Data Encryption (TDE)ウォレットの管理など、暗号化表領域と非暗号化表領域の両方がサポートされます(該当する場合)。Autonomous AI Databaseではbigfile表領域のみがサポートされているため、トランスポート操作中にソースからのスモールファイル表領域が自動的にbigfile表領域に変換されます。
トランスポータブル表領域の主な利点は次のとおりです。
-
クロス・プラットフォームの移植性により、柔軟なデータ移動を実現
-
従来のエクスポートおよびインポートよりも移行が高速で、ダウンタイムも短縮されます。
-
本番環境の合理化を維持するためのデータ・アーカイブのサポート。
-
組込みの検証、正しいメタデータ処理およびセキュアなTDEウォレット処理によるセキュリティと整合性。
前提条件
データベース間で表領域を転送するための前提条件をリストします。
-
非Autonomous AIデータベースからAutonomous AI Databaseに移行する前に、「他のOracle AIデータベースから移行するユーザーのノート」の情報を確認します。この情報では、移行および移行後のデータベース操作に影響を与える可能性のある重要な制限および動作の違いについて説明します。
-
ソース・データベースが実行されているホストにステージング・ディレクトリを作成します。このディレクトリを使用して、トランスポータブル表領域バックアップ・ユーティリティおよび関連ファイルおよびOracle AI Database Cloud Backup Module for OCIをダウンロードします。
-
トランスポータブル表領域バックアップ・ユーティリティとその関連ファイルをプロジェクト・ディレクトリにダウンロードします。ダウンロード手順および必要なファイルへのアクセスについては、GitHubのTransportable-Tablespaces-Backup-Utilityリポジトリを参照してください。
-
2つのOCIオブジェクト・ストレージ・バケットを作成します。1つはバックアップを格納するためのバケット、もう1つはスキーマ・メタデータや表領域メタデータなどのメタデータを格納するためのバケットです。詳細は、オブジェクト・ストレージ・バケットの作成を参照してください。
-
API署名キーを生成します。このキーにより、トランスポータブル表領域バックアップ・ユーティリティはOCIオブジェクト・ストレージで認証し、ソース・データベースから表領域バックアップを書き込む権限があることを確認できます。そうしないと、バックアップ・リクエストは拒否されます。詳細は、API署名キーの生成方法を参照してください。
-
Oracle AI Database Cloud Backup Module for OCIのダウンロードおよびインストール。ソース・データベースからOracle Cloud Infrastructureへの表領域バックアップを作成するには、まずOracle AI Database Cloud Backup Module for OCIをインストールします。Oracle Technology Network (OTN)からモジュールをダウンロードし、データベース・サーバーにインストールします。詳細は、「Oracle AI Database Cloud Backup Module for OCIのインストール」を参照してください。
-
リソース・プリンシパルを使用してOracle Cloud Infrastructure OCI Object Storageにアクセスするための動的グループおよびポリシーを定義します。ターゲットAutonomous AI Databaseでトランスポート表領域メタデータ・バンドルを安全にダウンロードするには、リソース・プリンシパルが必要です。詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。
-
表領域は自己完結型である必要があります。すべての依存オブジェクトは、転送される表領域のセット内に完全に存在する必要があります。次の問合せを実行して、自己完結を確認します。
EXEC DBMS_TTS.TRANSPORT_SET_CHECK('HR,PROD', TRUE, TRUE); SELECT * FROM TRANSPORT_SET_VIOLATIONS;行が返されない場合、表領域は自己完結型で転送できます。
-
トランスポートの最終バックアップを実行する場合は表領域を
READ ONLYモードに設定し、増分バックアップの場合は表領域をREAD WRITEモードのままにできます。詳細は、RMANバックアップの概念を参照してください。 -
ソース・データベースとターゲット・データベースは、同じまたは互換性のある文字セットを持つ必要があり、エンディアン(バイト順)はプラットフォーム間で一致する必要があります。詳細は、ターゲット・オペレーティング・システムのendia形式へのデータ変換を参照してください。
-
トランスポートされたデータファイルに十分なストレージ領域がターゲット・データベースにプロビジョニングされます。
その他の制限のリストは、トランスポータブル表領域の制限事項を参照してください。
トランスポータブル表領域を使用した移行ワークフロー
この項では、非Autonomous AI DatabaseからAutonomous AI Databaseへのトランスポータブル表領域の移行を実行するステップについて説明します。
非Autonomous AI DatabaseからAutonomous AI Databaseに表領域を直接転送することはできません。表領域を転送するには、まず、ソース・データベースから中間記憶域の場所であるOCI Object Storageに表領域をバックアップします。中間ストレージには、データ・バックアップとメタデータ・バックアップ、および転送された表領域で暗号化が有効になっている場合はTransparent Data Encryption (TDE)ウォレット・ファイルが格納されます。バックアップ後に、中間ストレージからターゲットのAutonomous AI Databaseにデータをリストアします。
トランスポータブル表領域のワークフローには、次のステップが含まれます。
-
トランスポータブル表領域のソース・データベース・ホストの準備
トランスポータブル表領域操作を実行する前に、いくつかの設定タスクを実行して、ソース・データベース環境が適切に構成されていることを確認します。
-
必要なOCIオブジェクト・ストレージ・バケットを作成します。詳細は、Configure Storage for Transportを参照してください。
-
リソース・プリンシパル・アクセスのIAM動的グループおよびポリシーを構成します。詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。
-
必要に応じて、API署名キーを生成します。
-
Oracle提供のTransportable Tablespace Backup UtilityとOracle AI Database Cloud Backup Module for OCIをダウンロードします。
これらの準備ステップは、セキュアなトランスポータブル表領域操作に必要な接続、認証およびストレージ構成を保証します。
詳細は、ソース・データベース・ホスト環境の準備を参照してください。
-
-
ソースでバックアップ・ユーティリティを実行します。
PythonベースのスクリプトであるOracle提供のトランスポータブル表領域バックアップ・ユーティリティを使用して、ソース・データベースから表領域バックアップを作成およびアップロードします。このユーティリティ:
-
ソース環境の準備状況を検証します。
-
Oracle Data Pumpエクスポートを使用してメタデータをエクスポートします。
-
Oracle Recovery Manager (RMAN)を使用して表領域データをバックアップします。
-
パッケージ出力、RMANバックアップ・ピース、メタデータ、TDEウォレット・ファイル(該当する場合)、および証明書を圧縮されたtarアーカイブ(トランスポータブル表領域メタデータ・バンドル)にパッケージ化します。
-
指定されたObject Storageバケットにバンドルを安全にアップロードします。
-
アップロードされたバンドルへのURLを返します。リストア・プロセス中に使用されます。
-
また、このユーティリティは、Oracle AI Database Cloud Backup Module for OCIを呼び出して、API署名キーと必要な証明書用のウォレットを作成し、OCI Object Storageへの安全なアクセスを確保します。
-
増分バックアップと非増分バックアップの両方がサポートされています。非増分バックアップは、読取り専用モードの表領域を含む完全1回かぎりのバックアップです。増分バックアップは、レベル0のバックアップから始まり、その後に1つ以上の増分(レベル1)バックアップと、読取り専用モードのタブ領域を含む最終増分バックアップが続きます。ターゲットAutonomous AI Databaseのリストア・ワークフローは、選択したバックアップ・タイプによって異なります。
詳細は、ソース・データベースでの表領域バックアップの実行: ステップと例を参照してください。
-
-
Autonomous AI Databaseへの表領域のインポート
ターゲットAutonomous AI Databaseでトランスポータブル表領域をリストアするプロセスは、ソース・データベースの表領域バックアップのタイプによって異なります。
-
非増分バックアップ
Autonomous AI Databaseのプロビジョニング中に非増分バックアップを適用します。これにより、データがリストアされ、メタデータが1ステップでインポートされます。
-
増分バックアップ
まず、ソース・データベースに
level 0増分バックアップを作成します。ターゲットAutonomous AI Databaseのプロビジョニング時に、ソース・データベースからlevel 0表領域バックアップをリストアします。データベースの作成後、後続の増分レベル1バックアップを順次適用します。このプロセス中に、RMANバックアップ・ピースのみがターゲット・データベースにコピーされます。関連付けられたメタデータは、最終増分バックアップがターゲットAutonomous AIデータベースに適用された後にインポートされます。
詳細は、Autonomous AIデータベースへの表領域のトランスポートを参照してください。
-
ソース・データベース・ホスト環境の準備
トランスポータブル表領域操作を実行する前に環境を設定するために必要なステップについて説明します。
ソース・データベースでのディレクトリの作成
ソース・データベースを実行しているホストにプロジェクト・ディレクトリを作成するステップを示します。このディレクトリは、トランスポータブル表領域関連ファイルのステージング領域として機能します。
プロジェクト・ディレクトリを作成するステップは、次のとおりです。
-
ソースOracle AI Databaseが実行されているソース・データベース・ホストにログインします。
-
必要なファイルを格納するのに十分な領域がある適切な場所を特定します。
-
ディレクトリを作成します。次のコマンドを実行して、新しいプロジェクトディレクトリを作成します。
mkdir -p /u01/tts_project -
ディレクトリに対する適切な権限を付与します。たとえば:
chmod 755 /u01/tts_project -
「ディレクトリ」にナビゲートします。たとえば:
cd /u01/tts_project
トランスポータブル表領域バックアップ・ユーティリティのダウンロードおよび設定
Oracle提供のトランスポータブル表領域バックアップ・ユーティリティおよび関連ファイル、およびそれらをGitHubリポジトリからダウンロードする方法について説明します。
Oracleには5つの個別ファイルがあり、バンドルされたインストーラはありません。5つすべてのファイルを同じディレクトリに個別にダウンロードします。たとえば、ソース・データベース・ホスト上で以前に作成したtts_projectディレクトリなどです。次のファイルが提供され、それぞれが特定の目的で使用されます。
-
README.md: 概要、設定手順、使用例、および既知の考慮事項。最初にこのファイルをレビューしてください。 -
tts-backup-env.txt: バックアップ操作に必要な入力値を指定するために使用するパラメータ・ファイル。tts-backup-env.txtファイルを使用して、データベース接続情報、オブジェクト・ストアの場所、表領域およびスキーマ名などの詳細を含め、バックアップ・プロセスに必要なすべての入力パラメータを指定します。tts-backup.pyは、tts-backup-env.txtパラメータ・ファイルに指定されているパラメータを使用してトランスポータブル表領域のバックアップを実行するPythonスクリプトです。 -
tts-backup-env-sample.txt: サンプル・パラメータ・ファイル。環境用にコピーおよび編集します。 -
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ホーム・ディレクトリ値。 | /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 |
ウォレットをダウンロードし、すべての証明書をインポートする このパラメータはオプションで、デフォルトで現在のディレクトリに設定されます。 |
/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 |
(オプション)パフォーマンス・パラメータ:
| パラメータ名 | 摘要 |
|---|---|
PARALLELISM |
バックアップに使用するチャネルの数。 |
CPU_COUNT |
PARALLELISMパラメータが指定されていない場合に、インスタンスから使用するCPUの数を指定します。 |
OCI用のOracle AI Database Cloud Backup Moduleのインストール
Oracle AI Database Cloud Backup Module for OCIをデータベース・サーバーにインストールする方法について説明します。
Oracle AI Database Cloud Backup Module for OCIでは、Oracle Recovery Manager (RMAN)を使用してOCI Object Storageでバックアップとリストアを実行できます。モジュールをインストールして使用するには、Oracle Cloud資格証明が必要です。インストール済モジュールは、トランスポータブル表領域バックアップ・ユーティリティによって、証明書および認証キーをOracleウォレットに安全に格納するために使用されます。ウォレットは、OCIオブジェクト・ストレージを使用してRMANバックアップおよびリストアを実行するために使用されます。Oracle Technology Network (OTN)からモジュールをダウンロードしてから、インストール・ステップについては、OCI用のOracle AI Database Cloud Backup Moduleのインストールを参照してください。
輸送用ストレージの構成
トランスポータブル表領域操作の記憶域およびアクセスを構成するステップを示します。
トランスポータブル表領域バックアップを実行するには、バックアップ・ファイルおよび関連するメタデータを格納するように記憶域を構成する必要があります。記憶域の場所は、トランスポートの中間リポジトリとして機能します。オブジェクト・ストレージ・バケット\<tts_data_bucket\>と\<tts_metadata_bucket\>を2つ作成する必要があります。
OCIオブジェクト・ストレージ・バケットの構成
-
OCIコンソールへのサインイン
Oracle Cloudコンソールにログインします
詳細は、OCIコンソールへのサインインを参照してください。
-
オブジェクト・ストレージ・パケットの作成
オブジェクト・ストレージ・バケットを作成するステップの詳細は、オブジェクト・ストレージ・バケットの作成を参照してください。
ソース・データベースでの表領域バックアップの実行: ステップと例
次のタスクのリストでは、表領域のトランスポート処理の概要を示します。各タスクの詳細は、後続の例で示します。
-
自己完結型の表領域セットを選択します。
-
非増分操作の場合、または増分操作の最終バックアップの場合、表領域を
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_TTSでTRANSPORT_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_metadata_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スクリプトの予行演習を実行できます。ドライ・ランを実行すると、ソース・データベース・ホストが正しく構成され、トランスポータブル表領域操作の準備ができていることを確認できます。このプロセスでは、欠落している前提条件がチェックされ、指定されたストレージ宛先への接続が検証され、すべての必須パラメータが正しく設定されていることを確認します。実際のバックアップを開始する前にドライ・ランを実行すると、潜在的な問題を事前に特定して解決し、トランスポータブル表領域操作中のエラーのリスクを軽減できます。次のコマンドを実行して、バックアップのドライ・ランを実行します。バックアップを実行するデータベース・ユーザーのパスワードを指定します。TDEウォレット・ストアのパスワードは、表領域が暗号化されている場合にのみ必要です。
$ python3 /u01/tts_project/tts-backup.py --DRY_RUN=TRUEデータベース・パスワードの入力、および必要に応じてTDEパスワードの入力も求められます。
-
予行演習を完了し、発生したエラーを解決した後、
tts-backup.pyスクリプトを実行してソース・データベースのバックアップを開始します。$ python3 /u01/tts_project/tts-backup.pyデータベース・パスワードの入力、および必要に応じてTDEパスワードの入力も求められます。
この例では、トランスポータブル表領域バックアップ・ユーティリティのPythonスクリプトを実行して、ソース・データベースをバックアップします。
FINAL_BACKUPパラメータの値に応じて、バックアップは増分または非増分のいずれかになります。Project_Directoryパラメータでは、トランスポータブル表領域バックアップ・ユーティリティ(tts-backup.py)およびパラメータ・ファイル(tts-backup-env.txt)が格納されるディレクトリへのフルパスを指定します。ノート
ノート:コマンドを実行する前に、tts-backup-env.txtファイルが正しい入力(OCIオブジェクト・ストレージの詳細、バケットURL、データベース・パラメータなど)で構成されていることを確認してください。tts-backup.pyスクリプトは、入力を検証し、ソース・データベースのチェックを実行してから、バックアップ・プロセスを開始します。FINAL_BACKUPがTRUEに設定されている場合、スクリプトはData Pumpエクスポート・ユーティリティを使用して表領域およびスキーマ・メタデータをエクスポートします。 -
スクリプトが正常に完了すると、ソース・データベースからOCIオブジェクト・ストレージ・バケットに表領域データ・バックアップがアップロードされます。バックアップは、選択したバックアップ・タイプに応じて、増分または非増分のいずれかになります。非増分バックアップは、特定の時点のすべての表領域データで構成され、リストア操作の完全バックアップを提供します。増分バックアップは、ベースラインとして機能するレベル0のバックアップと、前回のバックアップ以降の変更を含む1つ以上の後続の増分(レベル1)バックアップで構成されます。ただし、増分バックアップからリストアする場合は、データの一貫性を確保するために、レベル0のバックアップと後続のすべての増分バックアップを順番に適用する必要があります。
また、スクリプトでは、必要なメタデータおよびウォレット・ファイル(該当する場合)を含む圧縮トランスポータブル表領域メタデータ・バンドルが作成され、OCIオブジェクト・ストレージ・メタデータ・バケットにアップロードされます。
非増分バックアップのURLの例:
https://objectstorage.region.oraclecloud.com/n/namespace/b/tts_metadata_bucket/orclpdb1_bkp.tgz増分バックアップのURLの例:
各URLのメタデータ・バンドル名には、増分バックアップ・レベル(
level_0、level_1、final_bkpなど)が含まれることに注意してください。これにより、リストア・プロセス中に各バックアップ・セットをすばやく識別して参照できます。level 0バックアップから開始し、後続の各バックアップを最終バックアップまで順番に適用してください。https://objectstorage.region.oraclecloud.com/n/namespace/b/tts_metadata_bucket/orclpdb1_level_ 0.tgzhttps://objectstorage.region.oraclecloud.com/n/namespace/b/tts_metadata_bucket/orclpdb1_level_1.tgz…
https://objectstorage.region.oraclecloud.com/n/namespace/b/tts_metadata_bucket/orclpdb1_level_n.tgzhttps://objectstorage.region.oraclecloud.com/n/namespace/b/tts_metadata_bucket/orclpdb1_final_bkp.tgz
Autonomous AI Databaseへの表領域の転送
トランスポータブル表領域を使用してAutonomous AI Databaseにデータを移行する方法について説明します。
ターゲットAutonomous AI Databaseでトランスポータブル表領域を移行するプロセスは、ソース・データベースからの表領域バックアップが増分か非増分かによって異なります。
注意:
Autonomous AI Databaseへの表領域の転送は、新しいAutonomous AI Databaseインスタンスをプロビジョニングする場合にのみサポートされます。
トランスポータブル表領域メタデータ・バンドルURLはOCIオブジェクト・ストレージからダウンロードする必要があるため、リソース・プリンシパルを使用してOCIオブジェクト・ストレージへのアクセスを許可する動的グループおよびポリシーを設定する必要があります。ターゲットAutonomous AI Databaseでトランスポータブル表領域メタデータ・バンドルを安全にダウンロードするには、リソース・プリンシパルを構成する必要があります。詳細は、「前提条件」を参照してください。
ソース・データベースの非増分表領域バックアップを使用したトランスポート
非増分(完全)ソース表領域バックアップでは、メタデータ・バンドルに表領域およびスキーマ・メタデータのData Pumpエクスポートが含まれます。Autonomous AI Databaseのプロビジョニング中に、メタデータ・バンドルURLを(「拡張オプション」の「移行」セクションの「表領域チップ・ファイルのオブジェクト・ストレージ・バケットURI」テキスト・ボックスに)指定して、ソース表領域バックアップから表領域をインポートします。プロビジョニング・プロセスでは、表領域のバックアップをリストアし、表領域およびスキーマのメタデータをデータベースにインポートします。
たとえば:

図adbs_transportable_tablespace_provisioning.pngの説明
Autonomous AI Databaseをプロビジョニングする詳細なステップは、Autonomous AI Databaseインスタンスのプロビジョニングを参照してください。
ソース・データベースの増分表領域バックアップを使用したトランスポート
自律型AIデータベースのリストアを転送する前に、次の点に注意してください:
-
ソース・データベースのレベル0の増分表領域バックアップは、Autonomous AI Databaseをプロビジョニングしている場合にのみ適用できます。既存のAutonomous AI Databaseには適用できません。
-
プロビジョニング中にレベル0のバックアップを適用すると、ソース・データベースからターゲット・データベースにRMANバックアップ・データのみがリストアされます。この段階では、表領域、スキーマまたはデータベース・オブジェクトは作成されません。
-
プロビジョニング後、ソース・データベースの後続のレベル1の増分表領域バックアップを適用できます。レベル1および後続の増分バックアップは、プロビジョニング中にソース・データベースからのレベル0バックアップ表領域バックアップが適用された場合にのみ適用できます。これらの増分バックアップは、作成された順序で適用する必要があります。各増分バックアップでは、ターゲット・データベースのRMANバックアップが更新されますが、表領域およびスキーマ・オブジェクトはまだ作成されません。
-
最終増分バックアップを適用して、トランスポータブル表領域操作を完了します。この最後のステップでは、ターゲット・データベース上のすべての表領域および関連するデータベース・オブジェクトをリストアします。
-
必要に応じて、表領域を
READ WRITEモードに変換します。
レベル0バックアップを使用したAutonomous AIデータベースのプロビジョニング
まず、レベル0の表領域でAutonomous AI Databaseをプロビジョニングし、ソース・データベースをバックアップします。この操作では、データベースをプロビジョニングし、データベースの初期レベル0バックアップをリストアします。詳細は、Autonomous AI Databaseインスタンスのプロビジョニングを参照してください。
後続の増分(レベル1)バックアップの適用
データベースがプロビジョニングされ、ソース表領域のレベル0のバックアップがリストアされたら、増分(レベル1)バックアップを順番に適用します。
増分バックアップを使用してターゲットAutonomous AI Databaseを更新するステップ:
-
必要に応じて、次の前提条件ステップを実行します:
-
Oracle Cloud Infrastructure Consoleを開くには、クラウドの横にある
をクリックします。 -
Oracle Cloud Infrastructureの左側のナビゲーション・メニューから、「Oracle AI Database」をクリックし、「Autonomous AI Database」をクリックします。
-
「Autonomous AI Database」ページで、「表示名」列の下のリンクからAutonomous AI Databaseを選択します。
ターゲットAutonomous AI Databaseでソース・データベースから後続の増分表領域バックアップを適用するには、次のステップに従います:
-
「その他のアクション」ドロップダウン・リストで、「データの移行」を選択します。
「データの移行」ページが表示されます。
ノート
ノート: 「データの移行」オプションは、プロビジョニング中にレベル0のインポートを完了し、プロビジョニング後にトランスポータブル表領域操作を完了するために追加の増分表領域バックアップ・インポートが必要なデータベースでのみ使用できます。 -
「データの移行」ページで、「トランスポータブル表領域のインポート」トグルを有効にします。トグルを有効にすると、「表領域Zipのオブジェクト・ストレージ・バケットURI」ファイル・フィールドが表示されます。このフィールドにトランスポータブル表領域のメタデータ・バンドルURLを入力します。
たとえば、ソース・データベースからレベル1の表領域バックアップを適用するには、ソース・データベースからレベル1の表領域バックアップに適切なURLを指定します。

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

図adbs_transportable_tablespace_incremental_final.pngの説明
- 「移行」をクリックします。
データベース・ライフサイクル状態が「更新中」に変わります。リストアが完了すると、ライフサイクル状態が「使用可能」に変わります。
-
-
トランスポータブル表領域に関する制限事項
トランスポータブル表領域の制限事項をリストします。
次のノートおよびトランスポータブル表領域の制限事項に注意してください。
-
トランスポータブル表領域は、ソース・データベースがOracle AI Database 11g以上である場合にのみサポートされます。
-
Autonomous AI Databaseへの表領域の転送は、新しいAutonomous AI Databaseインスタンスをプロビジョニングする場合にのみサポートされます。
-
TIMESTAMP WITH LOCAL TIME ZONE(TSLTZ)データを含む表がある表領域をタイム・ゾーンが異なるデータベース間でトランスポートする場合、TSLTZデータを含む表はトランスポートされません。ただし、表領域内のTSLTZデータを含まない表はトランスポートされます。データベースのタイム・ゾーンを確認するには、次の問合せを使用します。
SELECT DBTIMEZONE FROM DUAL;ALTER DATABASESQL文を使用すると、データベースのタイム・ゾーンを変更できます。 -
ソース・データベースの夏時間(DST)バージョンは、自律型AIデータベースのDSTバージョン以下である必要があります。
-
基になるオブジェクトのあるオブジェクト(マテリアライズド・ビューなど)またはコンテナ・オブジェクト(パーティション索引など)は、基になるオブジェクトまたはコンテナ・オブジェクトがすべて表領域セットにない場合はトランスポートできません。
-
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が所有するオブジェクトは転送できません。 -
トランスポート元とトランスポート先のデータベースで、互換性のあるデータベース文字セットを使用している必要があります。つまり、次のいずれかが当てはまる必要があります。
-
ソース・データベースとターゲット・データベースのデータベース文字セットが同じです。
-
ソース・データベース文字セットがターゲット・データベース文字セットの厳格な(バイナリ)サブセットです。
-
ソースとターゲットのデータベースで、互換性のある各国語文字セットを使用している必要があります。
-
-
解釈がアプリケーション固有で、データベースに対して不透明なタイプ(
RAW、BFILEなど)は、トランスポートできますが、クロス・プラットフォームのトランスポート操作では変換されません。このタイプの実際の構造はアプリケーションのみが認識するため、このタイプが新規プラットフォームに移動した後、アプリケーションではendiannessの問題に対処する必要があります。OPAQUE型を使用するタイプとオブジェクトも、直接的または間接的にこの制限の影響を受けます。 -
ソース・データベースのSCNは、表領域の転送先のターゲットAutonomous AI DatabaseのSCN以下である必要があります。
-
Autonomous AI Databaseインスタンスでは、ユーザー表領域とシステム表領域の両方を含む最大24の表領域がサポートされます。
SYSTEM、SYSAUX、UNDO、TEMP、REDOなどのデフォルトのシステム表領域をアカウンティングした後、最大19個のユーザー表領域をAutonomous AI Databaseインスタンスにトランスポートできます。 -
トランスポートされた表領域の累積サイズは、Autonomous AI Databaseでサポートされている最大データベース・サイズを超えてはなりません。