2 DMSを使用した移行

データベース移行(DMS)サービスを使用して、オンプレミス・データベースからOracle Autonomous Transaction Processing-Shared (ATP-S)データベースにデータを移行します。

この項のトピックでは、準備ステップ、移行タスクおよび移行後のタスクについて説明します。

移行の準備

オンプレミス・データベースからOracle Autonomous Transaction Processing-Shared (ATP-S)データベースへのデータの移行を開始する前に、移行ワークフローの概要を理解し、前提条件を満たし、この項で説明する移行前タスクを実行する必要があります。

Oracle Autonomous Transaction Processing-Shared (ATP-S)データベースにデータを移行するためのロードマップ

このロードマップは、オンプレミス・データベースからOracle Autonomous Transaction Processing-Shared (ATP-S)データベースにデータを移行するための移行ワークフローを示しています。

表2-1に、ATP-Sデータベースで動作が保証されているすべてのOracle Fusion Middleware製品について、データをATP-Sデータベースに移行するために必要なステップの概要を示します。

前提条件

次の各項で、オンプレミス・データベースからOracle Autonomous Transaction Processing-Shared (ATP-S)データベースにデータを移行するための前提条件について説明します。

ノート:

前提条件タスクを実行する前に、製品の最新のバンドル・パッチおよびバンドル・パッチに必要な前提条件パッチ(ある場合)を適用します。
データベース要件

Oracle Cloud Infrastructure Database Migrationを使用するためには、ソース・データベースとターゲット・データベースの環境が次の要件を満たしている必要があります。

表2-2 データベース要件

コンポーネント サポートされているバージョン
ソース・データベース

Oracle Database 19c

サポートされているターゲット・データベース・バージョン

共有ExadataインフラストラクチャのOracle Autonomous Database

ソース・プラットフォーム

Linux-x86-64

リソースの作成

Oracle Cloud Infrastructure Database Migration操作が依存するリソースを作成するには、『Oracle Cloud Infrastructure Database Migrationサービスの使用』リソースの作成に関する項を参照してください。

オンライン移行のためのOracle GoldenGateの設定

Oracle Cloud Infrastructure Database Migrationを使用したオンライン移行には、前提条件として追加のタスクがいくつかあります。つまり、Oracle GoldenGate Microservicesのインストール、ソース・データベースでのGoldenGateユーザーの作成、ターゲット・データベースでのGoldenGateユーザーのロック解除が必要です。

Oracle GoldenGate Microservicesのインストール
  1. 次のように、Oracle Cloud Marketplaceから「Oracle GoldenGate for Oracle - データベース移行」イメージをデプロイします。
    1. Oracle Cloud Marketplaceにログインします。
    2. マーケットプレイスで「Oracle GoldenGate for Oracle - データベース移行」という項目を探します。
    3. マーケットプレイスの検索結果から、「Oracle GoldenGate for Oracle - データベース移行」という項目を選択します。
    4. Oracle Cloud MarketplaceでのOracle GoldenGateの使用Oracle Cloud MarketplaceでのOracle GoldenGate Microservicesのデプロイに関する項に示された手順を使用して、イメージをデプロイします。

      ノート:

      Autonomous Database共有インフラストラクチャの場合は、デプロイメント時にAutonomous Databaseターゲットを指定します。
  2. TLS認証用の証明書を含むウォレットを変更します:
    1. ウォレットをGoldenGateインスタンスにコピーします。
      scp -i privatekey.ssh wallet_ATPS.zip opc@oggmachine:/u02/deployments/Target/etc
    2. GoldenGateインスタンスにログインし、指定された場所にウォレットを解凍します。
      /u02/deployments/Target/etc/adb
    3. sqlnet.oraファイルでウォレットの場所を変更します。
      /u02/deployments/Target/etc/adb

      ノート:

      /u02/deployments/Target/etc/には、もう1つsqlnet.oraファイルがあります。必ず、このファイルを削除し、/u02/deployments/Target/etc/adbに存在するsqlnet.oraで更新してください。
    4. /u02/deployments/Target/etcディレクトリにある既存のtnsnames.oraファイルを削除します。
    5. tnsnames.oraファイルを/u02/deployments/Target/etc/adbから/u02/deployments/Target/etcディレクトリにコピーします。
      -bash-4.2$ cat sqlnet.ora
      WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/u02/deployments/Target/etc/adb")))
      SSL_SERVER_DN_MATCH=yes
  3. GoldenGateハブ・サブネットでポート443のイングレスが許可されていることを確認します。『Oracle Autonomous Database on Dedicated Exadata Infrastructure』例のセキュリティ・イングレス・ルールに関する項を参照してください。
