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

前
 
次
 

7 手動でのDirectory Serverの移行

「自動または手動移行の判断」に記載している自動での移行の要件をデプロイメントで満たしていない場合は、サーバーは手動で移行する必要があります。この章では、サーバーの各部分を手動で移行する手順について説明します。

この章の内容は次のとおりです。

7.1 手動での移行の準備

インスタンスを手動で移行する場合、自動移行ツール(dsmig)で実行されるのと同じ順でサーバーの各部分を移行します。この項では、古いインスタンスは5.2インスタンスのことを指し、新しいインスタンスは11gリリース1 (11.1.1.7.0)のインスタンスを指します。

手動で移行を開始する前に、次のタスクが完了していることを確認します。

7.2 手動でのスキーマの移行

Directory Server 5.2のスキーマ・ファイルは、serverRoot/slapd-serverID/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があります。これらのファイルとは別に、Directory Server 11gリリース1 (11.1.1.7.0)とともに提供される標準のスキーマ・ファイルは、バージョン5で用意されているものと同一です。

スキーマを移行するには、次の手順を実行します。

  1. 99user.ldifファイルを既存のインスタンスから新しいインスタンスにコピーします。新しいインスタンスにカスタム・スキーマをすでに追加している場合、どのバージョンのカスタム・スキーマを保持するか選択する必要があります。

  2. 他の任意のファイルにカスタム・スキーマを定義している場合は、新しいインスタンスにそれらのファイルをコピーします。

  3. 新しいインスタンスにすべての部分レプリケーションの情報を再定義します。

7.3 手動での構成データの移行

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

次の項では、具体的に、古いインスタンスから新しいインスタンスに移行する必要のある構成属性を示します。

7.3.1 特定の構成属性の移行

次の属性タイプの値を移行する必要があります。

7.3.1.1 グローバル構成属性

グローバル・スコープACIの実装では、rootDSEに固有のすべてのACIでbase (targetscope="base")の値を持つtargetscopeフィールドが必要です。rootDSEで保持されているACIは、各Directory Serverインスタンスに固有で、レプリケートされません。したがって、以前のバージョンを含むトポロジでDirectory Server 11gリリース1 (11.1.1.7.0)サーバーを実行する際には、互換性の問題は発生しないはずです。ACIのスコープに対する変更の詳細は、「ACIに対する変更」を参照してください。

ACIを変更するのみではなく、cn=configの下の次の属性も移行する必要があります。

nsslapd-accesscontrol
nsslapd-accesslog-level
nsslapd-accesslog-logbuffering
nsslapd-accesslog-logexpirationtime
nsslapd-accesslog-logexpirationtimeunit
nsslapd-accesslog-logging-enabled
nsslapd-accesslog-logmaxdiskspace
nsslapd-accesslog-logminfreediskspace
nsslapd-accesslog-logrotationtime
nsslapd-accesslog-logrotattiontimeunit
nsslapd-accesslog-maxlogsize
nsslapd-accesslog-maxlogsperdir
nsslapd-attribute-name-exceptions
nsslapd-auditlog-logexpirationtime
nsslapd-auditlog-logexpirationtimeunit
nsslapd-auditlog-logging-enabled
nsslapd-auditlog-logmaxdiskspace
nsslapd-auditlog-logminfreediskspace
nsslapd-auditlog-logrotationtime
nsslapd-auditlog-logrotattiontimeunit
nsslapd-auditlog-maxlogsize
nsslapd-auditlog-maxlogsperdir
nsslapd-certmap-basedn
nsslapd-ds4-compatible-schema
nsslapd-enquote-sup-oc
nsslapd-errorlog-level
nsslapd-errorlog-logexpirationtime
nsslapd-errorlog-logexpirationtimeunit
nsslapd-errorlog-logging-enabled
nsslapd-errorlog-logmaxdiskspace
nsslapd-errorlog-logminfreediskspace
nsslapd-errorlog-logrotationtime
nsslapd-errorlog-logrotattiontimeunit
nsslapd-errorlog-maxlogsize
nsslapd-errorlog-maxlogsperdir
nsslapd-groupevalnestlevel
nsslapd-idletimeout
nsslapd-infolog-area
nsslapd-infolog-level
nsslapd-ioblocktimeout
nsslapd-lastmod
nsslapd-listenhost
nsslapd-maxbersize
nsslapd-maxconnections
nsslapd-maxdescriptors
nsslapd-maxpsearch
nsslapd-maxthreadsperconn
nsslapd-nagle
nsslapd-readonly
nsslapd-referral
nsslapd-referralmode
nsslapd-reservedescriptors
nsslapd-return-exact-case
nsslapd-rootpwstoragescheme
nsslapd-schema-repl-useronly
nsslapd-schemacheck
nsslapd-search-tune
nsslapd-securelistenhost
nsslapd-security
nsslapd-sizelimit
nsslapd-threadnumber
nsslapd-timelimit
ds-start-tls-enabled

