この章では、中間層インスタンス、メタデータ・リポジトリがあるアイデンティティ管理および製品メタデータ・リポジトリを含むソース環境からターゲット環境にOracle Portal 11gを移動するプロセスを説明します。この手順は次の目的に使用できます。
テスト環境から本番環境に、またはその逆にコピーする。
パッチのテストおよびストレス・テストを行うために、本番と同じ環境をクローニングする。
Oracle Portalおよびその構成を、その構成を維持しながら、ソース環境から別の(ターゲットの)場所に移動できます。この章では、「テスト」はソース環境を意味し、「本番」はターゲット環境を意味するものとします。このシナリオでは、Oracle Portal 11gをテスト環境にすでにインストール済で、これを本番環境にコピーする必要があると想定します。
この項では、テスト環境から本番環境に移動する手順について説明します。
注意: この章では、Oracle Internet Directory (OID)のユーザーやグループおよびシングル・サインオン(SSO)を移行する手順については説明しません。 |
ソースでは、Portalの構成のアーカイブが必要です。このアーカイブは、クローニングされたPortalインスタンスをターゲット環境に作成するために使用します。
ソース環境を移動する前に、次の前提条件を満たしていることを確認します。
ソース(テスト)環境とターゲット(本番)環境が存在する必要があります。
ソース・システムとターゲット・システムでは、両方のマシンの製品バージョン、JDKバージョン、データベース・バージョンおよびシステム構成が同一である必要があります。
注意: ターゲット環境は、ソース環境のミラー・イメージになります。ターゲットのPortalインスタンスは、ソースのPortalインスタンスと同じように動作します。たとえば、Oracle Universal Installerを使用して、ターゲット・インスタンスをアンインストールしたり、パッチを適用できます。また、後でソースとして使用して、別のターゲットに移動することもできます。 |
クローニング元のソース環境を準備するには、次の手順を実行します。
次のパスをPATH
環境変数に追加します。また、T2P_JAVA_OPTIONS
を使用して、Java一時ディレクトリを次のように設定します。
export PATH=SOURCE_MW_HOME/oracle_common/bin:$JAVA_HOME:$PATH
export T2P_JAVA_OPTIONS="-Djava.io.tmpdir=/refresh/temp"
Middlewareホームに含まれるWebLogic ServerホームおよびOracleホームをコピーするcopyBinary.sh
スクリプトを実行して、Portal Fusion Middlewareホームをコピーします。copyBinary.sh
スクリプトはSOURCE_MW_HOME
/oracle_common/bin
フォルダにあります。
たとえば、/work/mwhome/
のMiddlewareホームをクローニングするには、次のコマンドを使用します。
copyBinary.sh -javaHome /work/mwhome/jrockit_160_29_D1.2.0-10 -archiveLoc /work/clone/mw_source_copy.jar -sourceMWHomeLoc /work/mwhome -invPtrLoc /oraInventory/oraInst.loc
(Oracleベースではなく)OracleホームディレクトリのTARファイルを作成します。例:
tar cvf /tmp/cloning_tool.tar SOURCE_MW_HOME/oracle_common/bin SOURCE_MW_HOME/oracle_common/jlib
データベース・スキーマをターゲット環境にエクスポートするデータベース・ダンプ(.dmp)ファイルを作成します。例:
SOURCE_DB_HOME/bin -> exp \'sys/welcome1@db9635 AS SYSDBA\' file=/work/clone/portal_exp.dmp grants=y
statistics=none log=/work/clone/portal_exp.log owner=<Prefix>_PORTAL,<Prefix>_PORTAL_APP,<Prefix>_PORTAL_PUBLIC
注意: 同じタイプのスキーマが複数ある場合は、ソース・インスタンスで使用されている接頭辞に対応する接頭辞が付いたスキーマを使用します。ソース・インスタンスで使用されているスキーマ接頭辞は、ソース・インスタンスのWebLogic管理コンソールのPortalデータ・ソース構成ページにアクセスして取得できます。 |
ソース環境の構成のアーカイブを作成した後、そのアーカイブを使用して、Portalのクローンをターゲット環境に作成する必要があります。
ソース環境からデータを移動する前に、次のタスクを実行してください。
ターゲット・マシンで、同じバージョンのOracle Database (ソース・マシンに適用されているのと同じパッチ・セットまたは修正を含む)をインストールして、ソース・マシンと同じスキーマ接頭辞を使用します。
次のファイルをソース・マシンからターゲット・マシンにコピーします。
cloning_tool.tar
mw_source_copy.jar
portal_exp.dmp
次のコマンドを使用して、cloning_tool.tar
の内容をターゲット・マシンのルート・ディレクトリに抽出します。
tar -xvf cloning_tool.tar
データをターゲット環境に移動するには、次のステップを実行します。
ターゲット・データベースの表領域が、ソースで使用されている表領域と一致することを確認します。
使用されている表領域をリストするには、<Prefix>_PORTAL
ユーザーとしてSQL*Plusから次の問合せを実行します。
SELECT DISTINCT TABLESPACE_NAME FROM DBA_SEGMENTS WHERE OWNER IN '<Prefix>_PORTAL','<Prefix>_PORTAL_APP','<Prefix>_PORTAL_PUBLIC') UNION SELECT DISTINCT DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME IN ('<Prefix>_PORTAL','<Prefix>_PORTAL_APP','<Prefix>_PORTAL_PUBLIC');
次の出力のようなレスポンスが表示されます。
TABLESPACE_NAME ------------------------------ <Prefix>_PORTAL <Prefix>_PORTAL_DOC <Prefix>_PORTAL_IDX <Prefix>_PORTAL_LOG
一時表領域をリストするには、次の問合せを実行します。
SELECT DISTINCT TEMPORARY_TABLESPACE FROM DBA_USERS WHERE USERNAME IN ('<Prefix>_PORTAL','<Prefix>_PORTAL_APP','<Prefix>_PORTAL_PUBLIC');
次の出力のようなレスポンスが表示されます。
TEMPORARY_TABLESPACE ------------------------------ IAS_TEMP
ターゲット・マシンの*.*dbfファイルを確認します。これらのファイルをリストするには、次の問合せを実行します。
select FILE_NAME, TABLESPACE_NAME, AUTOEXTENSIBLE, MAXBYTES, INCREMENT_BY from DBA_DATA_FILES where TABLESPACE_NAME in ('<Prefix>_PORTAL','<Prefix>_PORTAL_DOC','<Prefix>_PORTAL_IDX','<Prefix>_PORTAL_LOG','<Prefix>_IAS_TEMP');
次の出力のようなレスポンスが表示されます。
FILE_NAME TABLESPACE_NAME AUT MAXBYTES INCREMENT_BY --------------------------------------------------------------------------- /work/db9635/oradata/db9635/STG12LIN_portaldoc.dbf <Prefix>_PORTAL_DOC YES 3.4359E+10 480 /work/db9635/oradata/db9635/STG12LIN_portalidx.dbf <Prefix>_PORTAL_IDX YES 3.4359E+10 480 /work/db9635/oradata/db9635/STG12LIN_portallog.dbf <Prefix>_PORTAL_LOG YES 3.4359E+10 480 /work/db9635/oradata/db9635/STG12LIN_portal.dbf <Prefix>_PORTAL YES 3.4359E+10 480
'sysdba'としてターゲット・データベースにログインして、次のスキーマを指定します。
SQL> DROP USER STG12LIN_<Prefix>_PORTAL cascade; SQL> DROP USER STG12LIN_<Prefix>_PORTAL_APP cascade; SQL> DROP USER STG12LIN_<Prefix>_PORTAL_PUBLIC cascade;
TARGET_MW_HOME
/oraInventory
フォルダにoraInst.loc
ファイルを作成します。このファイルには、Oracleインベントリ・ディレクトリの場所を指定します。次の例に示すように、pasteBinary.sh
を実行します。
./pasteBinary.sh -javaHome /work/mwhome/jrockit_160_29_D1.2.0-10 -archiveLoc /work/clone_source/mw_source_copy.jar -targetMWHomeLoc /scratch/aime1/Demo -invPtrLoc /scratch/aime1/oraInventory/oraInst.loc
注意:
|
SQL*Plusを実行して、SYSDBA権限を持つSYSユーザーとしてターゲット・マシンのデータベースに接続し、TARGET_PORTAL_HOME
/portal/admin/plsql/wwv
ディレクトリからwbisys.sql
スクリプトを実行して、<Prefix>_PORTAL
スキーマを再作成します。
sqlplus SYS/password AS SYSDBA@db3823 @wdbisys.sql <Prefix>_PORTAL <Prefix>_PORTAL <Prefix>_IAS_TEMP wdbisys.log password
Oracleデータベースへの接続の詳細は、次の場所にあるOracle® Database 2日で開発者ガイドを参照してください。
http://docs.oracle.com/cd/E11882_01/appdev.112/e10766/tdddg_connecting.htm#TDDDG99998
<Prefix>_PORTAL_PUBLIC
スキーマを作成します。
TARGET_PORTAL_HOME
/portal/admin/plsql/wws
ディレクトリに移動して、SQL*PlusからSYSユーザーとして次のスクリプトを実行します。
SQL> CONNECT SYS/password AS SYSDBA@db3823 @cruser.sql <Prefix>_PORTAL password <Prefix>_PORTAL <Prefix>_IAS_TEMP '' <Prefix>_PORTAL_DOC password
SQL*PlusからSYSユーザーとして<Prefix>_PORTAL_PUBLIC
のパスワードを変更します。
ALTER USER <Prefix>_PORTAL_PUBLIC IDENTIFIED BY password;
このコマンドにより、<Prefix>_PORTAL
スキーマが作成され、必要なすべての権限が付与されます。
SQL*PlusからSYSユーザーとして、補助スキーマを作成します。
create user <Prefix>_PORTAL_APP identified by password; SQL> GRANT CONNECT,RESOURCE TO <Prefix>_PORTAL_APP IDENTIFIED BY password; ALTER USER <Prefix>_PORTAL_APP default tablespace <Prefix>_PORTAL temporary tablespace <Prefix>_IAS_TEMP;
エクスポートした各スキーマに対して、スキーマを作成する必要があります。必要に応じてALTER USER
コマンドを使用して、ユーザー・プロパティを調整します。
TARGET_DB_HOME
/rdbms/admin
ディレクトリからSYSDBA権限でcatexp.sql
スクリプトを実行します。
sqlplus SYS/password AS SYSDBA@db3823 @catexp.sql
ターゲット環境の製品メタデータ・リポジトリにスキーマをインポートします。
インポート・ユーティリティを実行します
インポート先のデータベース・バージョンが、エクスポート元のデータベースのバージョンと同じであることを確認してください。実際のインポートは、データベースのimpコマンドで次のように実行されます。
TARGET_DB_HOME/bin/ imp \'sys/password@db3823 AS SYSDBA\'
file=/scratch/aime1/Clone_source/portal_exp.dmp grants=y log=/scratch/aime1/Clone_source/portal_imp.log
fromuser=<Prefix>_PORTAL,<Prefix>_PORTAL_APP,<Prefix>_PORTAL_PUBLIC touser=<Prefix>_PORTAL,<Prefix>_PORTAL_APP,<Prefix>_PORTAL_PUBLIC
インポートされたスキーマのすべての無効なオブジェクトをコンパイルします。
SQL*PlusからSYSユーザーとして、TARGET_DB_HOME
/rdbms/admin
ディレクトリから、次のスクリプトを実行します。
@utlrp.sql
注意: 無効なオブジェクトがすべて適切かつ確実にコンパイルされるように、オブジェクトの依存性を考慮して、 |
次の問合せを<Prefix>_PORTAL
スキーマで実行して、<Prefix>_PORTAL_PUBLIC
より多くを返すかどうかを確認します。
SELECT DISTINCT DB_USER FROM <Prefix>_PORTAL.WWSEC_PERSON$;
一時ログイン・トリガーをドロップします。
@droptrig.sql <Prefix>_PORTAL
中間OracleAS Portal表を再作成および再索引付けします。
SQL*Plusから<Prefix>_PORTAL
ユーザーとして、TARGET_PORTAL_HOME
/portal/admin/plsql/wws
ディレクトリから、次のスクリプトを実行します。
@inctxgrn.sql @ctxcrind.sql
SQL*PlusからSYSユーザーとして次のコマンドを実行して、<Prefix>_PORTAL
ユーザーにジョブを戻します。
SQL> UPDATE dba_jobs set LOG_USER='<Prefix_PORTAL>', PRIV_USER='<Prefix_PORTAL>' where schema_user='<Prefix_PORTAL>'; SQL> commit;
ターゲットのMiddlewareホームから構成ウィザードにログインして、Portalを構成します。Oracle Portalの構成の詳細ステップは、Oracle Fusion Middleware Oracle Portal, Forms, Reports and Discovererインストレーション・ガイドの「Oracle Portal、Forms、ReportsおよびDiscovererの構成」を参照してください。
クローニング後に環境を検証するには、次のURLをブラウザで確認します。
コンポーネント | URL |
---|---|
Oracle Portal |
http://host:port/portal/pls/portal |
管理サーバー・コンソール |
http://host:port/console |
Enterprise Manager |
http://host:port/em |