ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Directory Server Enterprise Editionアップグレードおよび移行ガイド
11gリリース1 (11.1.1.7.0)
B72438-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

6 dsmigコマンドを使用した自動移行

Oracle Directory Server Enterprise Edition11gリリース1 (11.1.1.7.0)には、Directory Server 5.2インスタンスからODSEE 11gリリース1 (11.1.1.7.0)インスタンスへの移行を支援をするコマンドラインによる移行ツールが用意されています。この移行ツールは、「自動または手動移行の判断」で説明する自動移行の要件がデプロイメントで満たされている場合のみ使用することができます。

移行ツールでは、インスタンスごとに移行を行うことができます。同じサーバー・ルートにインスタンスが複数ある場合、インスタンスごとに移行ツールを実行する必要があります。

この章では、移行ツールの使用方法を次の内容で説明します。

6.1 自動移行ツールについて

移行ツール、dsmigはDirectory Server Enterprise Edition 11gリリース1 (11.1.1.7.0)とともに配布されます。これらのODSEEがインストールされると、dsmiginstall-path/binに配置されます。

dsmigコマンドは、新しいDirectory Serverインスタンスが配置されるマシンで実行する必要があります。コマンドを実行すると、新しいインスタンス・ディレクトリ(new-instance-path/migration)に移行ディレクトリが作成されます。このディレクトリは、移行で生成されたログ・ファイルや移行ステータス・ファイルなどのためのデータ・リポジトリになります。

dsmigコマンドには、「移行手順の概要」で説明している個々の移行手順に対応するサブコマンドおよびオプションのセットがあります。dsmigの使用方法の詳細は、dsmigに関する説明を参照してください。

6.2 dsmigを実行するための前提条件

この項では、古いインスタンスは5.2インスタンスのことを指し、新しいインスタンスはDirectory Server 11gリリース1 (11.1.1.7.0)のインスタンスを指します。

インスタンスを移行するためにdsmigを使用する前に、次の作業が実行済であることを確認してください。

新しいインスタンスの作成および起動は手動で実行できますが、dsmigの実行前に新しいインスタンスを必ず作成する必要はありません。dsmigでは、新しいDirectory Serverインスタンスが指定のパスに存在するか確認します。新しいインスタンスが存在する場合、このインスタンスに対してコマンドが実行されます。新しいインスタンスが存在しない場合、インスタンスは自動的に作成されます。

新しいインスタンスは、古いインスタンスがあった場所を除く任意の場所に作成できます。


注意:

dsmigコマンドでは、インスタンスの作成にデフォルトで389および636のポートを使用します。これらのポートがすでに使用されている場合、インスタンスの作成に別のポートを用意してください。詳細は、dsmigに関する説明を参照してください。


新しいインスタンスを作成する際、ディレクトリ・マネージャのDNとパスワードは、cn=config下のnsslapd-rootdnおよびnssalpd-rootpw属性に保存されます。これらの属性には新しいインスタンスの値がすでにあるので、移行時には古いインスタンスの値は伝播されません。nsslapd-secureportおよびnsslapd-port属性に対しても同じ動作が取られます。

6.3 スキーマを移行するためのdsmigの使用

Directory Server 5.2のスキーマ・ファイルはserverRoot/slapd-instance-path/config/schemaに配置されています。Directory Server 11gリリース1 (11.1.1.7.0)のスキーマ・ファイルは、INSTANCE-PATH/config/schemaに配置されています。

Directory Server 11gリリース1 (11.1.1.7.0)には、パスワードのポリシー属性を含む00ds6pwp.ldifというスキーマ・ファイルがあります。これに加え、特定の構成属性が追加された00core.ldifがあります。

スキーマを自動的に移行するには、次のコマンドを実行します。

$ dsmig migrate-schema old-instance-path new-instance-path

このコマンドを実行すると、99user.ldifファイルにカスタム・スキーマが定義されている場合、それが新しいインスタンスにコピーされます。新しいインスタンスがすでに本番環境にあり、新しいインスタンスの99user.ldifファイルをすでに変更している場合、dsmigでは2つのファイルが最適にマージされます。他の任意のファイルに定義されたカスタム・スキーマも、新しいインスタンスにコピーされます。

詳細は、dsmigに関する説明を参照してください。

6.4 セキュリティ・データを移行するためのdsmigの使用

セキュリティ設定を自動的に移行するには、次のコマンドを実行します。

$ dsmig migrate-security old-instance-path new-instance-path

