ヘッダーをスキップ

Oracle Application Server 管理者ガイド
10gリリース2(10.1.2)
B15814-06
目次
目次
索引
索引

戻る 次へ

11
本番環境からテスト環境へのステージング

この章では、中間層インスタンス、Metadata Repositoryを備えたIdentity Management、およびOracleAS PortalとOracleBI Discovererのメタデータの製品Metadata Repositoryを含む9.0.4.xまたは10.1.2.0.xの本番環境をテスト環境にコピーする方法について説明します。Identity Managementと製品メタデータは、同一のMetadata Repositoryを共有することも、それぞれに専用のMetadata Repositoryを使用することもできます。この手順は次の目的で使用できます。

追加の中間層ノードの作成のみが必要な場合は、第10章の手順を実行してください。

この章の項目は次のとおりです。

11.1 本番環境からテスト環境を作成しメタデータをコピーする

この構成では、中間層インスタンス、Metadata Repositoryを備えたIdentity Managementインストール、OracleAS PortalとOracleBI Discovererのメタデータの製品Metadata Repository、およびカスタマ・データベースを含む本番環境が存在します。この本番環境のコピーをテスト環境に作成したいと考えています。

この構成でテスト環境を作成するには、Identity Managementおよび製品Metadata Repositoryをインストールし、その後で本番データを移行します。次に、テスト用の中間層インスタンスをインストールして、このインスタンスにアプリケーションをデプロイします。そして、OracleBI Discovererデータをインポートして、既存のカスタマ・データベースを使用します。

図11-1に、この構成を示します。

図11-1    本番環境からテスト環境を作成しメタデータをコピーする


画像の説明

11.1.1 あらかじめ想定される構成

この使用例で想定している構成は次のとおりです。

11.1.2 手順

この手順では、次の作業を行います。

この手順では、INFRA_HOMEはOracleAS InfrastructureのOracleホームを指し、MIDTIER_HOMEはOracle Application ServerのOracleホームを指します。

関連項目

ldapaddmtldapmodifyldapsearchldifwritebulkloadおよびbulkdeleteなど、この手順で説明しているOracle Internet Directoryの管理ツールの詳細は、『Oracle Identity Managementユーザー・リファレンス』を参照してください。 


注意

Windowsオペレーティング・システムでOracle Internet Directoryの管理ツールを実行するには、次のいずれかのUNIXエミュレーション・ユーティリティが必要です。

  • Cygwin 1.3.2.2-1以上。http://sources.redhat.comを参照してください。

  • MKS Toolkit 6.1。http://www.datafocus.comを参照してください。

 


注意

この手順で説明しているOracle Internet Directoryの管理ツールのいずれかを実行するには、ディレクトリ・コマンドを実行する前に、NLS_LANG環境変数を設定する必要があります。

キャラクタ・セットを確認するには、SYSユーザーとしてSQL*Plusから次の問合せを実行します。

SQL> SELECT userenv('language') from dual;

出力は次のようになります。

USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.WE8MSWIN1252

次のように、NLS_LANG環境変数を設定します。

setenv NLS_LANG AMERICAN_AMERICA.WE8MSWIN1252
 

エクスポート前に実行する必要のある手順

