A.11 データベース・コピー・プロシージャを使用したディレクトリ・ノードの追加

データベース・コピー・プロシージャ(コールド・バックアップとも呼ばれます)を使用して、Oracle Internet Directoryの既存のレプリケート・システムに新しいノードを追加する必要があります。

ノート:

このプロシージャはOracle Internet Directoryでのみ機能します。Oracle Single Sign-Onなど、他のOracle Identity Managementコンポーネントがインストールされている場合は、このプロシージャを使用しないでください。Oracle Internet Directoryノードがスタンドアロンの場合は、データベース・コピー・プロシージャを使用して新しいディレクトリ・レプリケーション・グループ(DRG)を作成できます。この手順は、完全なLDAPベースのレプリカに適用可能です。

次の各項で、さらに詳しく説明します。

A.11.1 データベース・コピー・プロシージャでのスポンサ・サイトおよび新規サイトの定義

スポンサ・サイトは、Oracle Internet Directoryとそのリポジトリ(Oracleデータベース)がインストールされているサイト、ホストまたはノードです。

スポンサ・サイトはスポンサ・ノードとも呼ばれます。

新規サイトは、Oracle Internet Directoryリポジトリのコピー先となるサイト、ホストまたはノードです。新規サイトは新規ノードとも呼ばれます。

A.11.2 データベース・コピー・プロシージャの前提条件

データベース・コピー・プロシージャを開始するには、コンピューティング環境が特定の前提条件を満たす必要があります。

このプロシージャを開始するための前提条件は、次のとおりです。

  • 新規ディレクトリ・サイトとスポンサ・ディレクトリ・サイトで、オペレーティング・システム、バージョンおよびパッチ・レベルが同じである必要があります。オペレーティング・システムのパッチ・レベルが異なると、このプロシージャが機能しない場合があります。

  • このプロシージャを実行する前に、スポンサ・ディレクトリのリポジトリのバックアップを強くお薦めします。

  • このプロシージャではOracleデータ・ファイルをコピーするので、使用しているネットワーク環境によってパフォーマンスが異なります。使用しているネットワークの速度が遅い場合、「レプリケーションの設定」で説明している方法のいずれかを使用してレプリケーション・グループを設定することを検討してください。または、圧縮したOracleデータ・ファイルをリムーバブル・メディアに保存し、物理的に移動する方法もあります。ネットワークについては、ローカルのシステム管理者またはネットワーク管理者に確認してください。

  • Oracleデータベースをよく理解しているユーザーのみが、このプロシージャを実行してください。

A.11.3 データベース・コピー・プロシージャのスポンサ・ディレクトリ・サイト環境

データベース・コピー・プロシージャのスポンサ・ディレクトリ・サイト環境について、例を使用して説明します。

この付録の例は、スポンサ・ディレクトリ・サイトが次の環境であることを前提としています。

Hostname = rst-sun
Domain name = example.com
ORACLE_BASE = /private/oracle/app/oracle
ORACLE_HOME = /private/oracle/app/oracle/product/OraHome_1
ORACLE_SID  = LDAP
LD_LIBRARY_PATH = $ORACLE_HOME/lib
NLS_LANG = AMERICAN_AMERICA.AL32UTF8 
datafile location = /private/oracle/oradata/LDAP
Dump destination =  /private/oracle/app/oracle/admin/LDAP/pfile,
                    /private/oracle/app/oracle/admin/LDAP/bdump,
                    /private/oracle/app/oracle/admin/LDAP/cdump, 
                    /private/oracle/app/oracle/admin/LDAP/udump,
                    /private/oracle/app/oracle/admin/LDAP/create

A.11.4 データベース・コピー・プロシージャの新規ディレクトリ・サイト環境

データベース・コピー・プロシージャの新規ディレクトリ・サイトの環境について、例を使用して説明します。

この付録の例は、新規ディレクトリ・サイトが次の環境であることを前提としています。