7.3.1.2 セキュリティ構成属性

"cn=encryption,cn=config"の下のすべての属性を移行する必要があります。

証明書認証またはセキュア・ポートを使用している場合、"cn=encryption,cn=config"の下のキー・ファイルのパスおよび証明書データベース・ファイルのパスを更新する必要があります。次の属性の値を移行する必要があります。

nsKeyfile
nsCertfile

7.3.1.3 機能構成属性

"cn=features,cn=config"の下のaci属性の値を移行する必要があります。

また、アイデンティティ・マッピング属性のすべての値も移行する必要があります。

7.3.1.4 ツリー構成属性のマッピング

"cn=mapping tree,cn=config"の下のすべてのエントリを移行する必要があります。

Netscape Rootデータベースは以前から非推奨になっており、Directory Server 11gリリース1 (11.1.1.7.0)にはありません。古いインスタンスで特定の用途のためにNetscape Rootデータベースが使用されていた場合、o=netscaperootの下の属性を移行する必要があります。これ以外の場合は無視してかまいません。

7.3.1.5 レプリケーション構成属性

レプリケーション構成属性を移行する前に、レプリケート対象の保留中の変更がないことを確認します。これを行うには、insyncコマンドを使用します。

構成属性に加え、cn=replication,cn=configの下のすべての属性を移行する必要があります。すべてのレプリケーション承諾のホストおよびポート、および変更ログ・データベース(nsslapd-changelogdir)に対する変更を手動で新しいインスタンスで更新する必要があります。

次の項では、移行する必要のあるレプリケーション構成属性を示します。

7.3.1.5.1 変更ログ属性

表7-1 変更ログ属性名の変更

古い属性名 Directory Serverの属性名

nsslapd-changelogmaxage

dschangelogmaxage

nsslapd-changelogmaxentries

dschangelogmaxentries


また、これらの属性は、(サフィックス名ごとに)cn=changelog5,cn=configからcn=replica,cn=suffixname,cn=mapping tree,cn=configのエントリに移動する必要があります。

7.3.1.5.2 部分レプリケーション構成属性

トポロジで部分レプリケーションを使用している場合、次の属性名を変更する必要があります。

表7-2 部分レプリケーション属性名の変更

古い属性名 Directory Server 11gリリース1 (11.1.1.7.0)の属性名

dsFilterSPType == fractional_include

dsReplFractionalInclude

dsFilterSPType == fractional_exclude

dsReplFractionalExclude


7.3.1.5.3 レプリカ構成属性

次のレプリカ構成属性の値を移行する必要があります。

ds5ReferralDelayAfterInit
nsDS5Flags
nsDS5ReplicaBindDN
nsDS5ReplicaId
nsDS5ReplicaLegacyConsumer
nsDS5ReplicaName
nsDS5ReplicaPurgeDelay
nsDS5ReplicaReferral
nsDS5ReplicaRoot
nsDS5ReplicaTombstonePurgeInterval
aci

dschangelogmaxageおよびdschangelogmaaxentriesの属性は、レプリカのエントリに追加されました。

7.3.1.5.4 レプリケーション承諾構成

次の属性値は、レプリケーション承諾ごとに移行する必要があります。

description
ds5agreementEnable
ds5ReplicaTransportCompressionLevel
ds5ReplicaTransportGroupSize
ds5ReplicaTransportWindowSize
nsDS5ReplicaBindDN
nsDS5ReplicaBindMethod
nsDS5ReplicaCredentials
nsDS5ReplicaHost
nsDS5ReplicaPort
nsDS5ReplicaRoot
nsDS5ReplicaTimeout
nsDS5ReplicaTransportInfo
nsDS5ReplicaUpdateSchedule
aci

nsDS5ReplicaCredentials属性の移行時には問題が発生する場合があります。詳細は、「レプリケーション証明の手動でのリセット」を参照してください。

Directory Server 11gリリース1 (11.1.1.7.0)にはds5PartialReplConfiguration属性はありません。この属性は削除する必要があります。