テスト環境を設定する前に、本番環境から情報を取得し、データをエクスポートする手順は次のとおりです。

  1. 本番環境のアクセスに必要な情報を収集します。

    • Metadata Repositoryがインストールされているコンピュータのオペレーティング・システムのログイン資格証明

    • 中間層コンピュータのオペレーティング・システムのログイン資格証明とOracleホームの場所

    • ホスト名、ポート、および管理DNとパスワードなどOracle Internet Directoryの接続情報

    • ODSスキーマのパスワード。製品Metadata Repositoryではなく、Identity ManagementのMetadata Repositoryで次のコマンドを使用します。

      PRODUCTION_INFRA_HOME/bin/ldapsearch -h production_oid_host 
      -p production_oid_port -D cn=orcladmin -w production_orcladmin_passwd 
      -b "orclreferencename=metadata_rep_global_db_name, cn=IAS Infrastructure 
      Databases, cn=ias, cn=products, cn=oracleContext" -s base "orclresourcename=ods" orclpasswordattribute

      この構文では、次のようになります。

      production_oid_hostは、本番用ディレクトリ・サーバーのホストを表します。

      production_oid_portは、本番用ディレクトリ・サーバーのLDAPポートを表します。

      production_orcladmin_passwordは、スーパーユーザーDN(cn=orcladmin)のパスワードを表します。

      metadata_rep_global_db_nameは、本番用ディレクトリのMetadata Repositoryのサービス名を表します。

    • PORTALスキーマのパスワード。次のコマンドを使用します。

      PRODUCTION_INFRA_HOME/bin/ldapsearch -h production_oid_host 
      -p production_oid_port -D cn=orcladmin -w production_orcladmin_passwd 
      -b "orclreferencename=metadata_rep_global_db_name, cn=IAS Infrastructure 
      Databases, cn=ias, cn=products, cn=oracleContext" -s one "orclresourcename=portal" orclpasswordattribute
    • ORASSOスキーマのパスワード。次のコマンドを使用します。

      PRODUCTION_INFRA_HOME/bin/ldapsearch -h production_oid_host 
      -p production_oid_port -D cn=orcladmin -w production_orcladmin_passwd 
      -b "orclreferencename=metadata_rep_global_db_name, cn=IAS Infrastructure 
      Databases, cn=ias, cn=products, cn=oracleContext" -s one "orclresourcename=orasso" orclpasswordattribute
  2. 本番Oracle Internet Directoryからデータをエクスポートします。

    1. 本番用ディレクトリ・サーバーに問い合せて、デフォルトのレルムを検索します。

      PRODUCTION_INFRA_HOME/bin/ldapsearch -h production_oid_host 
      -p production_oid_port -D cn=orcladmin -w production_orcladmin_passwd 
      -b "cn=common, cn=products, cn=oracleContext" 
      -s base "objectclass=*" orcldefaultSubscriber
      
      

      LDIF形式でorcldefaultSubscriberが返されます。

      cn=Common,cn=Products,cn=OracleContext
      orcldefaultsubscriber=dc=us,dc=company,dc=com
      
      

      この情報は後でテスト用Identity Managementをインストールするときに必要になります。

    2. 本番用ディレクトリ・サーバーに問い合せて、構成されているユーザー検索ベースとグループ検索ベースを確認します。

      PRODUCTION_INFRA_HOME/bin/ldapsearch -L 
      -h production_oid_host -p production_oid_port -D cn=orcladmin 
      -w production_orcladmin_passwd 
      -b "cn=common, cn=products, cn=OracleContext, orcldefaultsubscriber" 
      -s base "objectclass=*" orclCommonUserSearchBase orclCommonGroupSearchBase 
      orclCommonNicknameattribute > /tmp/OracleContext.ldif
      
      

      この構文では、orcldefaultsubscriberはこの手順のステップ2aで返される orcldefaultsubscriberの値です。

      レスポンスは次のようになります。

      dn: cn=Common,cn=Products,cn=OracleContext,dc=us,dc=company,dc=com
      orclcommonusersearchbase: cn=users,dc=us,dc=company,dc=com
      orclcommongroupsearchbase: cn=Groups,dc=us,dc=company,dc=com
      orclcommonnicknameattribute: uid
      
      
    3. 本番ディレクトリ・サーバーからすべてのユーザーをエクスポートします。

      PRODUCTION_INFRA_HOME/bin/ldifwrite 
      -c production_oid_net_service_name -b "orclcommonusersearchbase" 
      -f /tmp/user.ldif
      
      

      この構文では、次のようになります。

      production_oid_net_service_nametnsnames.oraファイルで定義しているように、本番ディレクトリのネット・サービス名です。

      orclcommonusersearchbaseは、cn=users,dc=us, dc=company,dc=comのように、LDIF形式で書き出されたorclcommonusersearchbaseサブツリーです。

      ディレクトリ・パスワードを求められたらODSユーザーのパスワードを入力します。このパスワードのデフォルトは、インストール時に管理者ias_adminに割り当てられたパスワードです。ユーザー検索ベース値(orclcommonusersearchbase)ごとに、Oracleコンテキスト設定の問合せからldifwriteコマンドを実行する必要があります。

    4. 本番ディレクトリ・サーバーからすべてのグループをエクスポートします。

      PRODUCTION_INFRA_HOME/bin/ldifwrite 
      -c production_oid_net_service_name -b "orclcommongroupsearchbase" 
      -f /tmp/group.ldif
      
      

      この構文で、orclcommongroupsearchbaseは、cn=Groups,dc=us, dc=company,dc=comのように、LDIF形式で書き出されたorclcommongroupsearchbaseサブツリーです。

      ディレクトリ・パスワードを求められたらODSユーザーのパスワードを入力します。このパスワードのデフォルトは、インストール時に管理者ias_adminに割り当てられたパスワードです。グループ検索ベース値(orclcommongroupsearchbase)ごとに、Oracleコンテキスト設定の問合せからldifwriteコマンドを実行する必要があります。

    5. 本番ディレクトリ・サーバーのDelegated Administration Servicesの管理グループ・サブツリーを保存します。

      PRODUCTION_INFRA_HOME/bin/ldifwrite 
      -c production_oid_net_service_name 
      -b "cn=groups, cn=OracleContext, orcldefaultsubscriber" 
      -f /tmp/dasAdminGroups.ldif 
       
      

      この構文では、orcldefaultsubscriberはこの手順のステップ2aで返される orcldefaultsubscriberの値です。

    6. パスワード・ポリシーの構成エントリをコピーし、次のようにこのエントリにldapsearchコマンドを追加します。

      PRODUCTION_INFRA_HOME/bin/ldapsearch -L 
      -h production_oid_host -p production_oid_port 
      -D cn=orcladmin -w production_orcladmin_passwd 
      -b "cn=PwdPolicyEntry, cn=common, cn=products, cn=OracleContext" 
      -s base "objectclass=*" >> /tmp/pwdPolicy.ldif
      
      PRODUCTION_INFRA_HOME/bin/ldapsearch -L 
      -h production_oid_host -p production_oid_port 
      -D cn=orcladmin -w production_orcladmin_passwd 
      -b "cn=PwdPolicyEntry, cn=common, cn=products, cn=OracleContext, 
      orcldefaultsubscriber" 
      -s base "objectclass=*" >> /tmp/pwdPolicy.ldif
      
      
  3. エクスポートする本番環境の製品Metadata Repositoryを準備します。

    1. エクスポートするスキーマを列挙します。

      PORTALとそれに関連するスキーマ、DISCOVERER5スキーマ、およびデータベース・プロバイダやOracleAS Portal Portlet Builderコンポーネントに使用する任意のスキーマなど、エクスポート対象のスキーマをすべて特定する必要があります。

      すべてのスキーマを列挙するには、PORTALスキーマでSQL*Plusから次の問合せを実行します。

      SET  LINESIZE 132
      
      SELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE FROM DBA_USERS
      WHERE USERNAME IN (user, user||'_PUBLIC', user||'_DEMO', user||'_APP', 
      'DISCOVERER5')
      OR USERNAME IN (SELECT DISTINCT OWNER
      FROM WWAPP_APPLICATION$
      WHERE NAME != 'WWV_SYSTEM')
      ORDER BY USERNAME;
      
      

      レスポンスは次のようになります。

      USERNAME                       DEFAULT_TABLESPACE      TEMPORARY_TABLESPACE
      ---------------------------------------------------------------------------
      ARUN                           USERS                        TEMP
      DISCOVERER5                    DISCO_PTM5_META              DISCO_PTM5_TEMP
      PORTAL                         PORTAL                       PORTAL_TMP
      PORTAL_APP                     PORTAL                       PORTAL_TMP
      PORTAL_DEMO                    PORTAL                       PORTAL_TMP
      PORTAL_PUBLIC                  PORTAL                       PORTAL_TMP
      SCOTT                          SYSTEM                       TEMP
      TESTER_DAT                     SYSTEM                       TEMP
      TESTER_SCH                     SYSTEM                       TEMP
      UPG_SCHEMA                     USERS                        TEMP
      UPG_SCHEMDB                    USERS                        TEMP
      10 rows selected
      
      

      このコマンドは、データベース・プロバイダまたはOracleAS Portalに登録されたPortlet Builderコンポーネントに直接関係するスキーマのみを一覧表示します。これらのスキーマが他のスキーマのオブジェクトを参照している場合、それをエクスポート対象のスキーマの一覧に追加します。

    2. 使用されている表領域を列挙します。

      ターゲット・データベースの表領域とソースの表領域は、一致している必要があります。ソースのデータベースで使用されている表領域を列挙するには、PORTALユーザーとしてSQL*Plusから次の問合せを実行します。

      SQL> SELECT DISTINCT TABLESPACE_NAME FROM DBA_SEGMENTS WHERE OWNER IN (schema_
      list)
      UNION
      SELECT DISTINCT DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME IN (schema_
      list)
      /
      SELECT DISTINCT TEMPORARY_TABLESPACE FROM DBA_USERS WHERE USERNAME IN (schema_
      list)
      /
      

      ここで、schema_listにはこの手順のステップ3aで生成されたスキーマが含まれています。

      問合せとレスポンスは次のようになります。

      SQL> SELECT DISTINCT TABLESPACE_NAME FROM DBA_SEGMENTS WHERE OWNER IN
        2  ('ARUN','PORTAL','DISCOVERER5','PORTAL_APP','PORTAL_DEMO','PORTAL_
      PUBLIC','SCOTT',
        3  'TESTER_DAT','TESTER_SCH','UPG_SCHEMA','UPG_SCHEMDB','FLIGHTS','PROV9022')
        4  UNION
        5  SELECT DISTINCT DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME IN
        6  ('ARUN','PORTAL', 'DISCOVERER5','PORTAL_APP','PORTAL_DEMO','PORTAL_
      PUBLIC','SCOTT',
        7  'TESTER_DAT','TESTER_SCH','UPG_SCHEMA','UPG_
      SCHEMDB','FLIGHTS','PROV9022');
      
      TABLESPACE_NAME
      ------------------------------
      INDX
      DISCO_PTM5_CACHE
      DISCO_PTM5_META
      PORTAL
      PORTAL_DOC
      PORTAL_IDX
      PORTAL_LOG
      SYSTEM
      USERS
      
      7 rows selected.
      
      SQL> SELECT DISTINCT TEMPORARY_TABLESPACE FROM DBA_USERS WHERE USERNAME IN 
      ('ARUN','PORTAL','PORTAL_APP','PORTAL_DEMO','PORTAL_PUBLIC','SCOTT','TESTER_
      DAT','TESTER_SCH','UPG_SCHEMA','UPG_SCHEMDB','FLIGHTS','PROV9022');
      
      TEMPORARY_TABLESPACE
      ------------------------------
      DISCO_PTM5_TEMP
      PORTAL_TMP
      TEMP
      
      
    3. スナップショットを持つスキーマを列挙します。

      スナップショットを持つスキーマは特定する必要があります。そのためには、SYSユーザーとしてSQL*Plusから次の問合せを実行します。

      SQL> SELECT OWNER, NAME FROM DBA_SNAPSHOTS WHERE OWNER IN (schema_list);
      
      

      ここで、schema_listにはこの手順のステップ3aで生成されたスキーマが含まれています。

      問合せとレスポンスは次のようになります。

      SQL> SELECT OWNER, NAME FROM DBA_SNAPSHOTS
        2 WHERE OWNER IN ('ARUN','DISCOVERER5','PORTAL','PORTAL_APP','PORTAL_
      DEMO','PORTAL_PUBLIC','SCOTT','TESTER_DAT','TESTER_SCH','UPG_SCHEMA','UPG_
      SCHEMDB');
      OWNER                       NAME
      ------------------------------ ------------------------------
      PORTAL_DEMO                 EMP_SNAPSHOT
      SCOTT                       EMP_SNAPSHOT
      
      
    4. 本番用データベースのキャラクタ・セットを確認するには、SYSユーザーとしてSQL*Plusから次の問合せを実行します。

      SQL> SELECT userenv('language') from dual;
      
      

      出力は次のようになります。

      USERENV('LANGUAGE')
      ----------------------------------------------------
      AMERICAN_AMERICA.WE8MSWIN1252
      
      

      データベースをエクスポートする前にNLS_LANG環境変数を設定します。

      setenv NLS_LANG AMERICAN_AMERICA.WE8MSWIN1252
      
      
    5. データをエクスポートする前に、SYSDBA権限でPRODUCTION_INFRA_HOME/rdbms/adminディレクトリからCATEXP.SQLスクリプトを実行します。

      SQL> CONNECT SYS/password AS SYSDBA
      @catexp.sql
      
      

      このスクリプトによって、そのビューの多くで、データ・ディクショナリおよびパブリック・シノニムが作成されます。

  4. 本番環境の製品Metadata Repositoryからデータをエクスポートします。

    1. OPMNが管理するすべてのプロセスを停止します。

      PRODUCTION_INFRA_HOME/opmn/bin/opmnctl stopall
      
      
    2. エクスポート・ユーティリティを実行します。

      実際のエクスポートは、データベースの次のexpコマンドで実行されます。この例では4つの主要なOracleAS Portalスキーマのみを表示しています。この手順のステップ3aSELECT文で特定された他のスキーマも含めます。

      PRODUCTION_INFRA_HOME/bin/exp 'sys/password@instance AS SYSDBA' 
      file=/tmp/portal_exp.dmp grants=y statistics=none log=/tmp/portal_exp.log 
      owner=portal,portal_app,portal_demo,portal_public
      
      

      UNIXオペレーティング・システムの場合、引用符の前に円記号(¥)などのエスケープ文字を置く必要があります。

    3. OPMNが管理するすべてのプロセスを起動します。

      PRODUCTION_INFRA_HOME/opmn/bin/opmnctl startall
      
      
  5. 本番用のIdentity ManagementからOracleAS Single Sign-Onの外部アプリケーション・データをエクスポートします。

    このステップによって、外部アプリケーションおよびパスワードの格納データがすべてエクスポートされます。次のように、ssomigユーティリティを使用して、OracleAS Single Sign-Onのデータを抽出します。

    PRODUCTION_INFRA_HOME/sso/bin/ssomig -s orasso -p orasso_password 
    -c production_sso_net_service_name -log_d /tmp -export -log_f ssomig.log 
    -d ssomig.dmp
    
    

    レスポンスは次のようになります。

    SSO Migration Tool: Release 10.1.2.0.2 - Production on Fri Feb 25 16:15:19 2005
    Copyright (c) 2002-2005 Oracle. All rights reserved.
    
    Verifying SSO schema information...
    
    Data export started at Fri Feb 25 16:15:22 2005
    
    Log Directory              : /tmp
    Log File Name              : /tmp/ssomig.log
    Export File Name           : /tmp/ssomig.dmp
    SSO Schema Name            : orasso
    SSO Schema Password        : ******
    Connect String             : asdbupg
    
    
    Copying data...Done
    Exporting data...Done
    Creating configuration file...Done
    
    Exported Dump File: /tmp/ssomig.dmp
    Configuration File: /tmp/ssoconf.log
    
    Data Export Complete
    
    
  6. 本番環境にOracleBI Discovererが含まれる場合、EULデータをエクスポートします。

    本番環境のカスタマ・データベースの各EULに対して次のコマンドを実行してコピーを作成します。

    PRODUCTION_MIDTIER_HOME/bin/eulapi -
    connect old_eul_owner/password@database_service_name 
    -export /tmp/file1.eex -all -log /tmp/exp.log
    
    

    テスト環境の別のカスタマ・データベースにデータをコピーする場合は、database_service_nameを、テスト・データベースのサービス名にします。


    注意

    eulapiユーティリティは、Windows版のリリース9.0.4.xおよび10.1.2.0.xにはありません。これらのリリースをサポートする環境には、このユーティリティ用のパッチをダウンロードする必要があります。関連するAutomated Release Updates(ARU)番号は、9.0.4.xではARU 7462620、10.1.2.0.xではARU 7462623になります。

    パッチは、OracleMetalinkからダウンロードできます。

    http://metalink.oracle.com 


作業1: テスト用Identity Managementのインストール

テスト用Identity Managementとそれに関連付けられるMetadata Repositoryをインストールし、設定します。これらのOracleAS Infrastructureのコンポーネントは、同じコンピュータにインストールすることも、別のコンピュータにインストールすることもできます。

テスト用Identity Managementをインストールする手順は次のとおりです。

  1. 本番用のIdentity Managementデータベースで使用されているキャラクタ・セットを確認します。

    SYSユーザーとして、SQL*Plusから次の問合せを実行します。

    SQL> SELECT userenv('language') from dual;
    
    

    出力は次のようになります。

    USERENV('LANGUAGE')
    ----------------------------------------------------
    AMERICAN_AMERICA.WE8MSWIN1252
    
    
  2. (オプション)コピーでも同じポート番号を使用するには、本番用データベースで使用されているポートを列挙します。

  3. Oracle Universal Installerを使用してOracle Application Serverをインストールします。

  4. 「インストールする製品の選択」画面で、「OracleAS Infrastructure」を選択します。

  5. 「インストール・タイプの選択」画面で、Identity Managementのインストール方法のオプションを選択します。

    • テスト用Identity Managementとそれに関連付けられたMetadata Repositoryを同じコンピュータにインストールするには、「Identity Management and OracleAS Metadata Repository」を選択します。

    • テスト用Identity Managementとそれに関連付けられたMetadata Repositoryを別のコンピュータにインストールするには、最初に1台のコンピュータに「OracleAS Metadata Repository」オプションを選択し、次に別のコンピュータに「OracleAS Identity Management」オプションを選択します。

  6. Internet Directoryのネームスペースの指定」画面でプロンプトが表示されたら、「エクスポート前に実行する必要のある手順」のステップ2aで本番用Oracle Internet Directoryサーバーに問い合せて取得したorcldefaultsubscriberの値を入力します。

  7. キャラクタ・セットを原因とする変換時の問題を回避するため、コピー元の製品インスタンスと同じキャラクタ・セットを使用してデータベースを作成します。同じポート番号を指定する必要はありませんが、指定すると構成が容易になります。

  8. OracleAS Backup and Recovery Toolを使用してテスト用Identity Managementの構成ファイルおよびMetadata Repositoryをバックアップします。詳細は、第20章を参照してください。

作業2: テスト用の製品Metadata Repositoryの設定

テスト用の製品Metadata Repositoryをインストールし、設定する手順は次のとおりです。

  1. 「エクスポート前に実行する必要のある手順」のステップ3dで説明しているように、本番用データベースで使用されているキャラクタ・セットを確認します。

  2. (オプション)コピーでも同じポート番号を使用するには、本番用データベースで使用されているポートを列挙します。

  3. OracleAS InfrastructureとMetadata Repositoryをインストールします。

    1. Oracle Universal Installerを使用してOracle Application Serverをインストールします。

    2. 「インストールする製品の選択」画面で、「OracleAS Infrastructure」を選択します。

    3. 「インストール・タイプの選択」画面で、「Metadata Repository」を選択します。

    4. キャラクタ・セットを原因とする変換時の問題を回避するため、コピー元の製品インスタンスと同じキャラクタ・セットを使用してデータベースを作成します。また、より忠実にするには、同じポートを使用するよう指定します。ただし、コピーで別のポート番号を使用していても、アップグレードのテストには影響しません。

  4. アップグレード・エラーが原因で再度インポートを実行する必要があるときのために、InfrastructureにインストールされているMetadata Repositoryのデータベースをバックアップしておくと便利です。詳細は、第20章を参照してください。

作業3: テスト用中間層のインストール

テスト用の中間層インスタンスをインストールし、テスト内容に応じてテスト用のIdentity Managementを使用するように設定する手順は次のとおりです。

  1. Oracle Universal Installerを使用してOracle Application Serverをインストールします。

  2. 「インストールする製品の選択」画面で、OracleAS Portal環境には「Portal and Wireless」中間層を、またOracleBI Discoverer環境には「Business Intelligence and Forms」を選択します。

  3. テスト用のシステムが本番用のシステムと同じパッチレベルのリリースになるよう、必要なパッチをすべて適用します。

    リリースに関連するパッチの場合、本番用システムでOracle Universal Installerを使用して、適用されているパッチを確認します。リリースに関連しないパッチの場合、次のコマンドを使用して、適用されているパッチを確認します。

    ORACLE_HOME/OPatch/opatch lsinventory -detail
    
    
  4. OracleAS Backup and Recovery Toolを使用して、テスト用中間層、製品Metadata Repository、Identity Management構成ファイル、およびIdentity Management Metadata Repositoryをバックアップします。詳細は、第20章を参照してください。

環境が10.1.2.0.xで、本番とテスト環境のオペレーティング・システムが同じである場合、中間層をインストールするか、または本番用中間層のインスタンスをクローニングするかのいずれかを選択できます。本番用中間層インスタンスをクローニングするには、第10.4項「Oracle Application Serverインスタンスのクローニング」の手順を実行します。

作業4: 本番用Identity Managementからテスト環境へのデータのコピー

テスト環境にIdentity Managementのデータをコピーする手順は次のとおりです。

  1. テスト用ディレクトリ・サーバーにユーザーとグループをインポートする前に、bulkdeleteコマンドを使用して、テスト用ディレクトリ・サーバーから既存のデフォルト・ユーザー、グループ・コンテナ、およびDelegated Administration Servicesの管理グループのサブツリーを削除します。

    1. 次のldapsearchコマンドを実行して、値を取得します。

      TEST_INFRA_HOME/bin/ldapsearch -h test_oid_host -p test_oid_port 
      -b "cn=users, orcldefaultsubscriber" 
      -s base "objectclass=*"
      
      TEST_INFRA_HOME/bin/ldapsearch -h test_oid_host -p test_oid_port 
      -b "cn=groups, orcldefaultsubscriber" 
      -s base "objectclass=*"
      
      TEST_INFRA_HOME/bin/ldapsearch -h test_oid_host -p test_oid_port 
      -b "cn=groups, cn-OracleContext,orcldefaultsubscriber" 
      -s base "objectclass=*"
      
      

      この構文では、orcldefaultsubscriber「エクスポート前に実行する必要のある手順」のステップ2aで返される、 orcldefaultsubscriberの値です。

    2. 次のコマンドを使用してディレクトリ・サーバーを停止します。

      TEST_INFRA_HOME/opmn/bin/opmnctl stopproc ias-component=OID
      
      
    3. 次のbulkdeleteコマンドを実行します。

      TEST_INFRA_HOME/ldap/bin/bulkdelete.sh 
      -connect test_oid_net_service_name 
      -base "cn=users, orcldefaultsubscriber"
      
      TEST_INFRA_HOME/ldap/bin/bulkdelete.sh 
      -connect test_oid_net_service_name 
      -base "cn=groups, orcldefaultsubscriber"
      
      TEST_INFRA_HOME/ldap/bin/bulkdelete.sh 
      -connect test_oid_net_service_name 
      -base "cn=groups, cn=OracleContext, orcldefaultsubscriber" 
      
      

      この構文では、test_oid_net_service_nametnsnames.oraファイルで定義しているように、テスト・ディレクトリのネット・サービス名です。

      ODSスキーマにパスワードを入力します。入力しないとコマンドは完了できません。

    4. この手順のステップ1aと同じldapsearchコマンドを実行して、値が削除されているかどうかを確認します。

  2. bulkloadユーティリティを使用して、「エクスポート前に実行する必要のある手順」のステップ2cで作成したuser.ldifファイルのユーザーをロードします。

    1. 次のコマンドを使用してディレクトリ・サーバーを起動します。

      TEST_INFRA_HOME/opmn/bin/opmnctl startproc ias-component=OID
      
      
    2. bulkloadユーティリティを実行するには、ディレクトリ・サーバーのモードを「読取り/更新」に設定します。

      Oracle Directory Managerからサーバー・エントリ(「Oracle Internet Directoryサーバー」の下のメイン・ノード)にナビゲートして、ドロップダウン・リストで「サーバー・モード」属性を「読取り/書込み」から「読取り/更新」に変更します。

      LDAPのコマンドライン・ユーティリティを使用する場合は、ldapmodifyコマンドを使用してください。

      ldapmodify -h test_oid_host -p test_oid_port -D cn=orcladmin 
      -w test_orcladmin_pwd -v -f rm.ldif
      
      

      ここでrm.ldifはユーザーが作成するファイルで、内容は次のとおりです。

      dn:
      changetype: modify
      replace: orclservermode
      orclservermode: rm
      
      
    3. サーバー・モードの変更後、Oracle Internet Directoryプロセスを停止します。

      TEST_INFRA_HOME/opmn/bin/opmnctl stopproc ias-component=OID
      
      
    4. 本番用Identity Managementがリリース9.0.2.xから9.0.4.xにアップグレードされている場合、user.ldifファイルからorclactivestartdateで始まるエントリを削除します。このエントリを削除しないと、bulkloadユーティリティは正常に動作しません。

    5. bulkloadユーティリティを使用してテスト用Oracle Internet Directoryにユーザーを、本番システムから生成されたLDIFファイルをロードすることによってロードします。このファイルは「エクスポート前に実行する必要のある手順」のステップ2cで作成したものです。bulkloadユーティリティを起動するとき、LDIFファイルがカレント・ディレクトリにある場合でも絶対パスを指定するようにしてください。

      TEST_INFRA_HOME/ldap/bin/bulkload.sh 
      -connect test_oid_net_service_name -check -generate -restore 
      -load -append /tmp/user.ldif
      
      

      bulkloadユーティリティを起動するとき、LDIFファイルがカレント・ディレクトリにある場合でも絶対パスを指定するようにしてください。

      レスポンスは次のようになります。

      Verifying node "orcl"
      -----------------------------
      This tool can only be executed if you know database user password
      for OiD on orcl
      Enter OiD password ::
      
      
    6. Oracle Internet Directoryで使用するスキーマのパスワードを入力します。このパスワードのデフォルトは、インストール時に管理者ias_adminに割り当てられたパスワードです。

      チェック・モードで、エクスポートしたLDIFファイルに対しエラーがレポートされないかぎり、このコマンドによりすべてのユーザーがロードされます。

    7. 次のコマンドを使用してディレクトリ・サーバーを起動します。

      TEST_INFRA_HOME/opmn/bin/opmnctl startproc ias-component=OID
      
      
  3. 「エクスポート前に実行する必要のある手順」のステップ2fで作成したpwdPolicy.ldifファイルをテスト環境に移動し、次のコマンドを使用してディレクトリ・サーバーを停止します。

    TEST_INFRA_HOME/bin/ldapaddmt -h test_oid_host 
    -p test_oid_port -D cn=orcladmin -w test_orcladmin_passwd 
    -v -f /tmp/pwdPolicy.ldif
    TEST_INFRA_HOME/opmn/bin/opmnctl stopproc ias-component=OID
    
    

    ここで、デフォルトのサブスクライバのパスワード・ポリシーが本番環境のものと一致していることを確認します。テスト環境において「エクスポート前に実行する必要のある手順」のステップ2fで実行した同じldapsearchコマンドを実行します。

  4. bulkloadユーティリティを使用して、「エクスポート前に実行する必要のある手順」のステップ2dで作成したgroup.ldifファイルのグループをロードします。

    TEST_INFRA_HOME/ldap/bin/bulkload.sh -connect test_oid_net_service_name 
    -check -generate -restore -load -append /tmp/group.ldif
    
    

    bulkloadユーティリティを起動するとき、LDIFファイルがカレント・ディレクトリにある場合でも絶対パスを指定するようにしてください。

    チェック・モードで、エクスポートしたLDIFファイルに対しエラーがレポートされないかぎり、このコマンドによりすべてのグループがロードされます。

  5. 「エクスポート前に実行する必要のある手順」のステップ2eで本番環境から保存した管理グループ・サブツリーをテスト環境にロードします。

    TEST_INFRA_HOME/ldap/bin/bulkload.sh -connect test_oid_net_service_name 
    -check -generate -restore -load -append /tmp/dasAdminGroups.ldif
    
    

    テスト環境において「エクスポート前に実行する必要のある手順」のステップ2eで実行した同じldifwriteコマンドを実行して、値が正しく更新されていることを確認します。

  6. テスト用ディレクトリ・サーバーと他のIdentity Managementコンポーネントを起動します。

    cd TEST_INFRA_HOME/opmn/bin
    opmnctl startall
    opmnctl: starting opmn and all managed processes...
    
    

    bulkloadコマンドを実行した後、ディレクトリ・サーバーのサーバー・モードを通常の設定に戻します。

    ldapmodify -h test_oid_host -p test_oid_port -D cn=orcladmin 
    -w test_orcladmin_pwd -v -f rw.ldif
    
    

    ここでrw.ldifはユーザーが作成するファイルで、内容は次のとおりです。

    dn: 
    changetype: modify
    replace: orclservermode
    orclservermode: rw
    
    

    かわりにOracle Directory Managerを使用する場合は、サーバー・エントリの「サーバー・モード」属性を「読取り/書込み」に戻します。

  7. テスト用ディレクトリ・サーバーで、Oracleコンテキストのパラメータを構成します。

    1. 「エクスポート前に実行する必要のある手順」のステップ2bでは、構成済ユーザーおよびグループ検索ベースを含む/tmp/OracleContext.ldifファイルを作成しました。このファイルを次のように編集します。

      - ステップ2bで返されたvalueの対応する出力値を使用します。

      - OrclCommonUserSearchBaseには、値が1つしかない場合もあります。

      dn: value
      Changetype: modify
      replace: orclCommonUserSearchBase
      OrclCommonUserSearchBase: value1
      OrclCommonUserSearchBase: value2
      -
      replace: orclCommonGroupSearchBase
      OrclCommonGroupSearchBase: value1
      OrclCommonGroupSearchBase: value2
      -
      replace: orclCommonNickNameattribute
      orclCommonNickNameattribute: value
      
      
    2. テスト用ディレクトリ・サーバーのユーザーおよびグループ検索ベースを構成します。

      TEST_INFRA_HOME/bin/ldapmodify -D cn=orcladmin 
      -w orcladmin_password -h test_oid_host -p test_oid_port 
      -v -f /tmp/OracleContext.ldif
      
      

      テスト環境において「エクスポート前に実行する必要のある手順」のステップ2bで実行した同じldapsearchコマンドを実行して、値が正しく更新されていることを確認します。

  8. orclcommonnicknameattributeの値を変更します。

    1. ldapsearchコマンドを実行して、テスト用のニックネーム属性を確認します。

      TEST_INFRA_HOME/bin/ldapsearch -h test_oid_host -p test_oid_port 
      -D cn=orcladmin -w test_orcladmin_passwd 
      -b cn=common, cn=products, cn=OracleContext, orcldefaultsubscriber" 
      -s base "objectclass=*" orclcommonnicknameattribute
      
      

      レスポンスで、orclcommonnicknameattribute値が返されます。

      orclcommonnicknameattribute: uid
      
      
    2. この値を、「エクスポート前に実行する必要のある手順」のステップ2bで取得した本番用ニックネーム属性と比較します。

    3. インスタンスが9.0.2.xから9.0.4.xにアップグレードされたものである場合、本番用ニックネーム属性がorclcommonnicknameattribute=cnに設定されないことがあります。これらのインスタンスでは、テスト用ディレクトリ・サーバーを更新して、この値を使用するようにする必要があります。

      この値はOracle Directory Managerからそのエントリにナビゲートして変更します。

      LDAPのコマンドライン・ユーティリティを使用する場合は、ldapmodifyコマンドを使用してください。

      ldapmodify -h test_oid_host -p test_oid_port -D cn=orcladmin 
      -w test_orcladmin_pwd -f nickname.ldif
      
      

      ここでnickname.ldifはユーザーが作成するファイルで、内容は次のとおりです。

      dn: cn=Common,cn=Products,cn=OracleContext,dc=us,dc=company,dc=com 
      changetype: modify 
      replace: orclcommonnicknameattribute
      orclcommonnicknameattribute: cn 
      
      
    4. この手順のステップ8aを実行し、orclcommonnicknameattributeの値が正しく更新されていることを確認します。

  9. OracleAS Single Sign-Onの外部アプリケーションのデータをインポートします。

    このステップによって、手順「エクスポート前に実行する必要のある手順」のステップ5でエクスポートした外部アプリケーションおよびパスワードの格納データがすべてインポートされます。次のように、ssomigユーティリティを-importモードで使用して、OracleAS Single Sign-Onのデータを抽出します。

    TEST_INFRA_HOME/sso/bin/ssomig -import -overwrite -s orasso 
    -p orasso_pwd -c test_sso_net_service_name -d exp_dumpfile_name 
    -log_d dumpfile_dir -discoforce
    
    

    exp_dumpfile_namedumpfile_dirディレクトリにあるダンプ・ファイルの名前と一致することを確認します。dumpfile_dirディレクトリには、ssoconf.logファイルも含まれます。このファイルはssomigユーティリティを-exportモードで実行すると生成されます。

    次のように、Oracle Internet DirectoryからORASSOスキーマのパスワード(orasso_pwd)を取得します。

    TEST_INFRA_HOME/bin/ldapsearch -h test_oid_host -p test_oid_port 
    -D cn=orcladmin -w test_orcladmin_pwd 
    -b "orclreferencename=test_oid_service_name,cn=IAS Infrastructure 
    Databases,cn=ias,cn=products,cn=oraclecontext" 
    -s sub "(orclresourcename=orasso)" orclpasswordattribute
    
    

    ssomigのレスポンスは、次のようになります。

    SSO Migration Tool: Release 10.1.2.0.2 - Production on Sun Feb 27 12:10:27 2005
    Copyright (c) 2002-2005 Oracle. All rights reserved.
    
    Verifying SSO schema information...
    
    Data import started at Sun Feb 27 12:10:28 2005
    
    Log Directory              : /tmp
    Log File Name              : /tmp/ssomig.log
    Import File Name           : ssomig.dmp
    SSO Schema Name            : orasso
    SSO Schema Password        : ******
    Connect String             : orcl
    Mode                       : overwrite
    
    Loading data into the SSO schema...Done
    
    Data import completed.
    

    関連項目

    詳細は、『Oracle Application Server Single Sign-On管理者ガイド』を参照してください。 

  10. OracleAS Backup and Recovery Toolを使用してテスト用Identity Managementの構成ファイルおよびMetadata Repositoryをバックアップします。詳細は、第20章を参照してください。

作業5: 本番用製品Metadata Repositoryからテスト環境へのデータのコピー

本番環境の製品Metadata Repositoryからテスト環境にデータをコピーする手順は次のとおりです。

  1. テスト環境の製品Metadata RepositoryのOracleAS Portalスキーマを削除します。

    1. 削除するスキーマに現在割り当てられているスキーマ・パスワードを書き留めておきます。これらのスキーマは後で再作成します。作成する際には、同じパスワードを指定する必要があります。

      新しくインストールされたテスト用Oracle Internet Directoryから、現在割り当てられているパスワードを問い合せるには、次のようにします。

      TEST_INFRA_HOME/bin/ldapsearch -p test_oid_port -h test_oid_host -D 
      cn=orcladmin -w test_orcladmin_password 
      -b "orclReferenceName=portal_service_name,cn=IAS Infrastructure Databases,cn=IAS,cn=Products,cn=OracleContext" -s
      sub "(|(orclResourceName=PORTAL*)(orclResourceName=DISCOVERER5))" orclpasswordattribute

      DISCOVERER5PORTALPORTAL_PUBLICPORTAL_APPおよびPORTAL_DEMOのそれぞれのスキーマのパスワードを書き留めておきます。

      レスポンスは次のようになります。

      OrclResourceName=PORTAL,orclReferenceName=portal.us.company.com,cn=IAS 
      Infrastructure Databases,cn=IAS,cn=Products,cn=OracleContext
      orclpasswordattribute=DTFDKD58
      
      OrclResourceName=PORTAL_PUBLIC,orclReferenceName=portal.us.company.com,cn=IAS 
      Infrastructure Databases,cn=IAS,cn=Products,cn=OracleContext
      orclpasswordattribute=X9g57NMP
      
      OrclResourceName=PORTAL_DEMO,orclReferenceName=portal.us.company.com,cn=IAS 
      Infrastructure Databases,cn=IAS,cn=Products,cn=OracleContext
      orclpasswordattribute=ZyKR9805
      
      OrclResourceName=PORTAL_APP,orclReferenceName=portal.us.company.com,cn=IAS 
      Infrastructure Databases,cn=IAS,cn=Products,cn=OracleContext
      orclpasswordattribute=IGqvwL9c
      
      OrclResourceName=DISCOVERER5,orclReferenceName=portal.us.company.com,cn=IAS 
      Infrastructure Databases,cn=IAS,cn=Products,cn=OracleContext
      orclpasswordattribute=Alu23B8w
      
      
    2. 削除する前に、SQL*PlusのPORTALスキーマへのすべての接続を停止する必要があります。停止せず削除すると「ORA-01940: 現在接続中のユーザーは削除することはできません。」エラーがスローされます。

    3. インストールしたテスト用の製品Metadata RepositoryからOracleAS Portal関連のスキーマを削除します。

      SQL*PlusからSYSユーザーとしてログインし、製品Metadata RepositoryからOracleAS Portalスキーマを削除します。

      SQL> DROP USER portal_public cascade;
      
      User dropped.
      
      SQL> DROP USER portal_app cascade;
      
      User dropped.
      
      SQL> DROP USER portal_demo cascade;
      
      User dropped.
      
      SQL> DROP USER portal cascade;
      
      User dropped.
      
      SQL> DROP USER discoverer5 cascade;
      
      User dropped.
      
      
  2. インポートするテスト環境の製品Metadata Repositoryを準備します。

    1. テスト用データベースの表領域を作成および変更します。

      テスト用データベースに必要な表領域があることを確認します。テスト用データベースの表領域には、本番用インスタンスの一覧にあるすべての表領域を少なくとも含んでいる必要があります。インポート先のすべての表領域を表示するには、SYSユーザーとしてSQL*Plusから次を実行します。

      SQL> SET PAGESIZE 65
      SELECT TABLESPACE_NAME FROM DBA_TABLESPACES ORDER BY TABLESPACE_NAME;
      
      

      レスポンスは次のようになります。

      TABLESPACE_NAME
      ------------------------------
      B2B_DT
      B2B_IDX
      B2B_LOB
      B2B_RT
      DCM
      DISCO_PTM5_CACHE
      DISCO_PTM5_META
      DSGATEWAY_TAB
      IAS_META
      OCATS
      OLTS_ATTRSTORE
      OLTS_BATTRSTORE
      OLTS_CT_STORE
      OLTS_DEFAULT
      OLTS_SVRMGSTORE
      PORTAL
      PORTAL_DOC
      PORTAL_IDX
      PORTAL_LOG
      SYSAUX
      SYSTEM
      TEMP
      UDDISYS_TS
      UNDOTBS1
      USERS
      WCRSYS_TS
      
      26 rows selected.
      
      

      これを本番用インスタンスから取得した表領域のリストと比較すると、INDX(永続)、PORTAL_TMP(一時)およびDISCO_PTM5_TEMP(一時)表領域を作成する必要があることがわかります。

      新しい表領域は、SYSスキーマにおいてSQL*PlusでCREATE TABLESPACEまたはCREATE TEMPORARY TABLESPACEコマンドを使用して作成します。たとえば、次のように指定します。

      SQL> CREATE TABLESPACE INDX
        2  DATAFILE '/u01/app/oracle/product/oradata/orcl/indx.dbf' SIZE 20M 
      AUTOEXTEND ON
        3  DEFAULT STORAGE (INITIAL 1M NEXT 2M MINEXTENTS 2);
      
      Tablespace created.
      
      SQL> CREATE TEMPORARY TABLESPACE PORTAL_TMP
        2  TEMPFILE '/u01/app/oracle/product/oradata/orcl/portal_tmp.dbf' SIZE 20M
        3  AUTOEXTEND ON;
      
      Tablespace created.
      
      SQL> CREATE TEMPORARY TABLESPACE DISCO_PTM5_TEMP
        2  TEMPFILE '/u01/app/oracle/product/oradata/asdb/disco_ptm5_temp.dbf' SIZE 
      20M
        3  AUTOEXTEND ON;
      
      Tablespace created.
      
      

      インポート先のデータベースにすでに存在する表領域の場合、これをautoextendに設定することをお薦めします。この設定をしない場合は、インポートするPORTALスキーマが十分に入る容量が指定されている必要があります。すべてのデータファイルにautoextendを設定するには、次のスクリプトを使用します。

      SET DEFINE OFF
      SET HEAD OFF
      SET LINES 4000
      SPOOL DATAFILES.SQL
      SELECT 'ALTER DATABASE DATAFILE '''||FILE_NAME||''' AUTOEXTEND ON;'
      FROM DBA_DATA_FILES ;
      SPOOL OFF
      
      

      この時点で、スプール・ファイルDATAFILES.SQLに取り込まれた不要な行を削除して、これをSYSスキーマで実行し、データファイルを変更します。

      @DATAFILES.SQL
      
      
    2. 本番用中間層インスタンスからSQL*Plusを実行して、SYSDBA権限を持つSYSユーザーとしてテスト用のMetadata Repositoryに接続します。PRODUCTION_MIDTIER_HOME/portal/admin/plsql/wwvディレクトリからwdbisys.sqlスクリプトを実行して、PORTALスキーマを再作成します。

      SQL> CONNECT SYS/password AS SYSDBA@test_metadata_repository_net_service_name
      SQL> @wdbisys.sql PORTAL portal_default_tablespace portal_temporary_tablespace 
      wdbisys.log
      
      

      この構文では、test_metadata_repository_net_service_nametnsnames.oraファイルで定義しているように、テスト環境の製品Metadata Repositoryのネット・サービス名です。

      レスポンスは次のようになります。

      SQL> @wdbisys.sql PORTAL PORTAL PORTAL_TMP wdbisys.log
      B E G I N   S Y S   I N S T A L L
      
      ...start: Saturday  26 February , 2005 12:01:23
      
      I.    CREATE USER PORTAL and GRANT PRIVS
      old   1: create user &&1 identified by &&1
      new   1: create user PORTAL identified by PORTAL
      
      User created.
      PL/SQL procedure successfully completed.
      
      ...end of SYS install
      Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.3.1 - 
      Production
      With the Partitioning, OLAP and Data Mining options
      
      
    3. SYSユーザーとして、SQL*PlusからPORTALのパスワードを変更します。

      SQL> ALTER USER PORTAL IDENTIFIED BY password_from_test_oid;
      
      

      このコマンドにより、PORTALスキーマが作成され、必要なすべての権限が付与されます。

      たとえば、次のように指定します。

      SQL> ALTER USER PORTAL IDENTIFIED BY DTFDKD58;
      User altered
      
      
    4. PORTAL_PUBLICスキーマを作成します。

      PRODUCTION_MIDTIER_HOME/portal/admin/plsql/wwsディレクトリに変更して、SYSユーザーとしてSQL*Plusから次のスクリプトを実行します。

      SQL> CONNECT SYS/password AS SYSDBA@test_metadata_repository_net_service_name
      @cruser.sql PORTAL PORTAL portal_default_tablespace portal_temporary_tablespace
      
      

      レスポンスは次のようになります。

      SQL> @cruser.sql PORTAL PORTAL PORTAL PORTAL_TMP
      old   1: select ('&&1'||'_public') t1 from dual
      new   1: select ('PORTAL'||'_public') t1 from dual
      ...
      User altered.
      
      No errors.
      Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.3.1 - 
      Production
      With the Partitioning, OLAP and Data Mining options
      
      SQL*Plus: Release 10.1.0.3.0 - Production on Tue Mar 1 08:28:17 2005
      
      Copyright (c) 1982, 2005, Oracle.  All rights reserved.
      
      Connected to:
      Oracle Database 10g Enterprise Edition Release 10.1.0.3.1 - Production
      With the Partitioning, OLAP and Data Mining options
      
      SQL> ALTER USER PORTAL_PUBLIC IDENTIFIED BY password_from_oid;
      User altered.
      
      
    5. SYSユーザーとして、SQL*PlusからPORTAL_PUBLICのパスワードを変更します。

      たとえば、次のように指定します。

      SQL> ALTER USER PORTAL_PUBLIC IDENTIFIED BY X9g57NMP;
      User altered.
      
      
    6. SYSユーザーとして、SQL*Plusから補助スキーマを作成します。

      「エクスポート前に実行する必要のある手順」のステップ3aからインポートされるスキーマのリストを確認します。テスト用データベースにこのスキーマが存在している場合、それを削除します。スキーマを削除する前に、これらのスキーマが他のアプリケーションで使用されていないことを確認します。新しいスキーマを作成するには、次の構文を使用します。

      SQL> GRANT CONNECT, RESOURCE TO schema IDENTIFIED BY password;
      ALTER USER username DEFAULT TABLESPACE default_tablespace TEMPORARY TABLESPACE 
      temporary_tablespace;
      
      

      ステップ3aの一覧の各スキーマに対応するスキーマを作成する必要があります。必要に応じて、ALTER USERコマンドを使用して、ユーザーのプロパティを調整します。たとえば、デフォルトおよび一時表領域は、ステップ3aの問合せ結果で指定された表領域に設定する必要があります。

      PORTAL_APPPORTAL_DEMOまたはDISCOVERER5スキーマを作成するとき、Oracle Internet Directoryから抽出したパスワードを使用します。

      次に標準的なスキーマの例を示します。

      GRANT CONNECT,RESOURCE TO portal_app IDENTIFIED BY IGqvwL9c;
      ALTER USER portal_app default tablespace PORTAL temporary tablespace PORTAL_
      TMP;
      GRANT CONNECT,RESOURCE TO portal_demo IDENTIFIED BY ZyKR9805;
      ALTER USER portal_demo default tablespace PORTAL temporary tablespace PORTAL_
      TMP;
      GRANT CONNECT,RESOURCE TO discoverer5 IDENTIFIED BY AHb10z3b;
      ALTER USER discoverer5 default tablespace PORTAL temporary tablespace PORTAL_
      TMP;
      
      
    7. 「エクスポート前に実行する必要のある手順」のステップ3cで、スナップショットを含むスキーマが返された場合は、SYSユーザーとして、SQL*Plusからスナップショットを定義する権限をこれらのスキーマに付与します。

      SQL> GRANT CREATE SNAPSHOT TO schema;
      
      

      ここで、schemaはステップ3cを実行したときに返されたスキーマを示します。返されたスキーマがPORTAL_DEMOSCOTTである場合、次のSQLコマンドを発行します。

      SQL> GRANT CREATE SNAPSHOT TO PORTAL_DEMO;
      SQL> GRANT CREATE SNAPSHOT TO SCOTT;
      
      
    8. Standard Editionデータベースを使用している場合のみの手順として、インポートするデータベースを準備します。

      PORTALユーザーとして、SQL*Plusからポータルのログイン・トリガーをインポート用に初期化します。

      cd TEST_INFRA_HOME/portal/admin/plsql/wwhost
      sqlplus portal/password@portal_net_service_name
      SQL> @insttrig.sql PORTAL
      
      
    9. テスト環境の製品Metadata Repositoryのキャラクタ・セットが本番環境の製品Metadata Repositoryのキャラクタ・セットと一致していることを確認します。

      テスト環境の製品Metadata Repositoryは、本番環境で生成されインポートされるダンプのデータのキャラクタ・セットと一致している必要があります。

      本番環境において「エクスポート前に実行する必要のある手順」のステップ3dで設定したキャラクタ・セットと一致するように、テスト環境のMetadata RepositoryのNLS_LANG環境変数を設定します。

      setenv NLS_LANG AMERICAN_AMERICA.WE8MSWIN1252
      
      
    10. SYSDBA権限でTEST_INFRA_HOME/rdbms/adminディレクトリからcatexp.sqlスクリプトを実行します。

      SQL> CONNECT SYS/password AS SYSDBA
      @catexp.sql
      
      

      このスクリプトによって、そのビューの多くで、データ・ディクショナリおよびパブリック・シノニムが作成されます。

  3. テスト環境の製品Metadata Repositoryにスキーマをインポートします。

    1. インポート・ユーティリティを実行します。

      インポートするデータベースのバージョンが、エクスポートしたデータベースのバージョン以上であることを確認します。実際のインポートは、データベースの次のimpコマンドで実行されます。この例では4つの主要なOracleAS Portalスキーマのみを表示しています。「エクスポート前に実行する必要のある手順」のステップ3aSELECT文で取得した他のスキーマも含めます。

      TEST_INFRA_HOME/bin/imp 'sys/password@instance AS SYSDBA'
      file=/tmp/portal_exp.dmp grants=y log=/tmp/portal_imp.log 
      fromuser=portal,portal_app,portal_demo,portal_public touser=portal,portal_
      app,portal_demo,portal_public
      
      

      UNIXオペレーティング・システムの場合、引用符の前に円記号(¥)などのエスケープ文字を置く必要があります。

      スキーマ一覧をコンマ区切りで入力します。

      インポート・ログの次のエラーは無視してかまいません。

      IMP-00015: following statement failed because the object already exists:
      IMP-00041: Warning: object created with compilation warnings.
      IMP-00061: Warning: Object type "SYS"."ODCIPARTINFO" already exists with a 
      different identifier IMP-00092: Java object "SCOTT"."DeleteDbc" already exists, cannot be created

      表領域がない、またはスキーマがないなどのエラーが発生する場合、オフライン・バックアップからデータベースをリストアして、問題を解決した後にインポート手順を繰り返します。このエラーは、エラー・メッセージの指示に従って解決します。たとえば、参照スキーマがない場合、エクスポートにそのスキーマを含めて、本番用サーバーから一連のスキーマを再エクスポートします。スキーマは、この手順のステップ3fで説明しているように、インポート前にテスト・システムに作成する必要があります。これは、「エクスポート前に実行する必要のある手順」のステップ3aSELECT文で自動的に特定できないスキーマなどで、よく発生します。

    2. インポート・ログのジョブ競合エラーを解決します。

      次に、インポート・ログのジョブの競合の例を示します。

      IMP-00017: following statement failed with ORACLE error 1:
      "BEGIN DBMS_JOB.ISUBMIT(JOB=>15,WHAT=>'begin execute immediate"
      "''begin wwctx_sso.cleanup_sessions( p_hours_old => 168 ); e"
      "nd;'' ; exception when others then null;
      end;',NEXT_DATE=>"
      "TO_DATE('2005-03-23:14:11:08','YYYY-MM-DD:HH24:MI:SS'),INTERVAL=>'SYSDATE 
      +" " 24/24',NO_PARSE=>TRUE); END;" IMP-00003: ORACLE error 1 encountered ORA-00001: unique constraint (SYS.I_JOB_JOB) violated ORA-06512: at "SYS.DBMS_JOB", line 97 ORA-06512: at line 1

      インポート時にこのようなエラーが発生した場合、SYSユーザーとしてSQL*Plusから次のSQLを実行し、競合しているジョブを確認します。

      SQL> SELECT * FROM dba_jobs; 
      
      
    3. 競合を特定した後、「作業2: テスト用の製品Metadata Repositoryの設定」のステップ4で作成したバックアップに戻します。

      前の手順(ステップ3b)で特定したそれぞれの競合について、失敗したジョブを再作成し、再作成したジョブの新しいIDを参照するようにインポートしたプログラムを更新します。

      このバックアップを使用し、競合を解決して、作業5: 本番用製品Metadata Repositoryからテスト環境へのデータのコピーのすべての手順を再度実行します。

    4. SYSユーザーとしてSQL*Plusから次のコマンドを実行して、ジョブをPORTALユーザーに戻します。

      SQL> UPDATE dba_jobs SET log_user='PORTAL', priv_user='PORTAL' where schema_
      user='PORTAL';
      SQL> commit;
      
      
    5. インポート・ログのその他のエラーを解決します。表11-1に、一般的なエラーとその回避策をいくつか示します。

      表11-1    データをテスト環境にコピーする際のインポート・ログのエラー 
      インポート・ログのエラー  回避策 
      IMP-00017: following statement failed with ORACLE error 604:
      "ALTER TABLE "WWPRO_ADAPTER_KEY$" ENABLE CONSTRAINT "WWSEC_ADAPTER_KEY$_CK1""
       

      SYSユーザーとして、SQL*PlusからSELECT文を実行し、これらの表の所有者を検索します。次にALTER文を実行し、表名の前にスキーマを付けます。このとき、引用符(")内に明記された文が使用されます。

      SQL> SELECT OWNER FROM dba_tables WHERE table_name = 'WWPRO_ADAPTER_KEY$'
      ------------------------------
      ORASSO
      PORTAL
      SQL> ALTER TABLE orasso.wwpro_adapter_key$ DISABLE constraint wwsec_adapter_key$_ck1;
      Table altered.
      SQL> ALTER TABLE portal.wwpro_adapter_key$ DISABLE constraint wwsec_adapter_key$_ck1;
      Table altered.
       
      IMP-00017: following statement failed with ORACLE error 604:
      "ALTER TABLE "WWPRO_ADAPTER_KEY$" ENABLE CONSTRAINT "WWSEC_ADAPTER_KEY$_CK1""
      IMP-00003: ORACLE error 2298 encountered
      ORA-02298: cannot validate (PORTAL.WWSTO_SESS_FK1) - parent keys not found
       

      SYSユーザーとして、セッションに固有のデータを削除した後、制約を再び有効にします。

      SQL> DELETE from wwsto_session_data$
      /
      DELETE from wwsto_session_session$
      /
      commit;
      SQL> ALTER TABLE portal.wwsto_session_session$ ENABLE constraint wwsto_sess_fk1;
      Table altered.
       
      IMP-00003: ORACLE error 30510 encountered
       

      PORTALユーザーとして、手動でログオフ・トリガーを再作成します。

      SQL> CREATE TRIGGER logoff_trigger 
      before logoff on schema
      begin
      -- Call wwsec_oid.unbind to close open OID connections if any.
      wwsec_oid.unbind;
      exception
      when others then
      -- Ignore all the errors encountered while unbinding.
      null;
      end logoff_trigger;
      /
       
      IMP-00017: following statement failed with ORACLE error 921:
      "ALTER TABLE "WWSRC_PREFERENCE$" ADD "
      IMP-00003: ORACLE error 921 encountered
      ORA-00921: unexpected end of SQL command

       

      PORTALユーザーとして、手動で主キーを作成します。

      SQL> ALTER TABLE "WWSRC_PREFERENCE$" add constraint wwsrc_preference_pk
      primary key (subscriber_id, id)
      using index wwsrc_preference_idx1
      /
      begin
      DBMS_RLS.ADD_POLICY ('', 'WWSRC_PREFERENCE$', 'WEBDB_VPD_POLICY',
      '', 'webdb_vpd_sec', 'select, insert, update, delete', TRUE,
      static_policy=>true);
      end ;
      /
       
    6. インポートされたスキーマからの不正なオブジェクトをすべてコンパイルします。

      TEST_INFRA_HOME/rdbms/adminディレクトリで、SYSユーザーとしてSQL*Plusから次のスクリプトを実行します。

      @utlrp.sql
      
      
    7. 次の問合せでPORTAL_PUBLICよりPORTALスキーマの方が多く返される場合、次を実行します。

      SQL> SELECT DISTINCT DB_USER FROM WWSEC_PERSON$;
      
      

      PORTALユーザーとして、SQL*Plusから次のコマンドを実行します。

      SET HEAD OFF
      SET LINES 4000
      SET SQLPROMPT '--'
      SET SQLNUMBER off
      SET LINESIZE 132
      SPOOL DBUSERS.SQL
      SELECT DISTINCT 'ALTER USER '||DB_USER ||' GRANT CONNECT THROUGH PORTAL;'
      FROM WWSEC_PERSON$;
      SPOOL OFF
      
      
      

      インポート先のポータル・インスタンスでDBUSERS.SQLを実行し、ポータル・ユーザーに関連付けられているデータベース・ユーザーにconnect through権限を付与します。たいていの場合、これはすでに必要な権限を持っているPORTAL_PUBLICのみとなります。

    8. 一時ログイン・トリガーを削除します。

      この手順は、この手順のステップ2hを実行したStandard Editionデータベースのテスト用サーバーにのみ必要です。この手順は、Enterprise Editionデータベースには必要ありません。

      TEST_INFRA_HOME/portal/admin/plsql/wwhostPORTALユーザーとして、SQL*Plusから次のスクリプトを実行します。

      @droptrig.sql PORTAL
      
      
    9. interMediaのOracleAS Portalの表を再作成し、索引を再構築します。

      MIDTIER_HOME/portal/admin/plsql/wwsディレクトリでPORTALユーザーとして、SQL*Plusから次のスクリプトを実行します。

      @inctxgrn.sql
      @ctxcrind.sql
      
      
  4. TEST_MIDTIER_HOME/portal/confディレクトリでptlconfigスクリプトを実行して、Portal依存性設定ファイル(iasconfig.xml)からOracleAS Portalインスタンスを更新します。

    ptlconfig -dad dad_name
    
    

    この構文で、dad_nameはデータベース・アクセス記述子(DAD)の名前です。インストール時のデフォルト名は、portalです。portalに設定しない場合は、このDAD名を置き換えます。

    関連項目

    『Oracle Application Server Portal構成ガイド』 

  5. OracleAS Backup and Recovery Toolを使用して、テスト用の製品Metadata Repository、Identity Management構成ファイル、およびIdentity Management Metadata Repositoryをバックアップします。詳細は、第20章を参照してください。

作業6: アプリケーションのテスト用中間層へのデプロイ

テスト用中間層に、J2EEアプリケーションのEARファイルをデプロイします。次のメカニズムのどれか1つを使用できます。

  1. テスト用中間層に、J2EEアプリケーションのEARファイルをデプロイします。次のメカニズムのどれか1つを使用できます。

  2. 本番環境のすべてのOracleAS PortalおよびOracleBI Discovererアプリケーションから、構成の設定をテスト環境にコピーします。

    OracleBI Discovererでは、次のファイルを本番環境にコピーする必要があります。

    • configuration.xmlおよびconfiguration.xsdファイル

      (10.1.2.0.x on Unix) ORACLE_HOME/discoverer/config
      (9.0.4.x on Unix) ORACLE_HOME/j2ee/OC4J_BI_
      FORMS/applications/discoverer/web/WEB-INF
      
      (10.1.2.0.x on Windows) ORACLE_HOME¥discoverer¥config
      (9.0.4.x on Windows) ORACLE_HOME¥j2ee¥OC4J_BI_
      FORMS¥applications¥discoverer¥web¥WEB-INF 
      
      
    • web.xmlファイル

      (10.1.2.0.x on Unix) ORACLE_HOME/j2ee/OC4J_BI_
      Forms/applications/discoverer/discoverer/WEB-INF
      (9.0.4.x on Unix) ORACLE_HOME¥j2ee¥OC4J_BI_
      FORMS¥applications¥discoverer¥web¥WEB-INF
      
      (10.1.2.0.x on Windows) ORACLE_HOME¥j2ee¥OC4J_BI_
      Forms¥applications¥discoverer¥discoverer¥WEB-INF
      (9.0.4.x on Windows) ORACLE_HOME¥j2ee¥OC4J_BI_
      FORMS¥applications¥discoverer¥web¥WEB-INF
      
      
    • prefs.txtファイル

      (10.1.2.0.x on UNIX) ORACLE_HOME/discoverer
      (10.1.2.0.x on Windows) ORACLE_HOME¥discoverer 
      
      

      prefs.txtは9.0.4.x環境にはありません。

    • .reg_key.dcファイル

      (10.1.2.0.x and 9.0.4.x on UNIX) ORACLE_HOME/discoverer
      (10.1.2.0.x and 9.0.4.x on Windows) ORACLE_HOME¥discoverer 
      
      

      このファイルは別のオペレーティング・システムにはコピーできません。リトルエンディアンとビッグエンディアンのオペレーティング・システム間で移行する場合は、convertreg.plスクリプトを実行します。

      perl convertreg.pl test_reg_key.dc_file production_reg_key.dc_file
      
      

      Oracle Application ServerでインストールされるPERLを使用できます。convertreg.plは、次のディレクトリにあります。

      (UNIX) ORACLE_HOME/discovere/util
      (Windows) ORACLE_HOME¥discoverer¥util
      
      

      リトルエンディアン・オペレーティング・システムとは、WindowsやLinuxなどです。ビッグエンディアン・オペレーティング・システムとは、SolarisやHP-UXなどです。このユーティリティはリトルエンディアン・オペレーティング・システム間、またはビッグエンディアン・オペレーティング・システム間の移行には、使用しないでください。これらの移行には、(移行先のシステムに、ユーザー・プリファレンスのデフォルト・セットがあるため)次の手順は省略します。


      注意

      convertreg.plスクリプトは、Windows版のリリース9.0.4.xにはありません。このリリースをサポートする環境には、このユーティリティ用のパッチをダウンロードする必要があります。関連するAutomated Release Updates(ARU)番号は、ARU 7462620になります。

      パッチは、OracleMetalinkからダウンロードできます。

      http://metalink.oracle.com 


  3. OracleAS PortalがJ2EEアプリケーション・プロバイダを指している場合、必要に応じて、これらのアプリケーションをテスト用中間層にデプロイして、テスト用中間層を指すようにOracleAS Portalを構成します。

  4. OracleAS Backup and Recovery Toolを使用して、テスト用中間層の構成ファイル、製品Metadata Repository、Identity Managementの構成ファイル、およびIdentity Management Metadata Repositoryをバックアップします。詳細は、第20章を参照してください。

作業7: OracleBI Discovererデータのコピー

OracleBI Discovererデータをコピーする手順は次のとおりです。

  1. 空のEULを含む新しいデータベース・スキーマを作成します。

    TEST_MIDTIER_HOME/bin/eulapi -connect dba/password@database_service_name 
    -create_eul [-apps_mode] -default_tablespace default_tablespace_name 
    -temporary_tablespace temp_tablespace_name -user new_eul_schema 
    -password new_eul_schema_password -log /tmp/createeul.log
    
    

    Oracle ApplicationsモードEULのコピーを作成する場合、-apps_modeフラグを使用します。

    テスト環境の別のカスタマ・データベースにデータをコピーする場合は、database_service_nameを、テスト・データベースのサービス名にします。

  2. コピーした内容を新しいEULスキーマにインポートします。

    TEST_MIDTIER_HOME/bin/eulapi -connect 
    new_eul_owner/password@database_service_name 
    -import /tmp/file1.eex -log /tmp/imp.log
    
    

    次の項で詳しく説明するDiscoverer接続の移行をサポートするために、ソースEULスキーマから新しいEULスキーマへのマッピングに留意してください。


    注意

    eulapiユーティリティは、Windows版のリリース9.0.4.xおよび10.1.2.0.xにはありません。これらのリリースをサポートする環境には、このユーティリティ用のパッチをダウンロードする必要があります。関連するAutomated Release Updates(ARU)番号は、9.0.4.xではARU 7462620、10.1.2.0.xではARU 7462623になります。

    パッチは、OracleMetalinkからダウンロードできます。

    http://metalink.oracle.com 


作業8: テスト環境のクリーンアップ

使用する前にテスト環境をクリーンアップする手順は次のとおりです。

  1. OracleAS Single Sign-On移行データにOracleBI Discovererの接続データが含まれる場合、次の手順を実行して接続データを更新します。

    1. ORASSOとしてテスト用Identity Managementデータベースに接続し、次のSQLを実行します。

      SQL> UPDATE ORASSO_DS.WWSSO_PSEX_USER_INFO$
      SET FVAL2 = '&NewEulName'
      WHERE FNAME2 = 'eul' and FVAL2 = '&OldEulName' and 
            FNAME5 = 'database' and FVAL5 = '&DbConnectString';
      
      

      ここでは、

    2. OLAP接続をコピーするには、ORASSOとしてIdentity Managementデータベースに接続し、次のSQLを実行します。

      SQL> UPDATE ORASSO_DS.WWSSO_PSEX_USER_INFO$
      SET  FVAL4 = '&New_Db_Details' WHERE user_prefs LIKE '%olap_zone=true%' AND       FNAME4 = 'database' and FVAL4 = '&Old_Db_Details';

      ここでは、

      • &New_Db_Detailsは、次の形式になります。

        computer:listener_port:database_SID

        たとえば、testserver.us.company.com:1521:testdbとなります。

      • &Old_Db_Detailsは、次の形式になります。

        computer:listener_port:database_SID

        たとえば、prodserver.us.company.com:1521:proddbとなります。

  2. OracleAS Single Sign-Onデータをクリーンアップします。

    OracleAS Single Sign-Onのインポート後、本番システムで登録されたパートナ・アプリケーションもテスト用環境にインポートされます。これには、本番のホスト名のパートナ登録も含まれます。これらすべてを削除する必要があります。

    1. 次のURLにアクセスして、OracleAS Single Sign-Onシステムにログインします。

      http://test_infra.domain.com:port/pls/orasso
      
      
    2. SSO Server管理」をクリックします。

    3. パートナ・アプリケーション管理」をクリックします。

    4. パートナ・アプリケーション名の上にマウスを置き、リンクの一覧を確認して、本番用ホストに関するすべてのエントリを削除します。これでテスト用のホストに対応するエントリが存在するようになります。

  3. テスト用OracleAS Portalインスタンスで、Discoverer Portlet Providerの登録を変更します。

    OracleAS PortalインスタンスでDiscoverer Portlet Providerの登録を修正し、プロバイダのURLを変更します。次は変更前です。

    http://production_host:production_OHS_port/discoverer/portletprovider
    
    

    次のように変更します。

    http://test_host:production_OHS_port/discoverer/portletprovider
    
    
    1. OracleAS Portalに管理者(たとえば、PORTAL)としてログインします。

    2. 管理」タブをクリックします。

    3. ポートレット」サブタブをクリックします。

    4. 「リモート・プロバイダ」ポートレットの「名前」フィールドにDiscoverer Portlet Providerの名前を入力します。「編集」をクリックします。

    5. 接続」タブをクリックします。

    6. URL」フィールドでポートを新しいポート番号に更新します。「適用」をクリックします。

    7. OK」をクリックします。

    新しいURLを使用するようにすべてのWebプロバイダを変更します。

11.2 テスト環境のアップグレード

テスト環境を構築したら、アップグレードやパッチの適用のテストに使用します。

作成したテスト環境は、高可用性インストールに変換することを検討してください。

関連項目

  • アップグレードの詳細は、Oracle Application Serverのアップグレードおよび互換性ガイドを参照してください。

  • テスト環境の高可用性環境への変換の詳細は、『Oracle Application Server高可用性ガイド』を参照してください。

 


戻る 次へ
Oracle
Copyright © 2002, 2006 Oracle.

All Rights Reserved.
目次
目次
索引
索引