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データベースに移行するために必要なステップの概要を示します。

表2-1 移行のロードマップ

製品名 移行ワークフロー

Oracle Identity and Access Management Suite製品を除くすべてのOracle Fusion Middleware製品

ノート: スキーマ・バージョン・レジストリのバックアップを作成する前に、Oracle FormsおよびOracle GoldenGate Veridataの移行前のタスクを実行してください。「Oracle Formsの移行前のタスク」および「Oracle GoldenGate Veridataの移行前のタスク」を参照してください。

Oracle Identity and Access Management Suite製品

-

Oracle Access Manager

Oracle Identity Manager

Oracle Internet Directory

前提条件

次の各項で、オンプレミス・データベースから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. マルチテナント環境でPDBを移行する場合は、次を実行します:
    1. SYSユーザーとしてCDBソース・データベースに接続します。
    2. CDBソース・データベースでGoldenGateレプリケーションを有効にします。
      sqlplus > ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE SCOPE=BOTH;
  7. 必須のRDBMSパッチをソース・データベースに適用します。
移行のためのターゲット・データベースの準備

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

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

  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 Cloud Infrastructure Database Migrationサービスの使用』登録済データベースの管理に関する項を参照してください。

移行前のタスク

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

Oracle Internet Directoryの移行前のタスク

Oracle Internet Directoryでは、Oracle Autonomous Transaction Processing-Shared (ATP-S)データベースにデータを移行する前に、自動パージを無効にする移行前のタスクを実行する必要があります。

オンプレミス・データベースで自動パージを無効にするには:
  1. 環境変数を設定します。
    export JAVA_HOME=<JAVA_HOME>
    export ORACLE_HOME=<ORACLE_HOME>
    export DOMAIN_HOME=<DOMAIN_HOME>
    export WL_HOME=<ORACLE_HOME>/wlserver
    export PATH=$JAVA_HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/ldap/bin:$DOMAIN_HOME/bin:$PATH
  2. ldapsearchコマンドを使用してソース・データベースの現在のパージ構成データを読み取り、すべてのコンテナに対するorclpurgeenableの現在の値を取得します。
    ldapsearch -p <nonssl_ldap_port> -D cn=orcladmin -w <password> -b "cn=changelog
    purgeconfig,cn=purgeconfig,cn=subconfigsubentry"  -s base  "objectclass=*"
    ldapsearch -p <nonssl_ldap_port> -D cn=orcladmin -w <password> -b "cn=general stats
    purgeconfig,cn=purgeconfig,cn=subconfigsubentry"  -s base  "objectclass=*"
    ldapsearch -p <nonssl_ldap_port> -D cn=orcladmin -w <password> -b "cn=health stats
    purgeconfig,cn=purgeconfig,cn=subconfigsubentry"  -s base  "objectclass=*"
    ldapsearch -p <nonssl_ldap_port> -D cn=orcladmin -w <password> -b "cn=perf stats
    purgeconfig,cn=purgeconfig,cn=subconfigsubentry" -s base  "objectclass=*"
    ldapsearch -p <nonssl_ldap_port> -D cn=orcladmin -w <password> -b "cn=tombstone
    purgeconfig,cn=purgeconfig,cn=subconfigsubentry" -s base  "objectclass=*"
    ldapsearch -p <nonssl_ldap_port> -D cn=orcladmin -w <password> -b "cn=secrefresh events
    purgeconfig,cn=purgeconfig,cn=subconfigsubentry" -s base  "objectclass=*"
    ldapsearch -p <nonssl_ldap_port> -D cn=orcladmin -w <password> -b "cn=sysresource events
    purgeconfig,cn=purgeconfig,cn=subconfigsubentry" -s base  "objectclass=*"
    ldapsearch -p <nonssl_ldap_port> -D cn=orcladmin -w <password> -b
    "cn=oidstats_config,cn=purgeconfig,cn=subconfigsubentry" -s base
    "objectclass=*"
    ldapsearch -p <nonssl_ldap_port> -D cn=orcladmin -w <password> -b "cn=user statistics
    purgeconfig,cn=purgeconfig,cn=subconfigsubentry" -s base  "objectclass=*"
    ldapsearch -p <nonssl_ldap_port> -D cn=orcladmin -w <password> -b "cn=bindsec stats
    purgeconfig,cn=purgeconfig,cn=subconfigsubentry" -s base  "objectclass=*"
    ldapsearch -p <nonssl_ldap_port> -D cn=orcladmin -w <password> -b "cn=comparesec stats
    purgeconfig,cn=purgeconfig,cn=subconfigsubentry" -s base  "objectclass=*"
    ldapsearch -p <nonssl_ldap_port> -D cn=orcladmin -w <password> -b "cn=comparefailure stats
    purgeconfig,cn=purgeconfig,cn=subconfigsubentry" -s base  "objectclass=*"
  3. ステップ2で取得した現在のパージ構成に基づいて、original_purge_config.ldifを変更して元のパージ構成を保存します。

    original_purge_config.ldifファイルの内容の例。この例では、original_purge_config.ldif - oidstats_configのエントリの1つのパージ値は、デフォルトで無効になっており、値が"0"であるため、変更されません。

    dn: cn=changelog purgeconfig, cn=purgeconfig, cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=general stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=health stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=perf stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=tombstone purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=secrefresh events purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=sysresource events purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=oidstats_config,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 0
    
    dn: cn=user statistics purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=bindsec stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=comparesec stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=comparefailure stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
  4. ldapmodifyコマンドを使用してソース・データベースのパージを無効にし、ステップ2で取得したすべてのコンテナに対するorclpurgeenableの値を"0"に設定します。
    ldapmodify  -p <nonssl_ldap_port> -D cn=orcladmin -w <password> -f disable_purge.ldif 

    disable_purge.ldifファイルの内容の例:

    dn: cn=changelog purgeconfig, cn=purgeconfig, cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 0
    
    dn: cn=general stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 0
    
    dn: cn=health stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 0
    
    dn: cn=perf stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 0
    
    dn: cn=tombstone purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 0
    
    dn: cn=secrefresh events purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 0
    
    dn: cn=sysresource events purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 0
    
    dn: cn=oidstats_config,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 0
    
    dn: cn=user statistics purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 0
    
    dn: cn=bindsec stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 0
    
    dn: cn=comparesec stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 0
    
    dn: cn=comparefailure stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 0