ソース・データベースでのGoldenGateユーザーの作成

ソース・データベースで、SYSDBA権限を持つSYSユーザーとしてGoldengateユーザーを作成する必要があります。

  1. SYS as SYSDBAユーザーとしてPDBデータベースに接続してから、PDBソース・データベースにGoldenGate管理ユーザーggadminを作成します。
    CREATE USER ggadmin IDENTIFIED BY <ggadmin_password> DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
    ALTER USER ggadmin QUOTA 100M ON USERS;
    GRANT UNLIMITED TABLESPACE TO ggadmin;
    GRANT CONNECT, RESOURCE TO ggadmin;
    GRANT SELECT ANY DICTIONARY TO ggadmin;
    GRANT CREATE VIEW TO ggadmin;
    GRANT DBA to ggadmin;
    GRANT EXECUTE ON dbms_lock TO ggadmin;
    EXEC dbms_goldengate_auth.GRANT_ADMIN_PRIVILEGE('ggadmin');
  2. SYS as SYSDBAユーザーとしてCDBデータベースに接続し、c##ggadminとしてCDBルートに別のユーザーを作成します。
    CREATE USER c##ggadmin IDENTIFIED BY <c##ggadmin_password> DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
    ALTER USER c##ggadmin QUOTA 100M ON USERS;
    GRANT UNLIMITED TABLESPACE TO c##ggadmin;
    GRANT CONNECT, RESOURCE TO c##ggadmin container=all;
    GRANT SELECT ANY DICTIONARY TO c##ggadmin container=all;
    GRANT CREATE VIEW TO c##ggadmin container=all;
    GRANT EXECUTE ON dbms_lock TO c##ggadmin container=all;
    GRANT DBA to c##ggadmin container=all;
    EXEC dbms_goldengate_auth.GRANT_ADMIN_PRIVILEGE('c##ggadmin',container=>'all');
ターゲット・データベースでのGoldenGateユーザーの作成またはロック解除

ターゲット・データベースでggadminユーザーをロック解除するには、GoldenGateマーケットプレイス・ターゲット・インスタンスで次のコマンドを実行します。

  1. adminとしてターゲット・データベースに接続します。
    export TNS_ADMIN=/u02/deployments/Target/etc/adb
    export ORACLE_HOME=/u01/app/client/oracle19
    $ORACLE_HOME/bin/sqlplus admin/<admin_password>@<ATP_databasename>

    ATP_databasenameの一例は、targetatp_tpです。

  2. ggadminをロック解除します。
    SQL> ALTER USER ggadmin IDENTIFIED BY <ggadmin_password> ACCOUNT UNLOCK;
  3. ggadminがロック解除されていることを確認します。
    export TNS_ADMIN=/u02/deployments/Target/etc/adb
    export ORACLE_HOME=/u01/app/client/oracle19
    $ORACLE_HOME/bin/sqlplus ggadmin/<ggadmin_password>@<ATP_databasename>
移行のためのデータベースの準備

データベース移行ユーザーへの権限の付与

データベース移行を担当するユーザーを、指定されたグループに追加し、必要な権限を付与します。

必ず、データ移行を開始する前に、テナンシの非管理ユーザーに次のポリシーを付与してください:
Allow group dmsGroup to manage odms-connection in compartment dmsCompartment
Allow group dmsGroup to manage odms-migration in compartment dmsCompartment
Allow group dmsGroup to manage odms-agent in compartment dmsCompartment
Allow group dmsGroup to manage odms-job in compartment dmsCompartment
Allow group dmsGroup to manage users in tenancy where all {target.user.id=‘ocid1.user.oc1..aaaaaaaaqutjpgdabhqd4p4jfoyrbu6n6ihjoqisucfqdljikengtlnlvnyq’, request.operation=/*AuthToken*/}
Allow group dmsGroup to inspect users in tenancy where all {target.user.id=‘ocid1.user.oc1..aaaaaaaaqutjpgdabhqd4p4jfoyrbu6n6ihjoqisucfqdljikengtlnlvnyq’}
Allow group dmsGroup to manage tag-namespaces in compartment dmsCompartment
Allow group dmsGroup to manage virtual-network-family in compartment Networks
Allow group dmsGroup to manage buckets in compartment dmsCompartment
Allow group dmsGroup to manage objects in compartment dmsCompartment
Allow group dmsGroup to manage autonomous-database-family in compartment dmsCompartment
Allow group dmsGroup to manage database-family in compartment dmsCompartment
Allow group dmsGroup to manage instance-family in compartment dmsCompartment
Allow group dmsGroup to manage volume-family in compartment dmsCompartment
Allow group dmsGroup to manage goldengate-family in compartment dmsCompartment
Allow service goldengate to manage vaults in tenancy
Allow service goldengate to manage keys in tenancy
Allow service goldengate to manage secret-family in tenancy
Allow service goldengate to manage objects in compartment dmsCompartment
Allow group dmsGroup to manage all-resources in compartment dmsCompartment
Allow group dmsGroup to inspect teanancies in tenancy
データベース移行ユーザーへの権限の付与の詳細は、『Oracle Cloud Infrastructure Database Migrationサービスの使用』データベース移行ユーザーへの権限の付与に関する項を参照してください。
SUDOアクセスの構成

