6 Oracle Internet Directoryのアウトオブプレース・アップグレードの実行

Oracle Internet Directoryをアップグレードする場合、既存のディレクトリ・データを11g Oracle Internet Directoryインスタンスから新しくインストールした12c Oracle Internet Directoryインスタンスに移行します。これは1回かぎりの操作です。

ノート:

  • Oracle Internet Directoryの異なるリリース間でレプリケーション承諾を持つことはサポートされていません。そのため、データが移動されると、プライマリ・システムとスタンバイ・システム間で同期が保たれます。
  • この手順を使用して、Oracle Internet Directoryをある環境から別の環境に移行することもできます。

次のステップを実行して、ソース環境の11g Oracle Internet Directoryアプリケーションからディレクトリ・データをエクスポートして、そのデータを12c Oracle Internet Directoryアプリケーションにインポートします:

アップグレード前のアセスメント

アップグレード前のアセスメントでは、11g OIDアプリケーションのソース環境からデータをエクスポートして、そのデータを12c OIDアプリケーションのターゲット環境にインポートする準備をします。

11gから12cへのOracle Internet Directoryデータのエクスポートおよびインポート構成を実行する前に、次のアセスメントが完了していることを確認する必要があります:

OID1インスタンスの検証

レプリケーション・アクティビティを開始する前に、ソースの11g環境とターゲットの12c環境の両方でOID1インスタンスが実行されていることを確認する必要があります。

詳細は、「OID1インスタンスが実行されていることの検証」を参照してください。

Oracle Internet Directoryツールの環境変数

Oracle Internet Directoryツールを実行する前に、環境変数を設定する必要があります。

次の変数をソフトウェア所有者の環境ファイルに追加して、変数がユーザー・ログイン時に設定されるようにすることもできます。これらの変数は、ソースの11g環境とターゲットの12c環境の両方のOIDインスタンス・ホストで設定する必要があります。
ORACLE_HOME
ORACLE_INSTANCE
TNS_ADMIN
DOMAIN_HOME (should be set to the value of MSERVER_HOME)

詳細は、「Oracle Internet Directoryツールの環境変数の設定」を参照してください。

ソース・ディレクトリの読取り専用モードへの設定

ソースの11g環境からディレクトリ情報をエクスポートする前に、エクスポートの作成中に新しい情報がディレクトリに書き込まれないように、その場所のインスタンスを読取り専用に設定する必要があります。

次のステップを実行して、ソースの11g環境のノードを読取り専用として設定します:

ノート:

これらのステップは、最初のソース・ホストでのみ実行します。すべてのツール実行で、Oracle Internet Directoryツールの環境変数を設定する必要があります。「Oracle Internet Directoryツールの環境変数」を参照してください。
  1. 次の情報を使用してLDIFファイルを作成します。

    たとえば:

    ro_change_mode.ldif:
    dn: cn=OID_INSTANCE_NAME,cn=osdldapd,cn=subconfigsubentry
    changetype: modify
    replace: orclservermode
    orclservermode: r
    dn: cn=OID_INSTANCE_NAME,cn=osdldapd,cn=subconfigsubentry
    changetype: modify
    replace: orclservermode
    orclservermode: r

    OID_INSTANCE_NAMEは各インスタンスの名前です。ターゲットの12c環境で、Oracle Internet Directoryクラスタ内のインスタンスごとにエントリが必要です。

  2. 次のコマンドを実行します。

    ldapmodify -D "cn=orcladmin" -q -h ON_PREM_HOST -p ON_PREM_PORT -f CHANGE_LDIF_FILE

    たとえば:

    ldapmodify -D "cn=orcladmin" -q -h s_ldaphost1 -p 3060 -f ro_change_mode.ldif

ソース・ディレクトリからの必要なデータのエクスポート

エクスポートする必要があるデータは、ターゲット・システムに存在しないデータのみです。製品インストールによりシードされるデータは必要ありません。

RCUユーティリティを実行すると、デフォルトで、Oracle Internet Directoryインスタンスのデータベース内に同じベース・オブジェクトの一部が作成されます。したがって、ソースの11gディレクトリからエクスポートする必要があるデータは、ターゲットの12cディレクトリに存在していないデータのみです。

これらは、Oracle Access Managerアプリケーションによって作成されたcn=OAMConfigStoreという名前のbaseDNおよびbaseDNレルムです。

顧客の環境にOracle Access Managerがインストールされていない場合、ディレクトリ内でOAM baseDNは使用可能になりません。baseDNレルムは、顧客のドメイン名を逆方向に表記したものです。

たとえば:

顧客のドメイン名がtest.example.comの場合、baseDNdc=comになります。

次のステップを実行して、必要なデータをエクスポートします。

ノート:

これらのステップは、最初のソース・ホストでのみ実行します。すべてのツール実行で、Oracle Internet Directoryツールの環境変数を設定する必要があります。「Oracle Internet Directoryツールの環境変数」を参照してください。
  1. 次のコマンドを実行します。

    ldifwrite connect="TNS_ENTRY" basedn="YOUR_BASEDN" ldiffile="BASEDN_LDIF_FILE"

    ここで、
    • TNS_ENTRYは、ORACLE_INSTANCE/config/tnsnames.oraにあるエントリです。
    • YOUR_BASEDNは、組織のbaseDNです。
    • BASEDN_LDIF_FILEは、データのエクスポート先のファイルです。

    たとえば:

    ldifwrite connect="OIDDB" basedn="dc=com" ldiffile="dc_com.ldif"

    出力例:
    This tool can only be executed if you know database user password for OID
    Enter OID Password :: ON-PREMISES_ODS_SCHEMA_PASSORD
    ------------------------------------------------------------
    Reading entries under BaseDN "dc=com"...
    ------------------------------------------------------------
    ------------------------------------------------------------
    217 Entries are written to "/u01/backup/dc_com.ldif".
    ------------------------------------------------------------
  2. 次のコマンドを実行します(Oracle Internet Directory環境にOAMまたはOIGがインストールされていない場合はスキップできます):

    ldifwrite connect="TNS_ENTRY" basedn=" cn=OAMConfigStore" ldiffile="OAMCS_LDIF_FILE"

    ここで、
    • TNS_ENTRYは、ORACLE_INSTANCE/config/tnsnames.oraにあるエントリです。
    • YOUR_BASEDNは、OAM構成ストアのbaseDNです。
    • OAMCS_LDIF_FILEは、データのエクスポート先のファイルです。

    たとえば:

    ldifwrite connect="OIDDB" basedn=" cn=OAMConfigStore" ldiffile="oamcs.ldif"

    出力例:
    This tool can only be executed if you know database user password for OID
    Enter OID Password :: ON-PREMISES_ODS_SCHEMA_PASSORD
    ------------------------------------------------------------
    Reading entries under BaseDN "cn=oamconfigstore"...
    ------------------------------------------------------------
    ------------------------------------------------------------
    1 Entries are written to "/u01/backup/oamcs.ldif"
    ------------------------------------------------------------
  3. 2つのLDIFファイルを1つのファイルに結合します(該当する場合):
    cat "/u01/backup/dc_com.ldif > "/u01/backup/backup_data.ldif && cat "/u01/backup/oamcs.ldif >> "/u01/backup/backup_data.ldif

データのロード

次のステップを実行して、エクスポートしたソース・データを宛先ディレクトリにロードします:

エクスポートしたデータ・ファイルをターゲット環境のディレクトリ・ホストにコピーする

バルク・ロードを実行する前に、エクスポート済データを含むファイルをターゲットの12c環境の最初のOracle Internet Directoryホストにコピーする必要があります。

ファイルをホストにコピーした後、ファイルの場所ノートにとっておきます。エクスポート済ファイルはフラット・テキスト・ファイルであるため、ディレクトリのサイズが大きい場合は、コピーする前にファイルの圧縮が必要になる可能性があります。その場合は、必ずホスト上でファイルを解凍します。

ターゲットの12c環境のすべてのOracle Internet Directoryインスタンスを停止する

bulkdeleteおよびbulkloadを実行する前に、ターゲットの12c環境でOracle Internet Directoryインスタンスを停止する必要があります。