Hostname = dsm-sun
Domain name = example.com
ORACLE_BASE = /private1/oracle/app/oracle
ORACLE_HOME = /private1/oracle/app/oracle/product/OraHome_1
ORACLE_SID  = NLDAP
LD_LIBRARY_PATH = $ORACLE_HOME/lib
NLS_LANG = AMERICAN_AMERICA.AL32UTF8
datafile location = /private1/oracle/oradata/NLDAP
Dump destination =  /private1/oracle/app/oracle/admin/NLDAP/pfile,
                    /private1/oracle/app/oracle/admin/NLDAP/bdump,
                    /private1/oracle/app/oracle/admin/NLDAP/cdump, 
                    /private1/oracle/app/oracle/admin/NLDAP/udump,
                    /private1/oracle/app/oracle/admin/NLDAP/create
 

ホスト名とドメイン名以外のすべてが、Oracle Databaseのインストール時に作成されます。

A.11.5 データベース・コピー・プロシージャを使用したディレクトリ・ノードの追加

データベース・コピー・プロシージャを使用して、ディレクトリ・ノードを追加できます。

この項では、次の項目について説明します。

A.11.5.1 スポンサ・ノードの設定

スポンサ・ノードを設定するには、次のアクティビティを実行します。

A.11.5.1.1 スポンサ・ノードでのIdentity ManagementとOracle Internet Directoryのインストール

Identity ManagementとOracle Internet Directoryコンポーネントをスポンサ・ノードにインストールします。『Oracle Identity Managementのインストールと構成』「Oracle Identity Managementのインストールおよび構成」を参照してください。

関連項目:

『Oracle Fusion Middlewareのインストールのプランニング』インストールおよび構成のためのディレクトリについてに関する項を参照してください。

A.11.5.1.2 Oracle Internet Directoryのステータスの確認

Oracle Internet Directoryのステータスを確認するには、次のように入力します。

oid_instanceStatus(instanceName = 'instance-name')

ステータスはAliveである必要があります。

A.11.5.1.3 すべてのopmnプロセスの停止

スポンサ・ノード上のOracle Internet Directoryおよび他のすべてのopmnプロセスを次のように入力して停止します。

$ cd ORACLE_INSTANCE/bin 
$ opmnctl stopall
 
A.11.5.1.4 スポンサ・ノードでのデータベースとOracle Net Servicesリスナーの停止

スポンサ・ノードのデータベースとOracle Net Servicesリスナーを停止します。デフォルトのリスナー名はLISTENERです。次のように入力します。

$ lsnrctl stop 
$ sqlplus /nolog 
SQL> connect / as sysdba  
SQL> shutdown  
SQL> exit 
A.11.5.1.5 トレース・ファイル名のnewdb.sqlへの変更

前に作成したトレース・ファイルの名前を、同じディレクトリ内でnewdb.sqlに変更します。

$ cp ORACLE_SID_ora_processid.trc newdb.sql
A.11.5.1.6 スポンサ・ノードでのnewdb.sqlファイルの編集