場合によっては、ソース・データベース・サーバーでsudoを使用して操作を実行する権限を特定のユーザーに付与する必要があります。

ソース・データベース・サーバーのsudoアクセスを構成するには、『Oracle Cloud Infrastructure Database Migrationサービスの使用』sudoアクセスの構成に関する項を参照してください。
移行のためのソース・データベースの準備

必ず、データの移行を開始する前にソース・データベースを構成してください。

  1. 少なくとも2.1GBのSTREAMS_POOL_SIZEを使用して、オンライン論理移行のためにソース・データベースを準備します。

    ノート:

    オフライン論理移行はサポートされていません。
    1. STREAMS_POOL_SIZEを構成します。
    2. SYSユーザーとしてCDBソース・データベースに接続し、次のコマンドを実行します:
      SQL> ALTER SYSTEM SET streams_pool_size > 2 GB scope=both;
      ALTER SYSTEM SET global_names=false;
      archive log list;
      commit;
    3. SYSユーザーとしてPDBソース・データベースに接続し、次のコマンドを実行します:
      SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
      ALTER SYSTEM SET global_names=false;
      archive log list;
      commit;
  2. ARCHIVELOGがまだ有効になっていない場合は有効にします。『Oracle Cloud Infrastructure Database Migrationサービスの使用』移行のためのソース・データベースの準備に関する項のステップ3bを参照してください。
  3. ロギングを有効にします。
    sqlplus > ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; (execute on both cdb and pdb)
    sqlplus > ALTER DATABASE FORCE LOGGING;(execute only on cdb)

    ノート:

    アップグレード・シナリオでの移行の失敗を回避するには、必ず、コマンドSQL> revoke DBA from FMW;を使用して、PDBでの移行を開始する前にFusion MiddlewareユーザーからDBAロールを取り消してください。権限付与が原因で失敗した場合は、「DBAロール権限の問題」を参照してください。
  4. データ転送メディアとしてオブジェクト・ストレージを使用している場合は、エクスポート・ディレクトリ・オブジェクトが存在し、生成されたダンプ・ファイルを格納するためにデータ・ポンプによって使用可能であることを確認してください。
    1. ディレクトリ・オブジェクトは、ソース・データベース・サーバーのファイル・システム上のファイル・パスです。名前は、Oracle Databaseディレクトリ・オブジェクト・ルールに準拠している必要があります。
    2. エクスポート・ディレクトリ・オブジェクトは、データベースのOracleホームを所有するのと同じOSユーザーが所有する必要があります。
  5. ソース・データベース・サーバーに接続します。
    1. ソース・データベースに新しいディレクトリを作成し、必要な権限を付与します。
    2. sysユーザーとしてソース・データベースPDBに接続します。

      ノート:

      必ず、「ソース・データベースでのGoldenGateユーザーの作成」で作成したggadminユーザーがPDBに存在することを確認してください。
      CREATE OR REPLACE DIRECTORY <DPDIR> as '/u01/app/oracle/product/19.0.0.0/dbhome_1/rdbms/log/<DPDIR>'; (Directory Created)
      Note: Make sure that this folder structure exists.
      GRANT READ,WRITE ON DIRECTORY <DPDIR> to ggadmin; (grant succeeded)
      commit;
      SELECT OWNER,directory_path from dba_directories where directory_name like '%<DPDIR>%'; ( It should display 1 row)
      exit ;

      ノート:

      ディレクトリ・オブジェクトは、ソース・データベース・サーバーのファイル・システム上のファイル・パスです。名前は、Oracle Databaseディレクトリ・オブジェクト・ルールに準拠している必要があります。『SQL言語リファレンス』CREATE DIRECTORYに関する項を参照してください。

  6. 必須のRDBMSパッチをソース・データベースに適用します。
移行のためのターゲット・データベースの準備

必ず、データの移行を開始する前にターゲット・データベースを構成してください。