Oracle Identity Managerの移行前のタスク

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

ggadminユーザーとしてソースPDBにログインし、<schema_prefix>_SOAINFRAの変更セッションを許可します。

例:
grant alter session to <schema_prefix>_SOAINFRA;
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. 各製品のすべてのスキーマのデフォルト表領域および一時表領域を見つけるには、ソース・データベースで次のコマンドを実行します:
    • Oracle Access ManagerOracle Identity ManagerおよびOracle Internet Directoryを除くすべての製品の場合:
      select username,default_tablespace,temporary_tablespace from dba_users;
    • Oracle Identity ManagerおよびOracle Access Managerの場合:
      select username,default_tablespace,temporary_tablespace from dba_users where username like '<Schema_Prefix>%';
    • Oracle Internet Directoryの場合:
      select username,default_tablespace,temporary_tablespace from dba_users where username like '<Schema_Prefix>%';
      select username,default_tablespace ,temporary_tablespace from dba_users where username like 'ODS%';

    このステップで取得したこれらのデフォルト表領域および一時表領域を、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 GoldenGateでサポートされていないオブジェクトを除外するには、表B-1を参照し、CPATツールのエラーによるオブジェクトを除外するには、表B-2を参照してください。

ノート:

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

データの移行

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

移行の実行

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

Oracle Identity and Access Management Suite製品の場合は、「Oracle Identity and Access Managementでの移行の実行」を参照してください。Oracle Internet Directoryの場合は、「Oracle Internet Directoryでの移行の実行」を参照してください。
  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 Identity and Access Managementの移行の実行