次に示すように、サーバー・ノードでnewdb.sqlファイルを編集します。

  1. スポンサ・ノードで、newdb.sqlをテキスト・エディタで開き、STARTUP NOMOUNT文とCREATE CONTROLFILE文以外のすべての行を削除します。これらの行を削除した後のnewdb.sqlファイルは次のようになります。

    STARTUP NOMOUNT
    CREATE CONTROLFILE REUSE SET DATABASE "LDAP" RESETLOGS  NOARCHIVELOG
        MAXLOGFILES 16
        MAXLOGMEMBERS 3
        MAXDATAFILES 100    MAXINSTANCES 8
        MAXLOGHISTORY 454
    LOGFILE
      GROUP 1 '/private/oracle/oradata/LDAP/redo01.log'  SIZE 10M,
      GROUP 2 '/private/oracle/oradata/LDAP/redo02.log'  SIZE 10M,
      GROUP 3 '/private/oracle/oradata/LDAP/redo03.log'  SIZE 10M
    -- STANDBY LOGFILE
    DATAFILE
      '/private/oracle/oradata/LDAP/system01.dbf',
      '/private/oracle/oradata/LDAP/sysaux01.dbf',
      '/private/oracle/oradata/LDAP/users01.dbf',
      '/private/oracle/oradata/LDAP/dcm.dbf',
      '/private/oracle/oradata/LDAP/portal.dbf',
      '/private/oracle/oradata/LDAP/ptldoc.dbf',
      '/private/oracle/oradata/LDAP/ptlidx.dbf',
      '/private/oracle/oradata/LDAP/ptllog.dbf',
      '/private/oracle/oradata/LDAP/oca.dbf',
      '/private/oracle/oradata/LDAP/discopltc1.dbf',
      '/private/oracle/oradata/LDAP/discopltm1.dbf',
      '/private/oracle/oradata/LDAP/oss_sys01.dbf',
      '/private/oracle/oradata/LDAP/wcrsys01.dbf',
      '/private/oracle/oradata/LDAP/uddisys01.dbf',
      '/private/oracle/oradata/LDAP/b2b_dt.dbf',
      '/private/oracle/oradata/LDAP/b2b_rt.dbf',
      '/private/oracle/oradata/LDAP/b2b_idx.dbf',
      '/private/oracle/oradata/LDAP/b2b_lob.dbf',
      '/private/oracle/oradata/LDAP/bam.dbf',
      '/private/oracle/oradata/LDAP/orabpel.dbf',
      '/private/oracle/oradata/LDAP/attrs1_oid.dbf',
      '/private/oracle/oradata/LDAP/battrs1_oid.dbf',
      '/private/oracle/oradata/LDAP/gcats1_oid.dbf',
      '/private/oracle/oradata/LDAP/gdefault1_oid.dbf',
      '/private/oracle/oradata/LDAP/svrmg1_oid.dbf',
      '/private/oracle/oradata/LDAP/ias_meta01.dbf',
      '/private/oracle/oradata/LDAP/undotbs.dbf'
    CHARACTER SET AL32UTF8
    ;
    
  2. スポンサ・ノードのファイルnewdb.sqlの編集を次のように続行します。

    1. 次の行を変更します。

      CREATE CONTROLFILE REUSE DATABASE "LDAP" RESETLOGS  NOARCHIVELOG
      

      変更後:

      CREATE CONTROLFILE REUSE SET DATABASE "NLDAP" RESETLOGS  NOARCHIVELOG
      
    2. データベースとログ・ファイルのUNIXディレクトリ位置を変更し、新規ノード・サイトのディレクトリを指し示すようにします。

    この例では、newdb.sqlを次のように変更します。

    STARTUP NOMOUNT
    CREATE CONTROLFILE REUSE SET DATABASE "NLDAP" RESETLOGS  NOARCHIVELOG
        MAXLOGFILES 16
        MAXLOGMEMBERS 3
        MAXDATAFILES 100
        MAXINSTANCES 8
        MAXLOGHISTORY 454
    LOGFILE
      GROUP 1 '/private1/oracle/oradata/NLDAP/redo01.log'  SIZE 10M,
      GROUP 2 '/private1/oracle/oradata/NLDAP/redo02.log'  SIZE 10M,
      GROUP 3 '/private1/oracle/oradata/NLDAP/redo03.log'  SIZE 10M
    -- STANDBY LOGFILE
    DATAFILE
      '/private1/oracle/oradata/NLDAP/system01.dbf',
      '/private1/oracle/oradata/NLDAP/sysaux01.dbf',
      '/private1/oracle/oradata/NLDAP/users01.dbf',
      '/private1/oracle/oradata/NLDAP/dcm.dbf',
      '/private1/oracle/oradata/NLDAP/portal.dbf',
      '/private1/oracle/oradata/NLDAP/ptldoc.dbf',
      '/private1/oracle/oradata/NLDAP/ptlidx.dbf',
      '/private1/oracle/oradata/NLDAP/ptllog.dbf',
      '/private1/oracle/oradata/NLDAP/oca.dbf',
      '/private1/oracle/oradata/NLDAP/discopltc1.dbf',
      '/private1/oracle/oradata/NLDAP/discopltm1.dbf',
      '/private1/oracle/oradata/NLDAP/oss_sys01.dbf',
      '/private1/oracle/oradata/NLDAP/wcrsys01.dbf',
      '/private1/oracle/oradata/NLDAP/uddisys01.dbf',
      '/private1/oracle/oradata/NLDAP/b2b_dt.dbf',
      '/private1/oracle/oradata/NLDAP/b2b_rt.dbf',
      '/private1/oracle/oradata/NLDAP/b2b_idx.dbf',
      '/private1/oracle/oradata/NLDAP/b2b_lob.dbf',
      '/private1/oracle/oradata/NLDAP/bam.dbf',
      '/private1/oracle/oradata/NLDAP/orabpel.dbf',
      '/private1/oracle/oradata/NLDAP/attrs1_oid.dbf',
      '/private1/oracle/oradata/NLDAP/battrs1_oid.dbf',
      '/private1/oracle/oradata/NLDAP/gcats1_oid.dbf',
      '/private1/oracle/oradata/NLDAP/gdefault1_oid.dbf',
      '/private1/oracle/oradata/NLDAP/svrmg1_oid.dbf',
      '/private1/oracle/oradata/NLDAP/ias_meta01.dbf',
      '/private1/oracle/oradata/NLDAP/undotbs.dbf'
    CHARACTER SET AL32UTF8
    ;
    