セキュリティ設定の移行時に、dsmigは次のタスクを実行します。

詳細は、dsmigに関する説明を参照してください。

6.5 構成データを移行するためのdsmigの使用

Directory Server 5.2の構成はserverRoot/slapd-instance-path/config/dsee.ldifファイルに指定されています。Directory Server 11gリリース1 (11.1.1.7.0)の構成は、instance-path/config/dsee.ldifファイルに指定されています。

構成を自動的に移行するには、次のコマンドを実行します。

$ dsmig migrate-config old-instance-path new-instance-path

この手順では、dsmigは古いインスタンスの構成ファイル(dsee.ldif)のLDIFのエントリをそれぞれ読み取ります。対応するDirectory Server 11gリリース1 (11.1.1.7.0)の構成ファイルにこれらのエントリがある場合、その値は更新されます。


注意:

dsmig migrate-configコマンドでは、サーバーをread-writeモードにリセットします。移行後に次のコマンドを実行すると、サーバーをread-onlyモードに切り替えることができます。

$ dsconf set-server-prop read-write-mode:read-only

構成の移行はLDAPを介して実行されます。dsmigは、デフォルトではStartTLSを発行して新しいインスタンスをセキュアにバインドします。


注意:

Windowsでは、StartTLSはデフォルトでは有効ではありません。Windowsでdsmigを実行している場合、セキュリティ保護されない接続を指定するには、-eまたは--unsecuredオプションを使用します。または、SSLを介したセキュリティ保護された接続を指定するには、-Zまたは--use-secure-portオプションを使用します。Windowsでこれらのいずれのオプションも使用しない場合、dsmigによって警告が発行され、移行プロセスはエラーで終了します。


詳細は、dsmigに関する説明を参照してください。移行される具体的な構成属性の詳細は、「特定の構成属性の移行」を参照してください。

6.5.1 プラグインの構成データ

dsmigでは、Directory Serverの一部のプラグインのみを移行します。ほとんどのシステム・プラグインの構成データは、自動では移行されません

dsmigでは次のシステム・プラグインを移行します。

  • CoS

  • 7ビット検索

  • DSML Frontend

  • パススルー認証

  • 参照整合性

  • レトロ変更ログ

  • UID一意性

構成をverboseモードで移行した場合、dsmigではどのシステム・プラグイン構成が移行されないかを示す警告を発行します。

ユーザーが作成したプラグインは移行されません。ただし、ユーザーのプラグインの構成データは、移行時にnew-instance-path/migration/old_userplugins_conf.ldifファイルにダンプされます。これらのプラグインは、移行の完了後に再コンパイルする必要があります。

6.5.2 複数のバックエンドを持つサフィックスの構成データ

複数のバックエンドを持つサフィックスの構成データは移行されません。dsmigがサフィックスに複数のバックエンドがあることを検出した場合、そのサフィックスに属する構成設定は移行されません。これらは、マッピング・ツリー、レプリカ、レプリケーション承諾、LDBMインスタンス、インデックスおよび暗号化属性の構成エントリです。かわりに、これらのすべてのエントリはnew-instance-path/migration/old_distribution_conf.ldifファイルにダンプされます。

old_distribution_conf.ldifファイルのエントリは、古いインスタンスのものであるため、新しいインスタンスには直接インポートしないようにする必要があります。配布の詳細は、『Oracle Directory Server Enterprise Edition管理者ガイド』の第21章のDirectory Proxy Serverの配布に関する説明を参照してください。

6.5.3 レプリケーションの構成データ

レプリケーションの構成データは、デフォルトでは移行されません。これらのデータを移行するには、-Rオプションとともにdsmigを使用します。データは、デフォルトでnew-instance-path/migration/old_replication_conf.ldifファイルにダンプされます。必要に応じて、このファイルのレプリケーションの構成データは移行後にインポートできます。

6.5.4 o=netscapeRootの構成データ

o=NetscapeRootサフィックスの構成データはデフォルトでは移行されません。この情報が必要な場合、構成データの移行に-Nオプションを使用します。-Nオプションを使用しない場合、データはnew-instance-path/migration/old_netscape_conf.ldifのファイルにダンプされます。必要に応じて、このファイルの構成データは移行後にインポートできます。

6.5.5 dsmigが移行しない構成属性

次の一般的な構成属性は、自動では移行されません。

このリストは、すべてを網羅したものではありません。手動で移行する必要のある構成属性は、他にも使用している可能性があります。