部分レプリケーションを使用している場合、レプリケーション承諾ごとにdsReplFractionalIncludeおよびdsReplFractionalExclude属性が追加されます。

"cn=replication,cn=config"の下のすべての属性が移行されます。

7.3.1.6 パスワード・ポリシー構成属性

Directory Server 11gリリース1 (11.1.1.7.0)のパスワード・ポリシーの詳細な構成は、『Oracle Directory Server Enterprise Edition管理者ガイド』の第7章のDirectory Serverのパスワード・ポリシーに関する説明を参照してください。パスワード・ポリシーを定義する属性は、エントリcn=Password Policy,cn=configに保存されています。Directory Server 5.2では、パスワード・ポリシー属性は、cn=configの下にあります。

pwdPolicyオブジェクト・クラスの属性は、古いパスワード・ポリシー属性の代替です。これらの属性の説明は、pwdPolicy(5dsoc)のマニュアル・ページを参照してください。

デフォルトでこれらのパスワード・ポリシーは、古いパスワード・ポリシーと下位互換性があります。だだし、下位互換性は無期限には保証されていないので、デプロイメントで都合がよくなったらただちに新しいパスワード・ポリシーに移行する必要があります。パスワード・ポリシーの互換性およびサフィックスの再記述の詳細は、『Oracle Directory Server Enterprise Edition管理者ガイド』を参照してください。

Directory Server 11gリリース1 (11.1.1.7.0)では、新しいパスワード・ポリシー、古いパスワード・ポリシーおよびエントリ操作属性が共存している場合、移行中およびその後の処理後にそれを自動で管理しますが、古いパスワード・ポリシー属性を参照するすべてのアプリケーションは移行する必要があります。次に、古いパスワード・ポリシー構成属性と新しいパスワード・ポリシー構成属性のマッピングを示します。

表7-3 5.2と11gリリース1 (11.1.1.7.0)のパスワード・ポリシー属性間のマッピング

古いDirectory Server属性 Directory Server 11gリリース1 (11.1.1.7.0)の属性

passwordMinAge

pwdMinAge

passwordMaxAge

pwdMaxAge

passwordExp

pwdMaxAge

passwordInHistory

pwdInHistory

passwordSyntax

pwdCheckQuality

passwordMinLength

pwdMinLength

passwordWarning

pwdExpireWarning

-

pwdGraceLoginLimit

passwordMustChange

pwdMustChange

passwordChange

pwdAllowUserChange

-

pwdSafeModify

passwordStorageScheme

passwordStorageScheme

passwordExpireWithoutWarning

-

passwordLockout

pwdLockout

passwordLockoutDuration

pwdLockoutDuration

passwordUnlock

pwdLockoutDuration

passwordMaxFailure

pwdMaxFailure

passwordResetFailureCount

pwdFailureCountInterval


7.3.1.7 SNMP属性

Directory Server 11gリリース1 (11.1.1.7.0)にはcn=SNMP,cn=configのエントリは存在しません。したがって、このエントリ下にあるすべての属性は非推奨になっています。Directory Server 11gリリース1 (11.1.1.7.0)でSNMPを設定する方法の詳細は、『Oracle Directory Server Enterprise Edition管理者ガイド』Directory ServerでのSNMPの設定に関する説明を参照してください。

7.3.1.8 UniqueIDジェネレータ構成属性

cn=uniqueid generator,cn=configの下のnsState属性を移行する必要があります。

7.3.1.9 データベース構成属性

データベースの一般的な構成属性は、cn=config,cn=ldbm database,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。

nsslapd-lookthroughlimit
nsslapd-allidsthreshold
nsslapd-cache-autosize
nsslapd-cache-autosize-split
nsslapd-cachesize
nsslapd-db-checkpoint-interval
nsslapd-db-circular-logging
nsslapd-db-durable-transactions
nsslapd-db-idl-divisor
nsslapd-db-locks
nsslapd-db-logbuf-size
nsslapd-db-logfile-size
nsslapd-db-page-size
nsslapd-db-transaction-batch-val
nsslapd-db-tx-max
nsslapd-dbncache
nsslapd-import-cachesize
nsslapd-exclude-from-export
nsslapd-disk-low-threshold
nsslapd-disk-full-threshold

データベースに固有の属性は、cn=database instance name,cn=ldbm database,cn=plugins,cn=configの形式でエントリに保存されています。次の属性を移行する必要があります。