Oracle Identity and Access Management製品、Oracle Access Manager (OAM)およびOracle Identity Manager (OIM)でオンプレミス・データベースからデータを移行するには、次のステップを実行します。

  1. 移行ジョブを実行します。詳細は、『Oracle Cloud Infrastructure Database Migrationサービスの使用』移行ジョブの実行に関する項を参照してください。
  2. 「レプリケーション・ラグのモニター」フェーズの後で一時停止し、待機中状態の間、トランザクション・レプリケーションが続行されるようにします。
  3. ドメインをOracle Autonomous Transaction Processing-Shared (ATP-S)データベースでリワイヤリングします。「ATP-Sターゲット・データベースでのドメインのリワイヤリング」を参照してください。
  4. ソース・データベースでドメインに関連するすべてのサービスを停止します。これにより、ソース・データベースのすべてのワークロードが停止します。
  5. Oracle Data Pumpのexpdpおよびimpdpコマンドを使用して、除外対象オブジェクトを手動で移行します。
    1. オンプレミス・データベースで、<DB $OH>に移動します。
      cd <DB $OH>/rdbms/log
      mkdir <DPDIR>
    2. ggadminユーザーとしてソースPDBにログインし、次のSQLを実行します:
      CREATE OR REPLACE directory <DPDIR> as '/u01/app/oracle/product/19.0.0.0/dbhome_1/rdbms/log/<DPDIR>';
      SELECT OWNER,directory_path from dba_directories where directory_name like '<DPDIR>';
      GRANT READ,WRITE ON DIRECTORY <DPDIR> to <List_of_schemas>;
      #For the list of schemas, see Table A-1 for each product.
      
    3. <DB $OH/>/binディレクトリにパラメータ・ファイルを作成します。
      # Sample contents of par file of included tables are:
      INCLUDE=TABLE:"IN (<TABLE_NAMES>)"
      #For list of tables, see Table A-2 for each product.
      
  6. expdpコマンドを使用して、すべてのスキーマを一度にエクスポートします。
    例:
    ./expdp ggadmin/<ggadmin_password>@<PDB_connect_string> dumpfile=<dumpfilename>.dmp 
    logfile=<logfilename>.log directory=<DPDIR> parfile=<parfilename>.par full=y

    ノート:

    OAMの場合、MDSスキーマのみをエクスポートする必要があります。

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

    例:

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

    OAMおよびOIMのexpdpコマンドについては、表A-3を参照してください。

  7. エクスポート後、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は、ステップ6の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の内容とあわせて確認します。両方の結果が同じである必要があります。
  8. ダンプ・ファイルをクラウド・オブジェクト・ストレージにアップロードし、パスをコピーします。
  9. データ・ダンプ・ファイルをスキーマの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コマンドを使用して表領域を再マップします。

      ノート:

      ダンプ・ファイルにアクセスできない場合は、ダンプ・ファイルの事前認証リクエストを作成します。Oracle Cloud Infrastructureドキュメントの特定のオブジェクトに対する事前認証済リクエストを作成する方法に関する項を参照してください。
      例:
      impdp admin/<admin_password>@<ATP_database_name> 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

      OAMおよびOIMのimpdpコマンドについては、表A-3を参照してください。

    4. MDSの場合、MDSパージ・パス表が正常にインポートされるかどうかをテストします。
      select table_name from dba_tables where owner='<schema_prefix>_MDS' and table_name like 'MDS_PURGE_PATHS';
表をエクスポートおよびインポートした後、「スイッチオーバー」フェーズでジョブを再開します。「スイッチオーバー」フェーズが完了したら、「クリーンアップ」フェーズの前にジョブを一時停止します。

ここで、スキーマ・バージョン・レジストリをリストアし、構成ファイルを更新し、サーバーを再起動し、OAMおよびOIMの移行後のタスクを実行して、健全性チェックを実行する必要があります。「スキーマ・バージョン・レジストリのリストア」「構成ファイルの更新」「サーバーの再起動」「Oracle Access Managerの移行後のタスク」「Oracle Identity Managerの移行後のタスク」および「健全性チェックの実行」を参照してください。

Oracle Internet Directoryの移行の実行