A.11.5.1.7 初期化パラメータ・ファイルの作成およびコピー

初期化パラメータ・ファイルinit$ORACLE_SID.oraを、スポンサ・ディレクトリのデータベースからinit$ORACLE_SID_NEW_DIR_DB.oraにコピーします。初期化パラメータ・ファイルのデフォルトの場所は、UNIXまたはLinuxの場合は$ORACLE_HOME/dbs、Windowsの場合は%ORACLE_HOME%\databaseです。ここでは、次に示すように、/private/oracle/app/oracle/product/OraHome_1/dbs/initLDAP.ora/private/oracle/app/oracle/product/OraHome_1/dbs/initNLDAP.oraにコピーします。

$ cd ORACLE_HOME/dbs
$ cp initLDAP.ora initNLDAP.ora

初期化パラメータ・ファイルのかわりにサーバー・パラメータ・ファイルspfile$ORACLE_SID.oraまたはspfile.oraを使用している場合は、サーバー・パラメータ・ファイルから初期化パラメータ・ファイルを作成します。たとえば、spfile$ORACLE_SID.oraがデフォルトの場所である$ORACLE_HOME/dbsにある場合、次のように入力します。

$ sqlplus /nolog
SQL> connect / as sysdba
SQL> create pfile from spfile
SQL> shutdown immediate

このコマンド・シーケンスを実行すると、spfileLDAP.oraからinitLDAP.oraファイルが作成され、/private/oracle/app/oracle/product/OraHome_1に配置されます。サーバー・パラメータ・ファイルがデフォルトの場所にない場合は、次の例のように、完全なパスを指定する必要があります。

SQL> connect / as sysdba
SQL> create pfile='/private/oracle/initLDAP.ora' from
 spfile=/private/oracle/initLDAP.ora
SQL> shutdown immediate

初期化パラメータ・ファイルを作成したら、このステップの最初に説明した方法でそのファイルのコピーを作成します。

A.11.5.1.8 スポンサ・ノードでの初期化パラメータ・ファイルの編集

スポンサの新しい初期化パラメータ・ファイルで、次の変更を行います。

  1. JOB_QUEUE_PROCESSESパラメータがあれば、コメント・アウトします。
  2. dbnameパラメータをLDAPからNLDAPに変更します。
  3. 新規サイトのドメイン名がスポンサ・ディレクトリのドメイン名と異なる場合は、db_domainパラメータも変更します。
  4. 次のパラメータの場所を変更して、新規サイトの場所を指し示すようにします。
    background_dump_dest
    core_dump_dest
    user_dump_dest
    control_files
    db_recovery_file_dest
    
  5. これらのパラメータに加え、DB_RECOVERY_FILE_DESTDB_CREATE_FILE_DESTなど、ノード固有のパラメータが初期化パラメータ・ファイルに含まれている場合は、それらのパラメータも変更します。

この例の場合、変更後の初期化パラメータ・ファイルinitNLDAP.oraは次のようになります。