nsslapd-suffix
nsslapd-cachesize
nsslapd-cachememsize
nsslapd-readonly
nsslapd-require-index

デプロイメントでNetscapeRootのサフィックスを使用する場合、cn=netscapeRoot,cn=ldbm database,cn=plugins,cn=configの下に属性を移行する必要があります。データベースの場所(nsslapd-directory)も新しいDirectory Serverインスタンスの場所に置き換える必要があります。

システム・インデックスを除く、デフォルトのすべてのインデックス構成属性を移行する必要があります。デフォルトのインデックス構成属性は、エントリcn=default indexes,cn=ldbm database,cn=plugins,cn=configに保存されています。NetscapeRootデータベースのインデックスは移行する必要がありません。

システム・インデックスを除く、すべてのインデックス構成属性を移行する必要があります。インデックス構成属性は、ソートcn=index name, cn=index, cn=database instance name, cn=ldbm database, cn=plugins, cn=configのエントリに保存されています。

すべての属性暗号化構成を移行する必要があります。

7.3.1.10 プラグイン構成属性

任意の標準のプラグインの構成を変更している場合、構成を更新する必要があります。また、すべてのカスタム・プラグインの構成を更新する必要があります。最低でも、カスタム・プラグインをすべて再コンパイルして、構成をディレクトリに追加する必要があります。プラグインAPIに対する変更の詳細は、『Oracle Directory Server Enterprise Edition開発者ガイド』の第2章のDirectory Server 5.2以降のプラグインAPIに対する変更に関する説明を参照してください。

次の項では、標準のプラグインを変更している場合、構成を移行する必要があるものについて説明します。

7.3.1.10.1 7ビット検索プラグイン

このプラグインの構成は、cn=7-bit check,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。

nsslapd-pluginarg*
nsslapd-pluginenabled
7.3.1.10.2 サービス・プラグインのクラス

この構成のプラグインは、cn=Class of Service,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。

nsslapd-pluginarg0
nsslapd-pluginenabled
7.3.1.10.3 DSML Frontendプラグイン

このプラグインの構成は、cn=DSMLv2-SOAP-HTTP,cn=frontends,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。

ds-hdsml-port
ds-hdsml-iobuffersize
ds-hdsml-requestmaxsize
ds-hdsml-responsemsgsize
ds-hdsml-poolsize
ds-hdsml-poolmaxsize
ds-hdsml-clientauthmethod
ds-hdsml-rooturl
ds-hdsml-soapschemalocation
ds-hdsml-dsmlschemalocation
nsslapd-pluginenabled
7.3.1.10.4 パススルー認証プラグイン

このプラグインの構成は、cn=Pass Through Authentication,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。

nsslapd-pluginenabled

nsslapd-pluginarg*属性は、o=netscapeRootの構成を移行する必要のある場合のみ移行する必要があります。

7.3.1.10.5 パスワード同期プラグイン

このプラグインの構成は、cn=pswsync,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。

nsslapd-pluginenabled
7.3.1.10.6 参照整合性プラグイン

このプラグインの構成は、cn=Referential Integrity Postoperation,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。

nsslapd-pluginarg*
nsslapd-pluginenabled
7.3.1.10.7 レトロ変更ログ・プラグイン

このプラグインの構成は、cn=Retro Changelog PlugIn,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。

nsslapd-changelogmaxage
nsslapd-changelogmaxentries
nsslapd-pluginarg*
nsslapd-pluginenabled
7.3.1.10.8 UID一意性プラグイン

このプラグインの構成は、cn=UID Uniqueness,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。

nsslapd-pluginarg*
nsslapd-pluginenabled

7.4 手動でのセキュリティ設定の移行

インスタンスを手動で移行する場合、セキュリティおよび構成は、dsmigを使用した場合の順序とは別の順序で移行します。この項の説明に従って、Directory Server 11gリリース1 (11.1.1.7.0)のデフォルトの証明書とキー・データベースを古いデータベースのものに置き換えてセキュリティ設定を移行する場合、まず構成を移行する必要があります