Oracle Internet Directoryでオンプレミス・データベースからデータを移行するには、次のステップを実行します

  1. 移行ジョブを実行します。詳細は、『Oracle Cloud Infrastructure Database Migrationサービスの使用』移行ジョブの実行に関する項を参照してください。
  2. 「レプリケーション・ラグのモニター」フェーズの後で一時停止し、待機中状態の間、トランザクション・レプリケーションが続行されるようにします。
  3. ソース・データベースでドメインに関連するすべてのサービスを停止します。これにより、ソース・データベースのすべてのワークロードが停止します。
  4. adminユーザーとしてOracle Autonomous Transaction Processing-Shared (ATP-S)データベースにログインし、次のコマンドを使用して表にある制約を変更します:
    1. SELECT TABLE_NAME, CONSTRAINT_NAME, CONSTRAINT_TYPE, STATUS, VALIDATED,
      LAST_CHANGE FROM DBA_CONSTRAINTS WHERE OWNER = 'ODS' and
      TABLE_NAME='CT_ORCLNORMDN' and status='DISABLED' and VALIDATED='VALIDATED';
      
    2. ALTER TABLE ODS.CT_ORCLNORMDN modify constraint <CONSTRAINT_NAME_Obtained_From_Step a> novalidate;
「スイッチオーバー」フェーズでジョブを再開します。「スイッチオーバー」フェーズが完了したら、「クリーンアップ」フェーズの前にジョブを一時停止します。

ここで、移行後のタスクを実行し、健全性チェックを実行する必要があります。「Oracle Internet Directoryの移行後のタスク」および「健全性チェックの実行」を参照してください。

ノート:

オンプレミス・データベースからデータを移行した後は、Oracle Internet Directoryの移行後のタスクの一部としてリワイヤリングが実行されるため、ドメインを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 Internet Directoryの移行後のタスク

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

  1. レジストリをリストアする前に、次の環境変数を設定します:
    export UA_PROPERTIES= -Doracle.jdbc.fanEnabled=false

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

  2. ATP-Sデータベースのウォレットを作成します。
    1. ウォレット・ファイルを$OH/network/adminにコピーします。
    2. ウォレットの場所$OH/network/adminを指すようにsqlnet.oraファイルを更新します。
    3. ファイルの最後にSSL_SERVER_DN_MATCH=yesを追加して、ojdbc.propertiesを更新します。
  3. ua restoreRegistry用のOPatch 32089134を適用し、Autonomous Transaction Processingデータベースに適用可能なパッチ30540494および31676526を適用し、スキーマ・バージョン・レジストリをTNS_ADMIN=<OH>/network/adminにリストアします。詳細は、『リポジトリ作成ユーティリティによるスキーマの作成』Oracleホームへのパッチの適用に関する項を参照してください。
    [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=<$OH>/network/admin
    Enter the DBA User Name:
    ADMIN
    Enter the DBA Password:
    <Date> oracle.simplefan.impl.FanManager configure
    Schema Version Registry restored from <OH>/oracle_common/upgrade/bin/registry.xml
    Rows removed: 0. Rows inserted: 6.
  4. <Domain_home>/config/jdbc/ディレクトリ内のデータ・ソースxmlファイルを更新します:
    • opss-audit-jdbc.xml
    • opss-datasource-jdbc.xml
    • LocalSvcTblDataSource-jdbc.xml
    • opss-auditview-jdbc.xml
    • WLSSchemaDataSource-jdbc.xml

    次に示すように、前述のxmlファイルのURLプロパティのオンプレミス・データベースURLをATP-Sデータベースに置き換えます:

    jdbc:oracle:thin:@<entry for tns_alias in tnsnames.ora of wallet>
    例:
    jdbc:oracle:thin:@(description=(retry_count=20)(retry_delay=3)
    (address=(protocol=<protocol_name>)(port=<port_number>)(host=<host_name>))
    (connect_data=(service_name=<service_name>.adb.oraclecloud.com))
    (security=(ssl_server_cert_dn="CN=adwc.uscom-east-1.oraclecloud.com, OU=Oracle BMCS US, O=Oracle Corporation, L=Redwood City, ST=California, C=US")))
  5. jps-config.xmlおよびjps-config-jse.xmlファイルを更新します:
    1. $Domain_home/config/fmwconfigディレクトリに移動します。
    2. jps-config.xmlファイルでjdbc.urlプロパティを新しい接続文字列に置き換えます。
    3. jps-config-jse.xmlファイルでjdbc.urlおよびaudit.loader.jdbc.stringプロパティを新しい接続文字列に置き換えます。
    ここでは、ATP-Sデータベース用のサンプル接続文字列を例示しています。
    "jdbc:oracle:thin:@(description=(retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)
    (host=pwyo5vyh.adb.us-ashburn-1.oraclecloud.com))(connect_data=(service_name=eotvufbvvdwnwko_fmwoid_tpurgent.adb.oraclecloud.com))
    (security=(ssl_server_cert_dn="CN=adwc.uscom-east-1.oraclecloud.com, OU=Oracle BMCS US, O=Oracle Corporation, L=Redwood City, 
    ST=California, C=US")))"

    ノート:

    次に示すように、前述のサンプル接続文字列内の二重引用符(")を&quot;に置き換えてください:
    "jdbc:oracle:thin:@(description=(retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)
    (host=pu77bvpd.adb.us-ashburn-1.oraclecloud.com))(connect_data=(service_name=eotvufbvvdwnwko_fmwatpsim_tp.adb.oraclecloud.com))
    (security=(ssl_server_cert_dn=&quot;CN=adwc.uscom-east-1.oraclecloud.com, OU=Oracle BMCS US, O=Oracle Corporation, L=Redwood City,
     ST=California, C=US&quot;)))"
  6. ウォレット・ファイルを<OH>/network/adminから<Domain_home>/config/fmwconfig/components/OID/configにコピーします(tnsnames.oraを除く)。
  7. 新しいウォレットの場所<Domain_home>/config/fmwconfig/components/OID/config.を指すようにsqlnet.oraを更新します。
  8. <Domain_home>/config/fmwconfig/components/OID/configtnsnames.oraの内容をOIDDB=<connect string for service name of ATP-S database>に置き換えます。
    例:
    OIDDB=(description=(retry_count=20)(retry_delay=3)
    (address=(protocol=tcps)(port=1522)(host=pu77bvpd.adb.us-ashburn-1.oraclecloud.com))
    (connect_data=(service_name=eotvufbvvdwnwko_fmwatpsim_tp.adb.oraclecloud.com))
    (security=(ssl_server_cert_dn="CN=adwc.uscom-east-1.oraclecloud.com, 
    OU=Oracle BMCS US, O=Oracle Corporation, L=Redwood City, ST=California, C=US")))
  9. すべてのウォレット・ファイルを<Domain_home>/config/fmwconfig/components/OID/configから移行前に作成されたすべてのOIDインスタンス構成場所にコピーします。
    たとえば、2つのインスタンスがある場合、<Domain_home>/config/fmwconfig/components/OID/configから次の場所にコピーします:
    • <Domain_home>/config/fmwconfig/components/OID/oid1/config (この場所にあるtnsnames.oraを置き換えます)。
    • <Domain_home>/config/fmwconfig/components/OID/oid2/config (この場所にあるtnsnames.oraを置き換えます)。
  10. TNS_ADMIN<Domain_home>/config/fmwconfig/components/OID/configおよびstartnodemanagerに設定します。
  11. 別の端末で、TNS_ADMIN<Domain_home>/config/fmwconfig/components/OID/configに設定し、管理サーバーを起動します。
  12. ODSユーザーとしてATP-Sデータベースにログインします。
    SQL > ALTER PACKAGE OLADD COMPILE;
    SQL > @<OH>/oid/common/sql/oid/scripts/ldapxpkg.sql;
  13. 環境変数を設定し、クリーンアップ・コマンドを実行します。

    ユーザーが移行前に2つのoidインスタンス(oid1およびoid2)を作成した場合、次の例に示すステップを実行します:

    [opc@fmw-atps-3 bin]$ export JAVA_HOME=<JAVA_HOME>
    [opc@fmw-atps-3 bin]$ export ORACLE_HOME=<ORACLE_HOME>
    [opc@fmw-atps-3 bin]$ export DOMAIN_HOME=<DOMAIN_HOME>
    [opc@fmw-atps-3 bin]$ export WL_HOME=<Oracle_home>/wlserver
    [opc@fmw-atps-3 bin]$ export
    PATH=$JAVA_HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/ldap/bin:$DOMAIN_HOME/bin:$PATH
    [opc@fmw-atps-3 bin]$ export INSTANCE_NAME=oid1
    [opc@fmw-atps-3 bin]$ export COMPONENT_NAME=oid1
    [opc@fmw-atps-3 bin]$ oidctl connect=oiddb cleanup
    [opc@fmw-atps-3 bin]$ oidctl connect=oiddb cleanup
    [opc@fmw-atps-3 bin]$ export COMPONENT_NAME=oid2
    [opc@fmw-atps-3 bin]$ oidctl connect=oiddb cleanup
    [opc@fmw-atps-3 bin]$ oidctl connect=oiddb cleanup

    ノート:

    インスタンスごとにクリーンアップを2回実行します。oidクリーンアップの実行で問題が発生した場合は、oidクリーンアップの実行に関する問題」を参照してください。
  14. WLSTのオンライン・コマンドを使用して、oidインスタンスを起動します。

    例:

    start('oid1')
  15. ldapmodifyコマンドおよびoriginal_purge_config.ldifを使用して、orclpurgeenableの元の値をリストアします。
    ldapmodify -p <nonssl_ldap_port> -D cn=orcladmin -w <password> -f original_purge_config.ldif
    

    original_purge_config.ldifファイルの内容の例:

    dn: cn=changelog purgeconfig, cn=purgeconfig, cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=general stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=health stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=perf stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=tombstone purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=secrefresh events purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=sysresource events purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=oidstats_config,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 0
    
    dn: cn=user statistics purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=bindsec stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=comparesec stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
    
    dn: cn=comparefailure stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
    changetype: modify
    replace: orclpurgeenable
    orclpurgeenable: 1
ここで、健全性チェックを実行する必要があります。「健全性チェックの実行」を参照してください。

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ターゲット・データベースでリワイヤリングする必要があります。このステップは、Oracle Internet Directoryを除くすべての製品に適用されます。

ドメインをリワイヤリングするには:
  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ファイルを更新します。このステップは、Oracle Internet Directoryを除くすべての製品に適用されます。

  1. config.xmlファイルを更新するには:
    1. OCIドメイン・ホストのディレクトリ$DOMAINHOME/configに移動します。
    2. RDBMSセキュリティ・ストアがオンプレミス・ドメインで有効になっている場合は、次のいずれかの方法でconfig.xmlファイルを更新します:
      • WebLogic Server管理コンソールで、「セキュリティ・レルム」に移動し、「レルム名」を選択し、「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 Internet Directoryを除くすべての製品に適用されます。

サーバーの再起動

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

ノート:

このステップは、Oracle Internet Directoryを除くすべての製品に適用されます

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

Oracle Access Managerで、影響のないエラー・メッセージが表示されます。サーバーの再起動時のエラーに関する項を参照してください。

Oracle Access Managerの移行後のタスク

この項で説明する移行後のステップを実行するのは、デフォルト・ストアが埋込みLDAPに更新される場合のみです(移行前に別のOracle Access Manager (OAM) IDストアに定義されていることが前提)。

移行後のタスクを実行する前に、スキーマ・バージョン・レジストリをリストアし、構成ファイルを更新して、サーバーを再起動する必要があります。「スキーマ・バージョン・レジストリのリストア」「構成ファイルの更新」、および管理サーバーと管理対象サーバーおよびノード・マネージャの起動と停止に関する項を参照してください。

  1. 次の環境変数を設定します。
    $ORACLE_HOME = Set to the OAM Oracle Home location
    $DOMAIN_HOME = Set to the OAM Domain Home location
    $DB_ORACLE_HOME = Set to the Database Oracle Home location
    $JAVA_HOME = Set to the JAVA location

    ノート:

    データベースがOAMサーバーがインストールされているマシン上にない場合、特定の環境のニーズを満たすようにこれらの環境変数を変更する必要があることがあります。このような場合、$DB_ORACLE_HOMEパスを使用してojdbc8.jarを見つけることはできません。
  2. オンプレミス・データベースからoam-config.xmlファイルをエクスポートします。
    <JAVA_HOME>/bin/java -cp <ORACLE_HOME>/idm/oam/server/tools/config-utility/config-utility.jar:<ORACLE_HOME>/oracle_common/modules/oracle.jdbc/ojdbc8.jar oracle.security.am.migrate.main.ConfigCommand $DOMAIN_HOME export <FILE_LOCATION>/prop.properties
    Sep 22, 2017 1:59:40 PM oracle.security.am.migrate.main.command.CommandFactory getCommand
    INFO: executable operation: export
    oam.exportDirPath=<DIRECTORY_PATH>
    oam.exportedFile=oam-config.xml
    oam.operation.time=2077

    <FILE_LOCATION>ディレクトリにエクスポートされたoam-config.xmlファイル。

  3. エクスポートされたoam-config.xmlファイルでシステムおよびデフォルト・ストアを確認し、アップグレード前にコンソールで行われた変更と一致させます。

    ノート:

    oam-config.xmlファイルのバージョンを変更しないでください。
  4. 更新したoam-config.xmlファイルを再びデータベースにインポートします。
    <JAVA_HOME>/bin/java -cp <ORACLE_HOME>/idm/oam/server/tools/config-utility/config-utility.jar:<ORACLE_HOME>/oracle_common/modules/oracle.jdbc/ojdbc8.jar oracle.security.am.migrate.main.ConfigCommand <DOMAIN_HOME> import <FILE_LOCATION>/prop.properties
    Sep 22, 2017 3:12:51 PM oracle.security.am.migrate.main.command.CommandFactory getCommand
    INFO: executable operation: import
    Sep 22, 2017 3:12:53 PM oracle.security.am.migrate.util.ConfigFileUtil replaceValue
    INFO: 70 will be replaced by 71
    Sep 22, 2017 3:12:54 PM oracle.security.am.migrate.operation.ImportConfigOperation invoke
    INFO: imported config file version to database:71
    oam.importDirPath=<DIRECTORY_PATH>
    oam.importedFile=oam-config.xml
    oam.importedVersion=71
    oam.operation.time=2217

ここで、健全性チェックを実行する必要があります。「健全性チェックの実行」を参照してください。

Oracle Identity Managerの移行後のタスク

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

移行後のタスクを実行する前に、スキーマ・バージョン・レジストリをリストアし、構成ファイルを更新して、サーバーを再起動する必要があります。「スキーマ・バージョン・レジストリのリストア」「構成ファイルの更新」、および管理サーバーと管理対象サーバーおよびノード・マネージャの起動と停止に関する項を参照してください。
  1. Oracle Identity Manager sysadminコンソールにログインします。
  2. 次の構成プロパティを作成します:
    • プロパティ名: 資格に対する階層属性サポート
    • キーワード: Catalog.HierarchicalAttributesOfEntitlement
    • 値: False
  3. OIMサーバーを再起動します。
ここで、健全性チェックを実行する必要があります。「健全性チェックの実行」を参照してください。

健全性チェックの実行

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

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

  • Oracle Identity and Access Management Suite製品、Oracle Access ManagerOracle Identity ManagerおよびOracle Internet Directoryの場合 - 「クリーンアップ」フェーズで一時停止したジョブを再開し、移行を完了します。
  • その他のOracle Fusion Middleware製品の場合- 「スイッチオーバー」フェーズでジョブを再開し、「スイッチオーバー」フェーズと「クリーンアップ」フェーズを完了して、移行を完了します。