tnsnames.oraで指定されているデータベース・サービス名databasename_tpurgentまたはdatabasename_tpのうち、1つのみを使用する必要があります。データベース・サービス名の詳細は、『Oracle Autonomous Database on Shared Exadata Infrastructureの使用』Autonomous DatabaseのMDWデータベース・サービス名に関する項を参照してください。

  1. GoldenGateマシンからターゲット・データベースに接続します。
    export TNS_ADMIN=/u02/deployments/Target/etc/adb 
    export ORACLE_HOME=/u01/app/client/oracle19
    cd $ORACLE_HOME/bin
    /sqlplus admin/<admin_password>@<ATP_databasename>
  2. ロールが存在しない場合は、手動で作成します。
    CREATE ROLE STBROLE;
  3. GLOBAL_NAMESパラメータを確認します。このパラメータがtrueに設定されている場合は、falseに変更します。
    show parameter global;
    alter system set global_names=false;
データベース移行サービスへのアクセス

Oracle Cloud Infrastructure Database Migrationには、Oracle Cloudインタフェース・コンソール(ブラウザ・ベースのインタフェース)、REST API、またはOracle Cloud Infrastructureソフトウェア開発キットとコマンドライン・インタフェースを使用してアクセスできます。

詳細は、『Oracle Cloud Infrastructure Database Migrationサービスの使用』を参照してください。

データベースの登録

登録済データベース・リソースを作成して、Oracle Cloud Infrastructure Database Migrationで使用するソース・データベースとターゲット・データベースを登録する必要があります。

データベースを登録するには、『Oracle Cloud Infrastructure Database Migrationサービスの使用』を参照してください。

移行前のタスク

オンプレミス・データベースからOracle Autonomous Transaction Processing-Shared (ATP-S)データベースにデータを移行する前に、次の移行前のタスクを実行します

Oracle Formsの移行前のタスク

Oracle FormsでデータをOracle Autonomous Transaction Processing-Shared (ATP-S)データベースに移行する前に、次の移行前のタスクを実行します。

ユーザーが自分で定義したスキーマを作成した場合は、ソース・データベースでSYSユーザーとして次に示すコマンドを実行します:

例:
ALTER USER abc identified by <Schema_Password> account unlock;
GRANT read,write on DIRECTORY test_dir to abc;
commit;
# Export the schemas using expdp
expdp system/<SYS_PASSWORD>@<DB_SID> schemas=abc directory=test_dir dumpfile=abc_meta.dmp logfile=abc1.log

オンプレミス・データベースからユーザーをエクスポートした場合は、ターゲット・データベースで次に示すコマンドを実行します:

例:
CREATE TABLESPACE "USERS";
Create user abc identified by <Schema_Password> DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;
GRANT UNLIMITED TABLESPACE to abc;
GRANT CONNECT, create view, create table, create procedure, create trigger, create synonym, create sequence, create type to abc;
commit;
#connect as abc user
connect abc/<password>@fmwatpdedic2_tp;
CREATE TABLE DEPT("DEPTNO" NUMBER(2,0),"DNAME" CHAR(14 BYTE),"LOC" CHAR(13 BYTE));
CREATE TABLE EMP("EMPNO" NUMBER(4,0),"ENAME" CHAR(10 BYTE), "JOB" CHAR(9 BYTE), "MGR" NUMBER(4,0),"HIREDATE" DATE,"SAL" NUMBER(7,2),"COMM" NUMBER(7,2), "DEPTNO" NUMBER(2,0));
commit;
# Drop the current table in the database and recreate the new table as in the dump file using impdp
impdp admin/<admin_password>@fmwatpdedic2_tp credential=DEF_CRED_NAME /
dumpfile=https://objectstorage.us-ashburn-1.oraclecloud.com/n/atpdpreview2/b/FormsInstallDBMigration/o/abc_meta.dmp /
TABLE_EXISTS_ACTION=REPLACE
Oracle GoldenGate Veridataの移行前のタスク

Oracle GoldenGate VeridataでデータをOracle Autonomous Transaction Processing-Shared (ATP-S)データベースに移行する前に、次の移行前のタスクを実行します。

Oracle GoldenGate Veridataの場合、ソース・データベースでSYSユーザーとして次のロールを作成します:

CREATE ROLE VERIDATA_ROLE;
GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, CREATE SYNONYM TO VERIDATA_ROLE;
GRANT VERIDATA_ROLE TO <PREFIX_GIVEN>_STB;
GRANT VERIDATA_ROLE TO <PREFIX_GIVEN>_IAU;
GRANT VERIDATA_ROLE TO <PREFIX_GIVEN>_IAU_APPEND;
GRANT VERIDATA_ROLE TO <PREFIX_GIVEN>_IAU_VIEWER;
GRANT VERIDATA_ROLE TO <PREFIX_GIVEN>_OPSS;
GRANT VERIDATA_ROLE TO <PREFIX_GIVEN>_VERIDATA;
GRANT VERIDATA_ROLE TO <PREFIX_GIVEN>_WLS;
GRANT VERIDATA_ROLE TO <PREFIX_GIVEN>_WLS_RUNTIME;
スキーマ・バージョン・レジストリのバックアップの作成