*.aq_tm_processes=1
*.background_dump_dest='/private1/oracle/app/oracle/admin/NLDAP/bdump'
*.compatible='10.1.0.2.0'
*.control_files='/private1/oracle/app/oracle/admin/NLDAP/control01.ctl',
       '/private1/oracle/app/oracle/admin/NLDAP/control02.ctl',
'/private1/oracle/app/oracle/admin/NLDAP/control03.ctl'
*.core_dump_dest='/private1/oracle/app/oracle/admin/NLDAP/cdump'
*.db_block_size=8192*.db_cache_size=50331648
*.db_domain='example.com'
*.db_file_multiblock_read_count=16
*.db_name='NLDAP'*.db_recovery_file_dest='/private/oracle1/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP)(PRE=oracle.aurora.server.GiopServer)',
              '(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)'
*.java_pool_size=67108864#*.job_queue_processes=5
*.large_pool_size=8388608
*.max_commit_propagation_delay=0
*.open_cursors=300
*.pga_aggregate_target=33554432*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=400
*.shared_pool_size=150994944
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS'
*.user_dump_dest='/private1/oracle/app/oracle/admin/NLDAP/udump'
A.11.5.1.9 新規ノードの接続詳細のtnsnames.oraファイルへの組込み

新規ノードの接続詳細が含まれるようtnsnames.oraファイルを編集します。次のサンプル・ファイルを参照してください。

LDAP.ACME.COM =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rst-sun)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ldap.acme.com)
    )
  )
NLDAP.ACME.COM =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dsm-sun)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = nldap.acme.com)    )
  )
A.11.5.1.10 すべてのデータ・ファイルの圧縮アーカイブ・ファイルの作成

すべてのデータ・ファイルのアーカイブを作成し、アーカイブしたファイルを圧縮します。newdb.sqlのDATAFILEの下に示されたファイルをすべて含めてください。

たとえば、次のコマンドを実行すると、データベース・ファイルの場所に移動し、OID_DB.tar.Zという圧縮アーカイブを生成できます。

$ cd $ORACLE_BASE/oradata/$ORACLE_SID  
$ tar -cvf OID_db.tar *.dbf   
$ compress OID_db.tar   

A.11.5.2 新規ノードの設定

新規ノードを設定するには、次のアクティビティを実行します。

A.11.5.2.1 新規ノードへのOracle Databaseのインストール

ソフトウェアのみのオプションを使用して、Oracle Databaseを新規ノードにインストールします。ご使用のプラットフォームの『Oracle Databaseインストレーション・ガイド』『Oracle Identity Managementのインストールと構成』を参照してください。

A.11.5.2.2 新規ノードでのデータ・ファイル、ダンプおよびトレース・ファイルのディレクトリの作成

新規ノードでソフトウェアのみのインストールが完了すると、次のディレクトリが存在します。

/private1/oracle/app/oracle/product/OraHome_1/diag/rdbms

新規ノードで次のディレクトリを作成します。

  • データファイルの場所: /private1/oracle/app/oracle/oradata/NLDAP

  • ダンプ先:

    /private1/oracle/app/oracle/admin/NLDAP/adump

    /private1/oracle/app/oracle/admin/NLDAP/udump

    /private1/oracle/app/oracle/flash_recovery_area

  • トレース・ファイルの場所: /private1/oracle/app/oracle/product/OraHome_1/diag/rdbms/nldap/nldap/trace

A.11.5.2.3 スポンサ・ノードから新規ノードへのアーカイブ・ファイルのコピー

FTPまたはその他の適切なツールを使用して、スポンサ・ノードに作成したアーカイブ・ファイルを新規ノードにコピーします。新規ノードのデータベース・ファイルの場所にディレクトリを移動し、FTPを使用してrst-sunからアーカイブ・ファイルをコピーします。

$ cd /private1/oracle/app/oracle/oradata/NLDAP
$ ftp
ftp> open rst-sun
Connected to rst-sun.us.example.com.
220 rst-sun FTP server (UNIX(r) System V Release 4.0) ready.
Name (rst-sun:oracle): 
331 Password required for oracle.
Password:
230 User oracle logged in.
ftp> cd /private/oracle/oradata/LDAP
250 CWD command successful.
ftp> binary
200 Type set to I.
ftp> mget oradb.tar.Z