セキュリティ設定を手動で移行するには、次の手順を実行します。

  1. 新しいインスタンスをすでに開始している場合は、そのインスタンスを停止します。

  2. 新しいインスタンスの証明書データベースおよびキー・データベース・ファイルをバックアップします。

  3. 証明書データベースおよびキー・データベース・ファイルを既存のインスタンスから新しいインスタンスにコピーします。

    $ cp serverRoot/alias/slapd-serverID-cert8.db instance-path/alias/slapd-cert8db
    $ cp serverRoot/alias/slapd-serverID-key3.db instance-path/alias/slapd-key3.db
    
  4. パスワード・ファイルを既存のインスタンスから新しいインスタンスにコピーします。

    $ cp serverRoot/alias/slapd-serverID-pin.txt instance-path/alias/slapd-pin.txt
    
  5. 証明書データベースのパスワードを更新します。

    $ dsadm set-flags instance-path cert-pwd-prompt=on
    
  6. 証明書マッピング・ファイルを既存のインスタンスから新しいインスタンスにコピーします。

    $ cp serverRoot/shared/config/certmap.conf instance-path/alias/certmap.conf
    
  7. 既存のインスタンスが外部のセキュリティ・トークンを使用する場合、セキュリティ・モジュール・データベースおよび外部トークン・ライブラリを新しいインスタンスにコピーします。

    $ cp serverRoot/alias/secmod.db instance-path/alias/secmod.db
    
  8. 新しいインスタンスを起動します。

セキュリティ構成属性は、残りの構成属性を移行するときに移行されます。この意味で、セキュリティ設定の移行は、構成を移行するまで完了しません。構成の移行の詳細は、次の項で説明します。

7.5 手動でのユーザー・データの移行

トポロジでデータの自動移行がサポートされていない場合、データは手動で移行する必要があります。これを行うには、データを既存のインスタンスからエクスポートし、新しいインスタンスに再インポートします。

データを手動で移行するには、次の手順を実行します。

  1. 新しいインスタンスにすでにデータがある場合、新しいインスタンス内の競合するすべてのサフィックスをバックアップします。

  2. レプリケーション・トポロジのマスター・サーバー・インスタンスを移行する場合、マスターの直接のコンシューマであるすべてのサーバーとマスターが同期されていることを確認します。

    変更ログは手動では移行できません。11gリリース1 (11.1.1.7.0)インスタンスには新しい変更ログが作成されます。

  3. db2ldifコマンドを使用し、必要なサフィックスをLDIFにエクスポートします。このコマンドを使用すると、サーバーが実行されているか停止されているかにかかわらず、LDIFファイルにサフィックス・コンテンツがすべてエクスポートされます。

    次に、単一のLDIFファイルの2つのサフィックスをエクスポートする例を示します。

    $ serverRoot/slapd-serverID/db2ldif -a example.ldif \
     -r -s "ou=people,dc=example,dc=com" -s "ou=departments,dc=example,dc=com"
    

    この例では、-aは結果のLDIFファイルを指定し、-rはレプリケーション情報がエクスポートされる必要があることを示し、-sは、エクスポートに含めるサフィックスを指定します。

  4. 新しいインスタンスに対してdsadm importコマンドを使用し、LDIFファイルをインポートします。たとえば、次のコマンドでは、エクスポートした2つのサフィックスに以前作成したLDIFファイルがインポートされます。

    $ dsadm import instance-path example.ldif ou=people,dc=example,dc=com
    $ dsadm import instance-path example.ldif ou=departments,dc=example,dc=com
    
  5. レトロ変更ログが古いインスタンスに構成されている場合、db2ldifコマンドを使用し、レトロ変更ログにエクスポートします。

    $ serverRoot/slapd-serverID/db2ldif -a changelog.ldif \
     -s "cn=changelog"
    

    この例で、-aは結果のLDIFファイルを指定し、-sはchangelogのサフィックスを指定します。

  6. 新しいインスタンスで、dsadm importコマンドを使用し、レトロ変更ログをインポートします。たとえば、次のコマンドでは、以前作成した変更ログLDIFファイルがインポートされます。

    $ dsadm import instance-path changelog.ldif cn=changelog
    
  7. 新しいインスタンスを起動します。


注意:

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

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


7.6 手動でのユーザー・プラグインの移行

ユーザー・プラグインは移行できません。カスタム・ユーザー・プラグインがある場合、再コンパイルし、手動でDirectory Server 11gリリース1 (11.1.1.7.0)インスタンスに追加します。プラグインAPIに対する変更の詳細は、『Oracle Directory Server Enterprise Edition開発者ガイド』の第2章のDirectory Server 5.2以降のプラグインAPIに対する変更に関する説明を参照してください。

7.7 手動移行後に実行するタスク

サーバーの手動での移行後、新しいサーバーを実行する前に、次の移行後タスクを実行する必要があります。