オンプレミス・ホスト上のUpgrade Assistantを使用して、オンプレミス・データベースに既存のスキーマ・バージョン・レジストリのバックアップを作成します。

スキーマ・バージョン・レジストリのバックアップを作成するには:

  1. $OH/oracle_common/upgrade/binに移動します。
  2. ORACLE_HOME=<Oracle_home>をエクスポートします。
  3. オンプレミス・データベースua -backupRegistryを実行して、既存のスキーマ・バージョン・レジストリをバックアップします。
    ./ua -backupRegistry
    Oracle Fusion Middleware Upgrade Assistant 12.2.1.4.0
    Enter the Database Connect String(host:port/service or host:port:SID or TNS connect string):
    myhost.us.example.com:<port_number>/myservice.us.example.com
    Enter the DBA User Name: sys as sysdba
    Enter the DBA Password: <DBA_Password>
    スキーマ・バージョン・レジストリは、./registry.xmlの場所に保存されます。
移行の作成

移行には、Oracle Cloud Infrastructureデータベース移行を使用して移行ジョブを実行するためのパラメータ設定が含まれます。

  1. Oracle GoldenGateインスタンスにログインします。
  2. /home/opcに移動して、GoldenGate資格証明にアクセスします。
  3. 次を使用して移行ジョブを作成します:
    1. オブジェクト・ストレージ経由のデータポンプ
    2. オンライン・レプリケーション
    詳細は、『Oracle Cloud Infrastructure Database Migrationサービスの使用』移行の管理に関する項を参照してください。
  4. 各製品のすべてのスキーマのデフォルト表領域および一時表領域を見つけるには、ソース・データベースで次のコマンドを実行します:
    • すべての製品:
      select username,default_tablespace,temporary_tablespace from dba_users;

    このステップで取得したこれらのデフォルト表領域および一時表領域を、DMSユーザー・インタフェースでそれぞれDATAおよびTEMPにマップします。詳細は、『Oracle Cloud Infrastructure Database Migrationサービスの使用』を参照してください。

移行の検証

Oracle Cloud Infrastructure Database Migrationで移行リソースを使用してジョブを実行する前に、移行リソースを検証する必要があります。

  1. 移行ジョブを検証します。詳細は、『Oracle Cloud Infrastructure Database Migrationサービスの使用』移行の検証に関する項を参照してください。
    必ず、移行ジョブの検証中に次のチェック・ボックスを選択してください:
    • 検証中に移行前アドバイザを実行。
    • エラー発生時に移行前アドバイザ検証を続行。
  2. 検証中に検出された問題を修正。既知の問題および回避策の詳細は、「ATP-Sデータベース移行のトラブルシューティング」を参照してください。
サポートされないオブジェクトの除外

移行リソースの作成中に、移行ジョブに含めるオブジェクトまたは除外するオブジェクトを指定する必要があります。

レプリケーション目的でGoldenGateでサポートされていないデータ型がいくつかあります。これらのサポートされていないオブジェクトは、検証フェーズ中に失敗します。Oracle Text Search (OTS)に関連するオブジェクトのうち、Oracle Autonomous Transaction Processing-Shared (ATP-S)データベースでサポートされていないものがいくつかあります。そのため、これらのサポートされていないオブジェクトをオンライン移行から除外して、後でデータ・ポンプを使用して手動でエクスポートおよびインポートする必要があります。詳細は、『Oracle DatabaseのためのOracle GoldenGateの使用』Oracleデータ型およびオブジェクトのサポートの詳細に関する項を参照してください。

ALL_OBJECTSビューを選択すると、除外するすべてのオブジェクトについて正しいOWNER値とOBJECT_NAME値が表示されます。詳細は、『Oracle Cloud Infrastructure Database Migrationサービスの使用』Oracle移行のためのオブジェクトの選択に関する項を参照してください。

Oracle GoldenGateのサポートされていないオブジェクトを除外するには、表B-1を参照し、CPATツールのエラーのためにオブジェクトを除外するには、「CPATツールのエラーのために移行ジョブから除外する必要があるオブジェクト」を参照してください。

ノート:

移行が完了すると、OTSに対して、除外されたオブジェクトが動的に再生成されます。

データの移行