データ・ファイルのサイズが非常に大きく(数GBまたはTB)、ネットワーク帯域幅が狭いときは、テープやディスクなどのメディアを使用して、圧縮したファイルをスポンサ・ノードから新規ノードに移動することを検討してください。

新規ノードでアーカイブ・ファイルを展開します。たとえば:

$ uncompress oradb.tar.Z
$ tar xvf oradb.tar

データ・ファイルが正しいディレクトリに展開されたことを確認してください。この例では、/private1/oracle/oradata/NLDAPディレクトリに展開します。

A.11.5.2.4 スポンサ・ノードから新規ノードへの初期化パラメータ・ファイルのコピー

FTPまたは他の適切なツールを使用して、初期化パラメータ・ファイルinitLDAP.oraを、スポンサ・ノード(rst-sun)から新規ノードのUNIXディレクトリ$ORACLE_HOME/dbsへコピーします。コピー後、コピーしたinitLDAP.oraファイルのデータが破損していないことを確認します。

これに加えて、データベース・パスワード・ファイルorclpwORACLE_SIDもスポンサ・ノードから新規ノードへコピーします。

A.11.5.2.5 spfileNLDAP.oraファイルとspfile.oraファイルが存在しないことの確認

新規ノードで、$ORACLE_HOME/dbsディレクトリ(UNIX)またはORACLE_HOME\databaseディレクトリ(Windows)に次のファイルが存在しないことを確認します。

  • spfileNLDAP.ora

  • spfile.ora

これらのファイルのいずれかが存在する場合、スポンサ・ノードからコピーしたinitNLDAP.oraファイルではなく、そのファイルがOracleデータベースで使用されます。

A.11.5.2.6 スポンサ・ノードから新規ノードへのnewdb.sqlファイルのコピー

FTPまたはその他の適切なツールを使用して、ステップ2でスポンサ・ノードに作成したファイルnewdb.sqlを新規ノードにコピーします。たとえば:

$ cd /private1/oracle/app/oracle/admin/NLDAP/udump 
$ ftp
ftp> open rst-sun
ftp> cd /private1/oracle/app/oracle/admin/LDAP/udump
ftp> mget newdb.sql
A.11.5.2.7 新規ノードでの環境変数の設定

新規ノードのUNIXシェル・プロンプトで、ORACLE_BASE、ORACLE_HOMEおよびORACLE_SIDの各環境変数を設定します。たとえば(Cシェルを使用):

$ setenv ORACLE_BASE /private1/oracle/app/oracle
$ setenv ORACLE_HOME /private1/oracle/app/oracle/product/OraHome_1
$ setenv ORACLE_SID NLDAP
A.11.5.2.8 SQL*Plusを使用した新規ノードでのnewdb.sqlの実行

同じUNIXシェルで、次の例に示すように、SQL*Plusを使用してnewdb.sqlを実行します。

$ sqlplus /nolog
SQL> connect / as sysdba
SQL> @newdb.sql
SQL> shutdown normal
SQL>exit
A.11.5.2.9 新規ノードでのデータベースとリスナーの起動

次のように、データベースとリスナーを起動します。

$ sqlplus /nolog 
SQL> connect / as sysdba 
SQL> startup mount 
SQL> alter database open resetlogs 
SQL> exit 
$ lsnrctl start 
A.11.5.2.10 新規ノードでのグローバル・データベース名の変更

新規ノードのグローバル・データベース名を変更します。

SQL> connect / as sysdba 
SQL> alter database rename global_name to NLDAP;  
SQL> exit

新規ノードのORACLE_SIDはNLDAPであることに注意してください。

A.11.5.2.11 新規ノードの表領域への一時ファイルの追加

次のコマンドを使用して、一時ファイルを表領域に追加します。

SQL> connect / as sysdba  
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'temp01.dbf' size 2000k; 
SQL> exit

2000Kは単なる例です。環境の要件に応じて値を決定します。

A.11.5.2.12 新規ノードでのOracle Internet Directoryの構成