ターゲット環境のすべてのOracle Internet Directoryホストで、次を実行します。すべてのツール実行で、Oracle Internet Directoryツールの環境変数を設定する必要があります。「Oracle Internet Directoryツールの環境変数」を参照してください。

  1. ORACLE_HOME/oracle_common/common/binから次のコマンドを実行して、WLSTツールを起動します:

    ./wlst.sh

  2. 次のコマンドを使用して管理サーバーに接続します。
    connect(ADMIN_USERNAME','ADMIN_PASSWORD','t3://ADMIN_HOST:ADMIN_PORT')
    たとえば:
    connect(weblogic','password','t3://MYHOSTNAME:7001')
  3. 次のコマンドを実行して、Oracle Internet Directoryインスタンスを停止します:
    /base_domain/serverConfig> shutdown('OID_NODE_NAME')

    たとえば:

    shutdown('oid1')

現在のbaseDNデータの一括削除

ターゲットの12c環境のディレクトリは、名前が重複している可能性の高いbaseDNで作成されているため、bulkloadを実行する前に、12c環境から重複するbaseDNを削除する必要があります。この削除によって、bulkloadとの競合を確実になくします。

ターゲットの最初の12cディレクトリ・ホストでのみ、次を実行します。すべてのツール実行で、Oracle Internet Directoryツールの環境変数を設定する必要があります。「Oracle Internet Directoryツールの環境変数」を参照してください。

次のコマンドを実行します。
bulkdelete connect=TNS_ENTRY basedn="YOUR_BASEDN" cleandb="TRUE" verbose="TRUE"
ここで、
  • TNS_ENTRYは、ORACLE_INSTANCE/config/tnsnames.oraにあるエントリです。
  • YOUR_BASEDNは、OAM構成ストアのbaseDNです。
たとえば:
bulkdelete connect=OIDDB basedn="dc=com" cleandb="TRUE" verbose="TRUE"

出力例:

This tool can only be executed if you know database user password for OID
Enter OID Password :: OCI_ODS_SCHEMA_PASSORD
------------------------------------------------------------
Reading entries under BaseDN "dc=com"...
------------------------------------------------------------
bulkdelete(1): 192 entries deleted...
------------------------------------------------------------
192 Entries have been deleted.
------------------------------------------------------------

ターゲット・ディレクトリへのエクスポート済データの一括ロード

重複するbaseDNがターゲットの12cディレクトリから削除されたため、bulkloadプロセスを使用して、11gのソース環境データをターゲットの12cディレクトリにエクスポートできます。

ターゲットの最初の12cディレクトリ・ホストでのみ、次を実行します。すべてのツール実行で、Oracle Internet Directoryツールの環境変数を設定する必要があります。Oracle Internet Directoryツールの環境変数

  1. 次のコマンドを実行して、バルク・ロードを確認して生成します:
    bulkload connect="TNS_ENTRY" append="TRUE" check="TRUE" generate="TRUE" restore="TRUE" file="LDIF_FILE"
    ここで、
    • TNS_ENTRYは、ORACLE_INSTANCE/config/tnsnames.oraにあるエントリです。
    • LDIF_FILEは、ターゲットの12c環境の最初のOracle Internet Directoryホストにコピーされるファイルの場所です。
    たとえば:
    bulkload connect="OIDDB" append="TRUE" check="TRUE" generate="TRUE" restore="TRUE" file="/u01/backup/backup_data.ldif"
    出力例:
    ------------------------------------------------------------
    "oiddb"...
    ------------------------------------------------------------
    This tool can only be executed if you know database user password for OID
    Enter OID Password :: OCI_ODS_SCHEMA_PASSORD
    ...Setting OID server mode to read-modify on "oiddb" node...
    ------------------------------------------------------------
    Checking and Generating Internet Directory data for bulk loading
    ------------------------------------------------------------
    Data generated successfully
    ------------------------------------------------------------

    ノート:

    前述のコマンドで競合またはエラーが発生した場合は、bulkloadロード・プロセスを実行する前にそれを解決する必要があります。競合およびエラー解決については、このドキュメントでは説明しません。詳細は、『Oracle Internet Directoryの管理』bulkloadエラーのトラブルシューティングに関する項を参照してください。

  2. 次のコマンドを実行して、バルク・ロード・プロセスを開始します:
    bulkload connect="[TNS_ENTRY]" load="TRUE"

    TNS_ENTRYは、ORACLE_INSTANCE/config/tnsnames.oraにあるエントリです。

    たとえば:
    bulkload connect="OIDDB" load="TRUE"

    出力例:

    ------------------------------------------------------------
    "oiddb"...
    ------------------------------------------------------------
    This tool can only be executed if you know database user password for OID
    Enter OID Password :: OCI_ODS_SCHEMA_PASSORD
    ------------------------------------------------------------
    Loading data on "oiddb"
    ------------------------------------------------------------
    attr_store001...
    battr_store001...
    objectclass001...
    attr_store002...
    battr_store002...
    objectclass002...
    battr_store003...
    objectclass003...
    dn...
    ...
    ------------------------------------------------------------
    Data loaded successfully
    ------------------------------------------------------------
    Verifying indexes ...
    ------------------------------------------------------------
    Generating Database Statistics ...
    ------------------------------------------------------------
    ...Setting OID server mode to read-write on "oiddb" node...
    

ターゲットの12c環境でのOracle Internet Directoryインスタンスの起動

bulkloadが正常に完了した後、Oracle Internet Directoryインスタンスを再起動できます。

ターゲットの12c環境でのみ、すべてのOracle Internet Directoryホストで次を実行します。すべてのツール実行で、Oracle Internet Directoryツールの環境変数を設定する必要があります。Oracle Internet Directoryツールの環境変数

  1. ORACLE_HOME/oracle_common/common/binから次のコマンドを実行して、WLSTツールを起動します:

    ./wlst.sh

  2. 次のコマンドを使用して管理サーバーに接続します。
    connect(ADMIN_USERNAME','ADMIN_PASSWORD','t3://ADMIN_HOST:ADMIN_PORT')
    たとえば:
    connect(weblogic','password','t3://MYHOSTNAME:7001')
  3. 次のコマンドを実行して、Oracle Internet Directoryインスタンスを起動します:
    /base_domain/serverConfig> start('OID_NODE_NAME')

    たとえば:

    start('oid1')