登録済データベース・リソースを作成して、Oracle Cloud Infrastructure Database Migrationで使用するソース・データベース(PDBとCDBを別々に)およびターゲット・データベースを登録します。登録済データベース・リソースにより、ソース・データベースとターゲット・データベースのネットワーキングおよび接続が可能になります。

移行の実行

Oracle Identity and Access Management Suite製品を除くすべてのOracle Fusion Middleware製品で、オンプレミス・データベースからデータを移行するには、次のステップを実行します。

  1. 移行ジョブを実行します。詳細は、『Oracle Cloud Infrastructure Database Migrationサービスの使用』移行ジョブの実行に関する項を参照してください。
  2. 「レプリケーション・ラグのモニター」フェーズの後で一時停止し、待機中状態の間、トランザクション・レプリケーションが続行されるようにします。
  3. Oracle Data Pumpのexpdpおよびimpdpコマンドを使用して、除外対象オブジェクトを手動で移行します。

    「移行のためのソース・データベースの準備」のステップ5を参照してください。ユーザー権限については、各製品の表A-1を参照してください。

    <DB $OH>ディレクトリにパラメータを作成するには、表A-2を参照してください。

  4. expdpコマンドを使用して、すべてのスキーマを一度にエクスポートします。
    例:
    ./expdp ggadmin/<ggadmin_password>@<PDB_connect_string> dumpfile=dump_tables.dmp 
    logfile=<logfilename>.log directory=<DPDIR> parfile=<parfilename>.par full=y

    MDS (メタデータ・サービス)スキーマを個別にエクスポートするには、次のコマンドを実行します:

    例:

    ./expdp <schema_prefix>_MDS/<MDS_schema_password>@<PDB_connect_string> directory=<DPDIR> dumpfile=<dumpfilename>.dmp logfile=<logfilename>.log
    parfile=<parfilename>.par

    各製品のexpdpコマンドについては、表A-3を参照してください。

  5. エクスポート後、MDSスキーマに対して次を実行します:
    1. ATP-Sでインポートを実行する前に、コンテンツを検証するsqlfileを生成します。
      impdp <schema_prefix>_MDS/<MDS_schema_password>@<PDB_connect_string> dumpfile=<dumpfilename>.dmp sqlfile=<DPDIR>:<filename>_imp.sql

      ここで、dumpfilename.dmpは、ステップ4のMDSスキーマのexpdpコマンドのダンプ・ファイルです。

    2. PDBでSYSまたはggadminユーザーとしてSQLコマンドを実行します。
      sqlplus > select dbms_metadata.get_ddl('TABLE','TABLE_NAME','<schema_prefix>_MDS') from dual;

      ノート:

      前述の問合せの結果を、/u01/app/oracle/product/19.0.0.0/dbhome_1/rdbms/log/<DPDIR><filename>_imp.sqlの内容とあわせて確認します。両方の結果が同じである必要があります。
  6. ダンプ・ファイルをクラウド・オブジェクト・ストレージにアップロードし、パスをコピーします。
  7. データ・ダンプ・ファイルをスキーマのATP-Sデータベースにインポートします。
    1. Oracle Fusion Middleware製品をインストールしたOracle Cloud Infrastructure (OCI)ホストで、次の環境変数を設定します。
      cd /usr/lib/oracle/21/client64/bin
      export LD_LIBRARY_PATH=/usr/lib/oracle/21/client64/lib:$LD_LIBRARY_PATH
      export PATH=/usr/lib/oracle/21/client64/bin:$PATH
      export TNS_ADMIN=<ATP-S_wallet_location>
      /sqlplus /nolog
      connect admin/<admin_password>@<ATP_databasename>                                                                                                                                                                                                                                                                                                                                                                                                       
    2. 資格証明を作成します。
      BEGIN
        DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => '<DEF_CRED_NAME>',
        username => '<OCI_Username>',
        password => '<Your_Auth_Token_Here>'
        );
      END;
      /
    3. impdpコマンドを使用して表領域を再マップします。
      例:
      impdp admin/<admin_password>@<ATP_databasename> credential=def_cred_name dumpfile= <dump_file_cloud_object_storage_location>.dmp REMAP_TABLESPACE=<schema_prefix>_SCHEMA:DATA
      REMAP_TABLESPACE=<schema_prefix>_IAS_TEMP:TEMP
      

      各製品のimpdpコマンドについては、表A-3を参照してください。

    4. MDSの場合、MDSパージ・パス表が正常にインポートされるかどうかをテストします。
      select table_name from dba_tables where owner='<schema_prefix>_MDS' and table_name like 'MDS_PURGE_PATHS';
