ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Internet Directory管理者ガイド
11g リリース1(11.1.1)
B55919-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

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

この付録では、データベース・コピー・プロシージャ(コールド・バックアップとも呼ばれる)を使用して、既存のレプリケート・システムに新規ノードを追加する方法について説明します。このプロシージャはOracle Internet Directoryでのみ機能します。Oracle Single Sign-Onなど、他のOracle Identity Managementコンポーネントがインストールされている場合は、このプロシージャを使用しないでください。Oracle Internet Directoryノードがスタンドアロンの場合は、データベース・コピー・プロシージャを使用して新しいディレクトリ・レプリケーション・グループ(DRG)を作成できます。このプロシージャは、Oracle Databaseアドバンスト・レプリケーション・ベースのレプリカと、完全LDAPベース・レプリカにのみ適用できます。

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

L.1 定義

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

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

L.2 前提条件

このプロシージャを開始するには、コンピューティング環境が次の前提条件を満たしている必要があります。

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

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

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

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

  5. スポンサ・サイトがすでにアドバンスト・レプリケーション・グループの一員である場合、スポンサ・ノードはマスター定義サイト(MDS)である必要があります。

L.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

L.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
 

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

L.5 ディレクトリ・ノードの追加

  1. 次のようにしてノードを追加し、ステータスを確認します。

    1. Identity ManagementとOracle Internet Directoryコンポーネントをスポンサ・ノードにインストールします。『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』を参照してください。


      関連項目:

      • 使用しているオペレーティング・システムのOracle Databaseのインストレーション・ガイド

      • 『Oracle Fusion Middleware Getting Started With Installation for Oracle WebLogic Server』

      • 『Oracle Fusion Middlewareインストレーション・プランニング・ガイド』


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

      $ cd ORACLE_INSTANCE/bin
      $ ./opmnctl status
      

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

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

    $ cd ORACLE_INSTANCE/bin 
    $ opmnctl stopall
     
    
  2. スポンサ・ノードで次の手順を実行します。

    1. コマンドライン・プロンプトで、次のSQL*Plusコマンドを実行します。

      $ sqlplus /nolog  
      SQL> connect / as sysdba 
      SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE RESETLOGS; 
      

      このコマンド・シーケンスを実行すると、ダンプ先ディレクトリの下にトレース・ファイルが作成されます。

      ユーザー・ダンプ先ディレクトリの位置を確認するには、次のコマンドを実行します。

      SQL> show parameter user_dump_dest;
      

      新たに作成したトレース・ファイルの名前は次の形式になります。

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

      $ lsnrctl stop 
      $ sqlplus /nolog 
      SQL> connect / as sysdba  
      SQL> shutdown  
      SQL> exit 
      
    3. コピーされるノードがアドバンスト・レプリケーション・ベースのDRGの一員の場合、次の手順を実行します。

      • DRGの他のノードで、LDAPレプリケーション・サーバーのみを停止します。

        $ oidctl connect=connect_string server=oidrepld \
           instance=instance_number stop   
        

        スポンサ・ノード以外のすべてのノードで、この手順を繰り返します。対応するノードに適したネット・サービス名を指定してください。

      • ノードを既存のDRGに追加する場合、SQL*Plusを使用してOracle Databaseアドバンスト・レプリケーションを静止させます。次のコマンドは、マスター定義サイト(MDS)でのみ実行してください。

        $ cd ORACLE_HOME/ldap/admin 
        $ sqlplus /nolog SQL> connect repadmin/repadmin_password;  
        SQL> @oidrsusp.sql 
          
        

        注意:

        SQL*Plusのこの手順は、マスター定義サイトでのみ実行してください。


      これで、レプリケーションが停止され、他のノードの変更が可能になります。

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

      $ cp ORACLE_SID_ora_processid.trc newdb.sql
      
  3. スポンサ・ノードで、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
    ;
    
  4. スポンサ・ノードのファイル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
    ;
    
  5. 初期化パラメータ・ファイル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
    

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

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

    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. 手順7dに記載されているパラメータに加え、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'
    
  7. 新規ノードの接続詳細が含まれるよう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)    )
      )
    
  8. すべてのデータ・ファイルのアーカイブを作成し、アーカイブしたファイルを圧縮します。newdb.sqlのDATAFILEの下に示されたファイルをすべて含めてください。

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

    $ cd $ORACLE_BASE/oradata/$ORACLE_SID  
    $ tar -cvf OID_db.tar *.dbf   
    $ compress OID_db.tar   
    
  9. ソフトウェアのみのオプションを使用して、Oracle Databaseを新規ノードにインストールします。使用しているプラットフォームのOracle Databaseのインストレーション・ガイドおよび『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』を参照してください。

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

    /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

  11. FTPまたはその他の適切なツールを使用して、手順9でスポンサ・ノードに作成したアーカイブ・ファイルを新規ノードにコピーします。新規ノードのデータベース・ファイルの場所にディレクトリを移動し、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ディレクトリに展開します。

  12. スポンサ・ノードがアドバンスト・レプリケーション・グループの一員の場合、次の手順を実行します。

    1. FTPなどのツールを使用して、初期化パラメータ・ファイルinitLDAP.oraを、スポンサ・ノード(rst-sun)から新規ノードのUNIXディレクトリ$ORACLE_HOME/dbsへコピーします。ファイル名をinitNLDAP.oraに変更します。

      コピー後、コピーしたinitLDAP.oraファイルのデータが破損していないことを確認します。

      ファイルinitLDAP.oraを編集します。次の変更を行います。

      .db_name='NLDAP'
      

      次のように変更します。

      .db_name='LDAP' 
      
    2. FTPなどの適切なツールを使用して、手順5でスポンサ・ノードに作成したファイルnewdb.sqlを新規ノードにコピーします。newdb.sqlの名前をolddb.sqlに変更します。

      olddb.sqlを編集します。次の変更を行います。

      CREATE CONTROLFILE REUSE SET DATABASE "NLDAP" RESETLOGS  NOARCHIVELOG
      

      次のように変更します。

      CREATE CONTROLFILE REUSE SET DATABASE "LDAP" RESETLOGS  NOARCHIVELOG 
      
    3. tnsnames.oraをコピーし、tnsnames.ora.bkとします。

      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)    )
       )
       
      

      次のように変更します。

      LDAP.ACME.COM =
       (DESCRIPTION =
         (ADDRESS = (PROTOCOL = TCP)(HOST = dsm-sun)(PORT = 1521))
         (CONNECT_DATA =
           (SERVER = DEDICATED)
           (SERVICE_NAME = ldap.acme.com)    )
       )
       
      
    4. 新規ノードのシェル・プロンプトで、ORACLE_BASEORACLE_HOMEおよびORACLE_SIDの各環境変数を設定します。次に例を示します(Cシェルを使用)。

      $ setenv ORACLE_BASE /private1/oracle/app/oracle
      $ setenv ORACLE_HOME /private1/oracle/app/oracle/product/OraHome_1
      $ setenv ORACLE_SID LDAP
       
      
    5. 同じシェルで、次の例に示すように、SQL*Plusを使用してolddb.sqlを実行します。

      cd /private1/oracle/app/oracle/admin/NLDAP/udump
      $ sqlplus /nolog
      SQL> connect / as sysdba
      SQL> @olddb.sql
      SQL> shutdown normal
      SQL>exit
      
    6. 次のように、データベースとリスナーを起動します。

      $ sqlplus /nolog
      SQL> connect / as sysdba
      SQL> startup mount
      SQL> alter database open resetlogs
      SQL> exit
      $ lsnrctl start
       
      
    7. 別のノードを使用して構成されたアドバンスト・レプリケーションを持つノードからデータベース・コピーを実行した場合、新規ノードでLDAP_REPレプリケーション・グループを削除する必要があります。これを行うには、次のコマンドを実行します。

      sqlplus / as sydba
      SQL> dbms_defer_sys.delete_tran(null,null);
      SQL> dbms_defer_sys.delete_error(null,null);
      SQL> dbms_repcat.purge_master_log(null,null,null);
      SQL> exit
      
      sqlplus rep_admin_db_account_name/password
      SQL> exec dbms_repcat.drop_master_repgroup( gname => 'LDAP_REP' )
      SQL> shutdown immediate
       
      
  13. FTPまたは他の適切なツールを使用して、初期化パラメータ・ファイルinitLDAP.oraを、スポンサ・ノード(rst-sun)から新規ノードのUNIXディレクトリ$ORACLE_HOME/dbsへコピーします。コピー後、コピーしたinitLDAP.oraファイルのデータが破損していないことを確認します。

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

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

    • spfileNLDAP.ora

    • spfile.ora

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

  15. FTPまたはその他の適切なツールを使用して、手順5でスポンサ・ノードに作成したファイル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
    
  16. 新規ノードの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
    
  17. 同じUNIXシェルで、次の例に示すように、SQL*Plusを使用してnewdb.sqlを実行します。

    $ sqlplus /nolog
    SQL> connect / as sysdba
    SQL> @newdb.sql
    SQL> shutdown normal
    SQL>exit
    
  18. 新規ノードの変更を完了します。

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

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

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

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

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

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

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

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

    1. WebLogic Serverをインストールします。『Oracle Fusion Middleware Oracle WebLogic Serverインストレーション・ガイド』を参照してください。

    2. Oracle Internet Directoryをインストールします。『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』を参照してください。


      注意:

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


    3. opmnctlを使用してOracle Internet Directoryを停止します。

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

    $ cd $ORACLE_HOME/OID/admin 
    $ rm oidpwdlldap1 oidpwdr*
    
  21. 新規ノードで、パスワードをリセットし、Oracle Internet Directoryプロセスを起動します。

    oidpasswd connect=nldap create_wallet=true 
    

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

    opmnctlコマンドを使用して、新規ノードでOracle Internet Directoryを起動します。

    $opmnctl startproc ias-component=oid1 
    
  22. この時点では、新規ノードで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 -f chgrid.ldif
      
  23. 新規ノードのレプリカIDは手順23で変更されたため、新規ノードの相対レプリカ・エントリを次のように再作成する必要があります。

    $ 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.
    
  24. レプリカ・サブエントリの名前を変更したら、レプリカ・サブエントリの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
      
  25. Oracle Internet Directoryプロセスを停止します。

    $opmnctl stopproc ias-component=oid1
    
  26. 新規ノードで、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;
    
  27. 新規ノードがアドバンスト・レプリケーション・ベースのDRGの一部になる場合、次の手順を実行します。

    1. 新規ノードを既存のDRGに追加する場合、Oracle Databaseアドバンスト・レプリケーションを構成するには、シェル・プロンプトで次のコマンドを実行します。

      $ remtool -addnode 
      

      スポンサ・ノードと新規ノードで構成された新しいDRGを作成する場合、Oracle Databaseアドバンスト・レプリケーションを構成するには、シェル・プロンプトで次のコマンドを実行します。

      $ remtool -asrsetup 
      
    2. 新規ノードとスポンサ・ノードを含め、すべてのノードでOracle Internet Directoryとレプリケーション・サーバーを起動します。

      次のコマンドを使用してレプリケーション・サーバーを起動します。

      oidctl connect=nldap server=OIDREPLD instance=1 \
         flags="-p new_node_port -h new_node_host" start
      

      次に、resumeasrまたはoidrrsme.sqlを実行します。

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

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

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

      $ sqlplus /nolog 
      SQL> connect / as sysdba 
      SQL> startup 
      SQL> exit 
      $ lsnrctl start 
      Start OID 
      $opmnctl startproc ias-component=oid1 
        
      

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

      $opmnctl status 
      
    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とレプリケーション・サーバーを起動します。一方向レプリケーションの場合は、コンシューマ・ノードでのみレプリケーション・サーバーを起動します。