新規ノードでOracle Internet Directoryを構成します。

  1. WebLogic Serverをインストールします。「Oracle WebLogic Serverインストールの計画」を参照してください。
  2. Oracle Internet Directoryをインストールします。『Oracle Identity Managementのインストールと構成』「Oracle Internet Directoryのインストールおよび構成」を参照してください。

    ノート:

    新規ノードでOracle Internet Directoryを構成するときは、新規ノードのデータベースに関する情報を指定する必要があります。

A.11.5.2.13 Oracle Internet Directoryの停止

次に示すように、wlstコマンドを使用してOracle Internet Directoryを停止します。

shutdown(name='instance-name',type='OID')
A.11.5.2.14 新規ノードでのウォレット・ファイルの削除およびODSパスワードのリセット

ウォレット・ファイルoidpwdlldap1oidpwdr*を削除し、ODSパスワードをリセットします。

$ cd DOMAIN_HOME/config/fmwconfig/components/OID/admin 
$ rm oidpwdlldap1 oidpwdr*
A.11.5.2.15 新規ノードでのOracle Internet Directoryパスワードのリセット

新規ノードで、パスワードをリセットし、Oracle Internet Directoryプロセスを起動します。

oidpasswd connect=oiddb create_wallet=true 

現在のデータベースのパスワード入力を要求されます。新しいデータベース・パスワードを入力し、新規パスワードを確認します。

A.11.5.2.16 新規ノードでのOracle Internet Directoryプロセスの起動

次に示すように、wlstコマンドを使用して、新規ノードでOracle Internet Directoryを起動します。

start(name='instance-name',type='OID')
A.11.5.2.17 新規ノードのレプリカIDのリセット

この時点では、新規ノードでOracle Internet Directoryが稼働しています。ただし、新規Oracle Internet Directoryノードのreplicaid値は、スポンサ・ノードのレプリカIDのままです。したがって、新規ノードのreplicaidをリセットする必要があります。replicaidの新しい値は、hostname_sidの形式である必要があります。

  • hostnameは、新規ノードのホスト名(ドメイン名なし)です。

  • sidは、新規ノードのデータベースのORACLE_SIDです。

replicaidのすべての文字が小文字であることを確認してください。

  1. chgrid.ldifファイルを作成します。内容は次のとおりです。
    dn:
    changetype: modify
    replace: orclreplicaid
    orclreplicaid: new_replicaid
    
  2. ldapmodifyツールを使用してreplicaidを変更します。
    $ORACLE_HOME/bin/ldapmodify -h new_node_host -p port_ldap_server -D cn=orcladmin -q -f chgrid.ldif
    
A.11.5.2.18 新規ノードの相対レプリカ・エントリの再作成

新規ノードのレプリカIDは変更されたため、新規ノードの相対レプリカ・エントリを次のように再作成する必要があります。

$ remtool -pcleanup -bind "new_node_host:new_node_port/new_node_repl_pswd"  

新しいレプリカIDに対応するレプリカ・エントリがまだないため、remtoolコマンドによりエラーが報告され、入力を求められます。remtoolコマンドは、その入力を使用して、エラーを修正します。次の例では、ユーザー入力は太字で示されています。

remtool -pcleanup -bind "new_node_host:new_node_port/new_node_repl_pswd" 
Error occurred while getting replication configuration information.  
This tool will try to rectify the problem if super user DN and password are provided.  
Do you want to continue? [y/n] : y 
Enter superuser DN                           : cn=orcladmin 
Enter superuser password                     :   
Enter new password of replication DN     :   
Reenter new password of replication DN  :    
DRG identified by replica ldap://new_node_host:new_node_port (new_replicaid) will be cleaned up.    
Do you want to continue? [y/n] : y  
------------------------------------------------------------------------------  
------------------------------------------------------------------------------  
Replica replica ldap://new_node_host:new_node_port (new_replicaid) has been cleaned up.
A.11.5.2.19 レプリカ・サブエントリの属性の変更

レプリカ・サブエントリの名前を変更したら、レプリカ・サブエントリのorclreplicauri属性、orclreplicasecondaryuri属性およびorclreplicastate属性も変更します。orclreplicauri属性とorclreplicasecondaryuri属性には、新規ノードのLDAPサーバーのURIを追加する必要があります。orclreplicastate属性は6に設定します。remtoolはこの属性を使用して、データベース・コピー・ベースのaddnodeであることを識別します。