ここで、スキーマ・バージョン・レジストリをリストアし、作成したターゲットATP-Sターゲット・データベースでドメインをリワイヤリングし、構成ファイルを更新し、サーバーを再起動して、健全性チェックを実行する必要があります。「スキーマ・バージョン・レジストリのリストア」「ATP-Sターゲット・データベースでのドメインのリワイヤリング」「構成ファイルの更新」「サーバーの再起動」および「健全性チェックの実行」を参照してください。

スキーマ・バージョン・レジストリのリストア

オンプレミス・データベースからOracle Autonomous Transaction Processing-Shared (ATP-S)データベースにスキーマ・バージョン・レジストリを移行するには、スキーマ・バージョン・レジストリを共有自律型データベース上にリストアする必要があります。

ノート:

次のトピックは、データベース移行(DMS)サービスを使用してオンプレミス・データベースからATP-Sデータベースにデータを移行する場合に適用されます。
スキーマ・バージョン・レジストリをATP-Sデータベースにリストアするには
  1. $OH/oracle_common/upgrade/binに移動します。
  2. ua restoreRegistry用のOPatch 32089134を適用し、Autonomous Transaction Processingデータベースに適用可能なパッチ31676526および30540494を適用します。『リポジトリ作成ユーティリティによるスキーマの作成』Oracleホームへのパッチの適用に関する項を参照してください。
  3. 設定する環境変数
    export UA_PROPERTIES="-Doracle.jdbc.fanEnabled=false"

    この環境変数を設定しないと、SEVERE: attempt to configure ONS in FanManager failed with oracle.ons.NoServersAvailable: Subscription time outというエラーが表示されます。

  4. ATP-Sデータベースでua -restoreRegistryを実行します。
    [opc@fmw-atps-3 bin]$ cd <OH>/oracle_common/upgrade/bin
    [opc@fmw-atps-3 bin]$ export ORACLE_HOME=<OH>
    [opc@fmw-atps-3 bin]$ ./ua -restoreRegistry
    Oracle Fusion Middleware Upgrade Assistant 12.2.1.4.0
    Enter location of Schema Version Registry backup file:
    <OH>/oracle_common/upgrade/bin/registry.xml
    Restoring from <OH>/oracle_common/upgrade/bin/registry.xml
    Enter prefix or * for list:
    <schema_prefix>
    Enter the Database Connect String:
    (host:port/service or host:port:SID or TNS connect string)
    jdbc:oracle:thin:@<ATP_databasename>?TNS_ADMIN=<ATP-S_wallet_location>
    Enter the DBA User Name:
    ADMIN
    Enter the DBA Password:
    <Date Time> oracle.simplefan.impl.FanManager configure
    Schema Version Registry restored from <OH>/oracle_common/upgrade/bin/registry.xml
    Rows removed: 0. Rows inserted: 6

    ノート:

    registry.xmlファイルの完全な場所を入力し、完全なデータベース接続文字列を渡す必要があります。

移行後のタスクの完了

オンプレミス・データベースからOracle Autonomous Transaction Processing-Shared (ATP-S)データベースにデータを移行した後、この項で説明するタスクを実行します。これらのタスクの一部は特定のスキーマに適用されます。

ノート:

次のトピックは、データベース移行(DMS)サービスを使用してオンプレミス・データベースからATP-Sデータベースにデータを移行する場合に適用されます。

Oracle Data Integratorの移行後のタスク

Oracle Data Integrator (ODI)でオンプレミス・データベースからOracle Autonomous Transaction Processing-Shared (ATP-S)データベースにデータを移行した後、この項で説明する移行後のステップを実行します。

マスター・リポジトリに接続し、作業リポジトリの詳細を変更して、ODI Studioの作業リポジトリ接続URL設定を変更します。
  1. 有効な資格証明を使用してマスター・リポジトリに接続します。
  2. 作業リポジトリを開くには、「トポロジ」をクリックしてから、「WORK_REPO」をクリックします。
  3. 作業リポジトリの「接続情報」をクリックし、接続文字列を更新します。
    接続文字列の例:
    jdbc:oracle:thin:@<<connect_name>?TNS_ADMIN=/home/opc/WalletDB
  4. 接続を保存し、テストします。
  5. 「ログイン」画面で、作業リポジトリを選択し、ログインを続行します。

ATP-Sターゲット・データベースでのドメインのリワイヤリング

Oracle Fusion Middlewareドメインのデータソースを、新しく作成したATP-Sターゲット・データベースでリワイヤリングする必要があります。

ドメインをリワイヤリングするには:
  1. WebLogicリモート・コンソールにログインします。
  2. 「サービス」に移動し、「データソース」を選択します。
  3. すべてのデータ・ソース接続文字列をATP-Sデータベース接続文字列で更新します。
    接続文字列の形式は、jdbc:oracle:thin:@TNS_alias?TNS_ADMIN=<path_of_the_wallet_files, ojdbc.properties, and tnsnames.ora>です