ds-hdsml-dsmlschemalocation
ds-hdsml-soapschemalocation
dsKeyedPassword
dsMappedDN
dsMatching-pattern
dsMatching-regexp
dsSaslPluginsEnable
dsSaslPluginsEnable
dsSaslPluginsPath
dsSearchBaseDN
dsSearchFilter
nsabandonedsearchcheckinterval
nsbindconnectionslimit
nsbindretrylimit
nsbindtimeout
nschecklocalaci
nsconcurrentbindlimit
nsconcurrentoperationslimit
nsconnectionlife
nshoplimit
nsMatchingRule
nsmaxresponsedelay
nsmaxtestresponsedelay
nsoperationconnectionslimit
nspossiblechainingcomponents
nspossiblechainingcomponents
nspossiblechainingcomponents
nspossiblechainingcomponents
nspossiblechainingcomponents
nspossiblechainingcomponents
nsproxiedauthorization
nsreferralonscopedsearch
nsslapd-db-durable-transaction
nsslapd-db-home-directory
nsslapd-db-replication-batch-val
nsslapd-db-transaction-logging
nsslapd-directory
nsslapd-disk-full-threshold
nsslapd-disk-low-threshold
nsslapd-exclude-from-export
nsslapd-localhost
nsslapd-localuser
nsslapd-mode
nsslapd-port
nsslapd-rewrite-rfc1274
nsslapd-secureport
nsslapd-security
nsSSL2
nsSSL3
nsSSLActivation
nsSSLServerAuth
nsSSLSessionTimeout
nsState
nstransmittedcontrols
plugin-order-preoperation-finish-entry-encode-result

6.6 ユーザー・データを移行するためのdsmigの使用

Directory Server 5.2では、データはserverRoot/slapd-instance-name/dbに格納されます。Directory Server 11gリリース1 (11.1.1.7.0)では、ユーザー・データはinstance-path/dbに格納されます。

データを自動的に移行するには、次のコマンドを実行します。

$ dsmig migrate-data old-instance-path new-instance-path

デフォルトでは、o=netscapeRootサフィックスを除くすべてのサフィックスが移行されます。dsmigでは、データ、インデックス、トランザクション・ログがコピーされます。データベースの状態であるデータベース・コンテキストは移行されません。

Directory Serverの管理モデルには、構成ディレクトリ・サーバーは存在しません。つまり、デプロイメントにIdentity Synchronization for Windowsが含まれている場合の除き、o=netscapeRootサフィックスはもはや不適切です。デフォルトでdsmigは、特に要求しないかぎり、o=netscapeRootデータベースは移行しません。o=netscapeRootデータベースを移行するには、migrate-dataサブコマンドとともに-Nオプションを使用します。

詳細は、dsmigに関する説明を参照してください。


注意:

Directory Serverでは、データの移行時に、ネストされたグループの定義が30レベルを超えるか確認します。深いネストは、ネストされたグループに親でもあるグループが含まれる、循環グループ定義を意味する場合があります。ネスト・レベルが30を超えるグループがある場合、Directory Serverではそれ以降のレベルのisMemberOf属性の計算を停止します。

Directory Serverではこれが発生するたびにエラーをログに記述します。これらのエラーは無視しても問題がありませんが、循環定義の可能性があるために、エラーに記載されているグループの定義は検証する必要があります。


6.6.1 移行後の新しいインスタンスのトラブルシューティング

dsmig migrate-dataの実行後、新しいインスタンスのエラー・ログに多数のエラー・メッセージが含まれる場合、次の手順を実行します。

  1. 実行中のDirectory Serverのインスタンスをすべて停止します。

  2. dsee.ldifファイルから、nsslapd-infolog-areaおよびnsslapd-infolog-levelを完全に削除します。

  3. Directory Serverインスタンスを起動します。

ldapmodifyコマンドを使用してパスワードを変更した際にエラーが発生した場合、移行手順後に次の手順を実行します。

  1. 次のコマンドを使用し、pwd-compat-modeを確認します。

    dsconf get-server-prop pwd-compat-mode
    
  2. pwd-compat-modeDS-6 modeに設定されている場合、ldapmodifyコマンドを使用しパスワードを変更する際にはpwdPolicyオブジェクト・クラスを使用する必要があります。

6.7 自動移行後に実行するタスク

サーバーを自動的に移行するために、dsmigを使用した場合、次の2つの移行後タスクのみを完了する必要があります。