この値を変更するには、次の手順を実行します。

  1. LDIFファイルmodsubentry.ldifを作成します。このファイルの内容は次のとおりです。
    dn: orclreplicaid=new_replicaid,cn=replication configuration  
    changetype: modify  
    replace: orclreplicauri 
    # Use your host name and port number  
    # where ldap server is listening  
    orclreplicauri: ldap://new_node_host:new_node_port/  ---  
    replace:orclreplicasecondaryuri  
    # Use your fully qualified host name and  
    # the port number where ldap server is listening  orclreplicasecondaryuri:  
    ldap://new_node_host_with_domain_name:new_node_port/  ----  
    replace:orclreplicastate  
    orclreplicastate: 6  
     
  2. ldapmodifyツールを使用して、ディレクトリを次のように変更します。
    $ ldapmodify -h new_node_host -p port_of_ldap_server -f modsubentry.ldif
    
A.11.5.2.20 Oracle Internet Directoryプロセスの停止

Oracle Internet Directoryプロセスを停止するには、次のコマンドを実行します。

$shutdown(name='instance-name',type='OID')
A.11.5.2.21 新規ノードでの変更ログ表のクリーンアップ

新規ノードで、changelog表をクリーンアップします。

$ sqlplus /nolog  
SQL> connect ods/ods_password;  
SQL> truncate table ods.ods_chg_log;  
SQL> truncate table ods.ods_chg_stat;  
SQL> truncate table ods.asr_chg_log;

A.11.5.3 LDAPベースのレプリケーションの実行

新規ノードがLDAPベースのレプリケーションの完全なレプリカである場合、LDAPベースのレプリケーションを構成し、完全なレプリカをファンアウトとして次のように追加します。

  1. データベースとOracle Internet Directoryサーバーがスポンサ・ノードで稼働していることを確認します。

    スポンサ・ノードで、次のように入力します。

    $ sqlplus /nolog 
    SQL> connect / as sysdba 
    SQL> startup 
    SQL> exit 
    $ lsnrctl start 
    Start OID 
    $DOMAIN_HOME/bin/startComponent.sh <instance-name> 
      

    次のように入力して、Oracle Internet Directoryのステータスを確認します。

    $oid_instanceStatus(instanceName = 'instance-name')  
    
  2. remtoolを使用して、LDAPベース・レプリケーションを次のように構成します。
     remtool -paddnode 
    
  3. 新規レプリケーション承諾のレプリケーション変更ステータスを初期化します。
    • スポンサ・ノードから、最大の使用済変更番号を取得します。

      $ ldapsearch -h sponsor_node_host -p sponor_node_port -b " " \
         -s base "objectclass=*" lastchangenumber 
      
    • LDIFファイルchgstatus.ldifを作成します。このファイルの内容は次のとおりです。

      dn: orclagreementid=new_agreement_id,orclreplicaid=new_replicaid,cn=replication configuration
      changetype: modify 
      replace: orcllastappliedchangenumber;transport$sponsor_replicaid$new_replicaid
      orcllastappliedchangenumber;transport$sponsor_replicaid$new_replicaid: Number_from_ldapsearch
      -
      replace: orcllastappliedchangenumber;apply$sponsor_replicaid$new_replicaid
      orcllastappliedchangenumber;apply$sponsor_replicaid$new_replicaid: Number_from_ldapsearch
       

      Number_from_ldapsearchは、ldapsearchコマンドを使用して取得したスポンサ・ノードからの最大変更番号のことです。

    • ldapmodifyを使用して、スポンサ・ノードと新規ノードの両方に変更を適用します。

      ldapmodify -p sponsor_node_port -h sponsor_node_host -v \
         -f chgstatus.ldif 
      ldapmodify -p new_node_port -h new_node_host -v -f chgstatus.ldif 
      
  4. すべてのノードでOracle Internet Directoryとレプリケーション・サーバーを起動します。一方向レプリケーションの場合は、コンシューマ・ノードでのみレプリケーション・サーバーを起動します。