この章では、Identity Managementを含むOracle Fusion Middlewareの管理に関連する一般的な問題について説明します。次のトピックが含まれます:
この項では、一般的な問題および回避策について説明します。次のトピックが含まれます:
OPMNではopmnctl
コマンドを提供しています。実行可能ファイルは次のディレクトリにあります。
ORACLE_HOME/opmn/bin/opmnctl: この場所のopmnctlコマンドは、ローカル・システムのOracleインスタンスまたはOracleインスタンスのコンポーネントの作成にのみ使用されます。この場所で生成されるすべてのopmnctlコマンドは、システム・プロセスの管理またはOPMNの起動には使用されません。
Windowsでは、この場所からopmnctl起動コマンドを使用してOPMNを起動すると、WindowsユーザーがログアウトしたときにOPMNとそのプロセスが終了します。
ORACLE_INSTANCE/bin/opmnctl: この場所でopmnctlコマンドを使用すると、Oracleインスタンスごとにopmnctlがインスタンス化されます。この場所からopmnctlコマンドを使用して、このOracleインスタンスのプロセスを管理します。また、このopmnctlを使用してOracleインスタンスのコンポーネントも作成できます。
Windowsでは、この場所からopmnctl起動コマンドを使用してOPMNを起動すると、OPMNがWindowsサービスとして起動されます。そのため、OPMN親プロセスおよびその下位のプロセスは、MS Windowsユーザーがログアウトした後も維持されます。
現在の環境にIPv6とIPv4のネットワーク・プロトコルが両方とも含まれる場合、特定の状況下でFusion Middleware Controlからエラーが返される可能性があります。
Fusion Middleware ControlにアクセスするブラウザがIPv4プロトコルを使用するホスト上に存在し、IPv6プロトコルを使用するホストにアクセスするコントロールを選択すると、Fusion Middleware Controlからエラーが返されます。同様に、Fusion Middleware ControlにアクセスするブラウザがIPv6プロトコルを使用するホスト上に存在し、IPv4プロトコルを使用するホストにアクセスするコントロールを選択すると、Fusion Middleware Controlからエラーが返されます。
たとえば、IPv4プロトコルを使用するホスト上のブラウザを使用しており、同時にFusion Middleware Controlを使用している場合、次のようにIPv6プロトコルを使用するホスト上で稼働するエンティティに移動すると、Fusion Middleware Controlからエラーが返されます。
Oracle Internet Directoryのホームページで、「Oracle Internet Directory」メニューから「Directory Services Manager」を選択する場合。Oracle Directory Services Managerは、IPv6プロトコルを使用するホスト上で稼働しています。
管理対象サーバーのホームページで、IPv6上で稼働するOracle WebLogic Server管理コンソールのリンクをクリックする場合。
IPv6を使用するホスト上のWebサービス・エンドポイントをテストする場合。
IPv6を使用するホスト上のアプリケーションURLまたはJavaアプリケーションをクリックする場合。
この問題を回避するには、/etc/hostsファイルに次のエントリを追加します。
nnn.nn.nn.nn myserver-ipv6 myserver-ipv6.example.com
この例で、nnn.nn.nn.nnは、管理サーバー・ホスト(myserver.example.com)のIPv4アドレスです。
テストから本番への移行については、次の制限に注意してください。
使用している環境にOracle WebLogic Serverがあり、あるリリースから別のリリースにアップグレードしている場合(例: 10.3.4から10.3.5)、pasteConfigスクリプトは次のエラーで失敗します。
Oracle_common_home/bin/unpack.sh line29: WL_home/common/bin/unpack.sh No such file or directory
この問題を回避するには、次のファイルを編集します。
MW_HOME/utils/uninstall/WebLogic_Platform_10.3.5.0/WebLogic_Server_10.3.5.0_Core_Application_Server.txt file
次のエントリを追加します。
/wlserver_10.3/server/lib/unix/nodemanager.sh /wlserver_10.3/common/quickstart/quickstart.cmd /wlserver_10.3/common/quickstart/quickstart.sh /wlserver_10.3/uninstall/uninstall.cmd /wlserver_10.3/uninstall/uninstall.sh /utils/config/10.3/setHomeDirs.cmd /utils/config/10.3/setHomeDirs.sh
Oracle Virtual Directoryを移動する場合、ソース環境のOracleインスタンスの名前は、ターゲット環境のOracleインスタンスの名前と同じにすることはできません。ターゲットのOracleインスタンスの名前は、ソースの名前とは異なっている必要があります。
Oracle Virtual Directoryをあるホストから別のホストに移動したら、ホストBのOracle Virtual DirectoryキーストアおよびEMエージェント・ウォレットに自己署名証明書を追加する必要があります。次の手順を実行してください。
ORACLE_HOMEおよびJAVA_HOME環境変数を設定します。
既存の自己署名証明書を削除します。
$JAVA_HOME/bin/keytool -delete -alias serverselfsigned -keystore ORACLE_INSTANCE/config/OVD/ovd_component_name/keystores/keys.jks -storepass OVD_Admin_password
鍵ペアを生成します。
$JAVA_HOME/bin/keytool -genkeypair -keystore ORACLE_INSTANCE/config/OVD/ovd_component_name/keystores/keys.jks -storepass OVD_Admin_password -keypass OVD_Admin_password -alias serverselfsigned -keyalg rsa -dname "CN=Fully_qualified_hostname,O=test"
証明書をエクスポートします。
$JAVA_HOME/bin/keytool -exportcert -keystore ORACLE_INSTANCE/config/OVD/ovd_component_name/keystores/keys.jks -storepass OVD_Admin_password -rfc -alias serverselfsigned -file ORACLE_INSTANCE/config/OVD/ovd_component_name/keystores/ovdcert.txt
EMエージェントにウォレットを追加します。
ORACLE_HOME/../oracle_common/bin/orapki wallet add -wallet ORACLE_INSTANCE/EMAGENT/EMAGENT/sysman/config/monwallet -pwd EM_Agent_Wallet_password -trusted_cert -cert ORACLE_INSTANCE/config/OVD/ovd_component_name/keystores/ovdcert.txt
Oracle Virtual Directoryサーバーを停止して起動します。
EMエージェントを停止して起動します。
copyConfig操作は、IPv6を使用しており、管理対象サーバーのリスニング・アドレスが設定されていないと失敗します。
この問題を回避するには、Oracle WebLogic Server管理コンソールで管理対象サーバーのリスニング・アドレスを設定します。サーバーにナビゲートします。次に、サーバー・ページの「設定」で、リスニング・アドレスを入力します。管理対象サーバーを再起動します。
Oracle Platform Securityを移動し、LDAPストアを使用している場合、ソース環境のLDAPストアは稼働しており、pasteConfig操作中にターゲットからアクセスできる必要があります。
Oracle HTTP Serverリリース11.1.1.6を使用してWebGateを構成している場合、移動スクリプトを使用する前に次のパッチをOracle HTTP Serverに適用する必要があります。
13897557
Oracle Identity Managerリリース11.1.2.1で環境を移行するときには、次の事項に注意してください。
ターゲットで別のデータベースを使用している場合は、DATASOURCE configGroupの情報と、その他の変更が必要情報を更新してください。
SERVER_CONFIG configGroupで、リスニング・アドレス・プロパティを更新するときOracle SOA SuiteサーバーおよびOracle Identity Managerを含んだホストの名前を指定します。All Local Addresses
を指定しないでください。
Oracle Identity ManagerでpasteConfigスクリプトを使用している場合は、次のエラーが発生する場合があります。
SEVERE : [PLUGIN][OIM] ERROR - CLONE-71000 configuration Failed. Exiting configuration due to data validation failure. SEVERE : [PLUGIN][OIM] CAUSE - CLONE-71000 [VALIDATION] [ERROR]:INST-6109: Unable to connect to the Database with the given credentials. Invalid service name
この問題を修正するには、次の手順を実行します:
移動計画を更新します。移動計画内では、Oracle Identity Manager専用データ・ソースのUrlプロパティの値にサービス名パターンではなくSIDパターンが指定されている可能性があります。DataSource configGroupのURLプロパティで、SIDではなくサービス名パターンを使用するように移動計画を修正してください。
次の書式を使用します。
<value>jdbc:oracle:thin:@hostname:13477/servicename</value>
例:
<value>jdbc:oracle:thin:@example.com:13477/MySID.example.com</value>
次のような書式は使用しないでください。
<value>jdbc:oracle:thin:@hostname:13477:sid</value> <value>jdbc:oracle:thin:@hostname:13477:servicename</value>
pasteConfigスクリプトを再実行します。
ターゲットで別のデータベースを使用している場合は、DATASOURCE configGroupの情報と、その他の変更が必要情報を更新してください。
SERVER_CONFIG configGroupで、リスニング・アドレス・プロパティを更新するときOracle SOA SuiteサーバーおよびOracle Identity Managerを含んだホストの名前を指定します。
Oracle Identity Managerリリース11.1.2.1およびOracle SOA Suiteリリース11.1.1.*がある場合、copyConfigスクリプトを実行する前に次のパッチをインストールする必要があります。
Patch14501468
移行スクリプトはOracle Identity Managerリリース11.1.1.*の他の環境への移動について、移動スクリプトと手動手順のいずれもサポートしていません。さらに、Oracle Identity Managerリリース11.1.1.*は他のコンポーネントのソース環境の一部であるため、その環境の移動スクリプトは失敗します。
Oracle Entitlements Serverをソース環境からターゲット環境へ移動する場合、copyConfig
の手順が失敗し、ログ・ファイルに次のような例外が出力される可能性があります。
javax.management.InstanceNotFoundException: java.lang:type=Runtime at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237) at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:223)
ソース環境でcopyConfig
を実行する前に、シェルでenv
変数を設定し、ソース環境を再起動する必要があります。たとえば、env
変数を次のように設定します。
setenv JAVA_OPTIONS -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBean ServerBuilder
Oracle Identity Managerを含むドメインのcopyConfig操作が次の例外トレースで失敗する場合は、スクリプトで、ホスト名localhost
を使用したOracle Identity Manager管理対象サーバーのMBeanサーバー接続の確立において問題が発生しています。
INFO : [PLUGIN][OIM] Mar 22, 2013 7:45:23 AM - CLONE-71019 Executing Mbean:MBean Name:oracle.iam:type=IAMAppRuntimeMBean,name=IDStoreConfigMBean,Application=oi m,ApplicationVersion=11.1.2.0.0. INFO : [PLUGIN][OIM] null oracle.as.t2p.exceptions.FMWT2PCopyConfigException: java.lang.Exception at oracle.iam.t2p.OIMT2PCopyConfig.doCopyConfig(OIMT2PCopyConfig.java:87) at oracle.as.clone.cloner.component.J2EEComponentCreateCloner.getMovableCompsFrom PluginImpl(J2EEComponentCreateCloner.java:796) . . .
この場合は、マシンのネットワーク構成を分析して修正してください。このネットワーク構成について、ファイル/etc/hostsも確認してください。
この項では、構成に関する問題およびその回避策について説明します。次のトピックが含まれます:
Fusion Middleware ControlとOracle WebLogic Server管理コンソール間のシングル・サインオン・メカニズムとしてWindowsのネイティブ認証(WNA)を使用する場合、次のファイルを変更する必要があります。
web.xml
weblogic.xml
これらのファイルは、em.earファイルに含まれます。em.earファイルを展開して各ファイルを編集してから、em.earファイルに再アーカイブします。次の手順を実行してください(フロントエンドがWindows上にあり、em.earファイルがUNIX上にあると仮定します)。
JAVA_HOME環境変数を設定します。例:
setenv JAVA_HOME /scratch/Oracle/Middleware/jrockit_160_05_R27.6.2-20
em.earが含まれるディレクトリに移動し、ファイルを展開します。例:
cd /scratch/Oracle/Middleware/user_projects/applications/domain_name JAVA_HOME/bin/jar xvf em.ear em.war JAVA_HOME/bin/jar xvf em.war WEB-INF/web.xml JAVA_HOME/bin/jar xvf em.war WEB-INF/weblogic.xml
web.xmlを編集し、最初のlogin-configブロックをコメントアウトし、WNAのlogin-configを非コメントアウトします。(どのブロックをコメント化または非コメント化するかはファイルに含まれています。)次に、ファイルの一部が次のように表示されます。
<!--<login-config> <auth-method>CLIENT-CERT</auth-method> </login-config> --> <!-- the following block is for Windows Native Authentication, if you are using WNA, do the following: 1. uncomment the following block 2. comment out the previous <login-config> section. 3. you also need to uncomment a block in weblogic.xml --> <login-config> <auth-method>CLIENT-CERT,FORM</auth-method> <form-login-config> <form-login-page>/faces/targetauth/emasLogin</form-login-page> <form-error-page>/login/LoginError.jsp</form-error-page> </form-login-config> </login-config> <security-constraint> . . . <security-role> <role-name>Monitor</role-name> </security-role>
weblogic.xmlを編集し、次のブロックを非コメント化します。(どのブロックを非コメントかするかはファイルに含まれています。)次に、ファイルの一部が次のように表示されます。
<!-- the following block is for Windows Native Authentication, if you are using WNA, uncomment the following block. --> <security-role-assignment> <role-name>Admin</role-name> <externally-defined/> </security-role-assignment> . . . <security-role-assignment> <role-name>Deployer</role-name> <externally-defined/> </security-role-assignment>
em.earファイルに再アーカイブします。例:
JAVA_HOME/bin/jar uvf em.war WEB-INF/web.xml JAVA_HOME/bin/jar uvf em.war WEB-INF/weblogic.xml JAVA_HOME/bin/jar uvf em.ear em.war
ここでは、『Oracle Fusion Middleware管理者ガイド』および『Oracle Fusion Middleware高可用性ガイド』のドキュメントの訂正箇所を示します。
ここでは、『Oracle Fusion Middleware管理者ガイド』のドキュメントの訂正箇所を次のとおり示します。
ソース環境のMiddlewareホームのすべてのOracleホームは、同じOracleインベントリに登録されている必要があります。複数のコンポーネントを1つのMiddlewareホームにインストールしているが、使用しているOracleインベントリの場所が様々である場合は、スクリプトで一部のOracleホームを検出できません。
この問題を回避するには、次の手順を実行します。
次のコマンドを使用して、登録先のインベントリを指定するoraInst.locを新規に作成します。
cat oraInst.loc
inventory_loc=new_oraInst_loc_location
inst_group=g900
Oracleホームを現在のインベントリからデタッチします。
cd ORACLE_HOME/oui/bin ./detachHome.sh -invPtrLoc ORACLE_HOME/oraInst.loc
手順1で新規に作成したoraInst.locを渡すことによって、Oracleホームを新規インベントリに接続します。
./attachHome.sh -invPtrLoc new_oraInst_loc_location
Middlewareホーム内のすべてのOracleホームについて、この手順を行います。
必要な場合は、Oracleホーム間で必要な依存関係を設定します(ほとんどのOracleホームがoracle_commonに依存するなど)。これらの依存関係は、アンインストール時に必要になります。ファイルoraInventory/ContentsXML/inventory.xmlを確認すると、以前のインベントリから存在する依存関係を調べることができます。次に、ファイルの例を示します。
<?xml version="1.0" standalone="yes" ?> <!-- Copyright (c) 1999, 2010, Oracle. All rights reserved. --> <!-- Do not modify the contents of this file by hand. --> <VERSION_INFO> <SAVED_WITH>11.1.0.9.0</SAVED_WITH> <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER> </VERSION_INFO> <HOME_LIST> <HOME NAME="OH339778486" LOC="/scratch/oracle/11gMW/oracle_common" TYPE="O" IDX="1"> <REFHOMELIST> <REFHOME LOC="/scratch/oracle/11gMW/Oracle_WT1"/> </REFHOMELIST> </HOME> <HOME NAME="OH299443989" LOC="/scratch/oracle/11gMW/Oracle_WT1" TYPE="O" IDX="2"> <DEPHOMELIST> <DEPHOME LOC="/scratch/oracle/11gMW/oracle_common"/> </DEPHOMELIST> </HOME> </HOME_LIST> <COMPOSITEHOME_LIST> </COMPOSITEHOME_LIST> </INVENTORY>
次のコマンドを実行して依存関係を設定します。これは移動スクリプトの動作には必須ではありませんが、アンインストール時に必要になります。
./runInstaller -updateHomeDeps "HOME_DEPENDENCY_LIST={/scratch/oracle/11gMW/Oracle_WT1:/scratch/oracle/11gMW/ oracle_common}" -invPtrLoc ~/oraInst.loc
データベースにデータが格納されている状態でOracle Platform Security Servicesを新しいターゲット環境に移動する手順が1つ不足しています。完全な手順は次のとおりです。
環境変数を設定し、Oracleホーム・ディレクトリに変更します。
setenv ORACLE_HOME ORACLE_HOME setenv ORACLE_SID ORACLE_SID cd $ORACLE_HOME/bin
データをソース・スキーマからエクスポートします。
expdp "sys/password@connect_id as sysdba" DIRECTORY=DATA_PUMP_DIR SCHEMAS=OPSS_schema_name DUMPFILE=export.dmp PARALLEL=2 LOGFILE=export.log
ターゲット環境でディレクトリを作成し(たとえば、DATA_PUMP_DIR2)、.dmpファイルをそのディレクトリにコピーします。
sysdbaロールを持つユーザーとしてデータベースに接続し、次のコマンドを実行します。
CREATE DIRECTORY DATA_PUMP_DIR2 as '/scratch/oracle/product/11.2.0/dbhome_1/opss_dump';
データをターゲット・スキーマにインポートします。
impdp "sys/password@connect_id as sysdba" DIRECTORY=DATA_PUMP_DIR2 DUMPFILE=export.dmp PARALLEL=2 LOGFILE=import.log remap_schema=test_env_schema_name:prod_env_schema_name remap_tablespace=test_env_tablespace:prod_env_tablespace TABLE_EXISTS_ACTION=REPLACE
インポート・コマンドにより、"Job "SYS"."SYS_IMPORT_FULL_01" completed with 6 errors."というメッセージが生成されます。このエラーは無視できます。
『Oracle Fusion Middleware管理者ガイド』のMDSでサポートされるデータベースに関する項に掲載されている、Oracle Fusion Middlewareのシステム要件および仕様へのリンクが間違っています。正しいリンクは次のとおりです。
http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-requirements-100147.html
この項には、『Oracle Fusion Middleware高可用性ガイド11g リリース2 (11.1.2.1.0)』(原本部品番号E28391-04)の次の訂正箇所が含まれます。
8.3.3.1.1項「Oracle WebLogic Serverのインストール」の手順5「「製品とコンポーネントの選択」画面で「Oracle JRockit SDK」のみを選択し、「次へ」をクリックします。」の記述は正しくありません。「「製品とコンポーネントの選択」画面で、認証済JDKを選択します。」と記述する必要があります。Oracleの認証マトリックスを参照して、適切なJDKを選択してください。http://www.oracle.com/technetwork/middleware/downloads/fmw-11gr1certmatrix.xls
を参照してください。
9.2.3.12.1項「Oracle HTTP Server構成の更新」のサンプル・ファイルの行の書式が正しくありません。2行に分かれていますが、1行にする必要があります。
この問題を修正するには、次を差し替えます:
oamhost1.mycompany.com:14100,oamhost2.mycompany.com:14100 WebLogicCluster
および
WebLogicCluster oamhost1.mycompany.com:14100,oamhost2.mycompany.com:14100
次の行に差し替えます:
WebLogicCluster oamhost1.mycompany.com:14100,oamhost2.mycompany.com:14100