構成ファイルの更新

この項のステップに従って、config.xml構成ファイルと、Oracle Cloud Infrastructure Database Migrationドメイン・ホストのOracle Platform Security Services (OPSS)構成ファイル、jps-config.xmlおよびjps-config-jse.xmlファイルを更新します。

  1. config.xmlファイルを更新するには:
    1. OCIドメイン・ホストのディレクトリ$DOMAINHOME/configに移動します。
    2. RDBMSセキュリティ・ストアがオンプレミス・ドメインで有効になっている場合は、次のいずれかの方法でconfig.xmlファイルを更新します:
      • WebLogicリモート・コンソールで、「セキュリティ」「レルム」にナビゲートし、「RDBMSセキュリティ・ストア」をクリックして、RDBMS接続構成を更新します。
      • WebLogic Scripting Tool (WLST).の使用

        ノート:

        sec:connection-urlの場合、 jdbc:oracle:thin:@@//dbserver:listener_port/DB_ServiceNameを、新しいデータベースの場所jdbc:oracle:thin:@TNS_alias?TNS_ADMIN=<path_of_the_wallet_files, ojdbc.properties, and tnsnames.ora>で更新します。

        config.xmlファイルを更新するコマンドの例:

        store = realm.getRDBMSSecurityStore()
        store.setUsername('<Db_SchemaUser>')
        store.setPassword('<Db_SchemaPassword>')
        store.setConnectionURL('jdbc:oracle:thin:@TNS_alias?TNS_ADMIN=<path_of_the_wallet_files, ojdbc.properties, and tnsnames.ora>')
        store.setDriverName('<driverName>')

        更新後のconfig.xmlの例:

        <sec:rdbms-security-store>
            <sec:username><Db_SchemaUser></sec:username>
            <sec:password-encrypted><Db_SchemaPassword></sec:password-encrypted>
            <sec:connection-url>jdbc:oracle:thin:@TNS_alias?TNS_ADMIN=<path_of_the_wallet_files, ojdbc.properties, and tnsnames.ora>
            <sec:driver-name><driverName></sec:driver-name>
        </sec:rdbms-security-store>
  2. jps-config.xmlおよびjps-config-jse.xmlファイルを更新するには:
    1. OCIドメイン・ホストの$DOMAINHOME/config/fmwconfigディレクトリに移動します。
    2. jps-config.xmlで、jdbc.urlプロパティを新しい接続文字列に置き換えます。
      jdbc:oracle:thin:@TNS_alias?TNS_ADMIN=<path_of_the_wallet_files, ojdbc.properties, and tnsnames.ora>

      例:

      jdbc:oracle:thin:@fmwatpsim_tp?TNS_ADMIN=/home/opc/
    3. jps-config-jse.xmlで、jdbc.urlおよびaudit.loader.jdbc.stringプロパティを新しい接続文字列に置き換えます。
      移行中に、Oracle Autonomous Transaction Processing-Shared (ATP-S)データベースでOPSSパスワードを変更した場合は、オフライン・モードで次のWebLogic Scripting Tool (WLST)コマンドを実行します:
      cd <Domain_Home>/oracle_common/common/bin./wlst.sh
      
      Initializing WebLogic Scripting Tool (WLST) ...Jython scans all the jar files it can find at first startup.
      Depending on the system, this process may take a few minutes to complete, and WLST may not return a prompt right away.
      Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands
      
      modifyBootStrapCredential(jpsConfigFile="<Domain_Home>/config/fmwconfig/jps-config-jse.xml",
      username="<Prefix>_OPSS", password="<New_Password>")
  3. 変更内容を保存します。

サーバーの再起動

オンプレミスからOracle Autonomous Transaction Processing-Shared (ATP-S)データベースにデータを移行した後、すべてのプロセスおよびサーバー(管理サーバーと管理対象サーバーを含む)を再起動します。

『Oracle Fusion Middlewareの管理』管理サーバーと管理対象サーバーおよびノード・マネージャの起動と停止に関する項を参照してください

健全性チェックの実行

オンプレミスからOracle Autonomous Transaction Processing-Shared (ATP-S)データベースにデータを移行した後、アプリケーションURLを確認し、アプリケーションからデータにアクセスできることを確認します。

健全性チェックの実行後:

  • Oracle Fusion Middleware製品の場合- 「スイッチオーバー」フェーズでジョブを再開し、「スイッチオーバー」フェーズと「クリーンアップ」フェーズを完了して、移行を完了します。