# Java oc4j Component(dcmctl, opmnctl)
注意).cshrc のLANG変数のja指定を確認する setenv LANG ja< 1.IASの全体停止 $ORACLE_HOME/opmn/bin/opmnctl stopall 2.作業ディレクトリに移動 $ORACLE_HOME/dcm/bin 3.コンポーネント作成(最初だけ) XXXXはコンポーネント名 ./dcmctl createComponent -ct oc4j -co XXXX -v 次回からはアンデプロイ(削除)を行う。 ./dcmctl undeployApplication -a xxxx -co xxxx -v< 4.デプロイ(搭載する) ./dcmctl deployApplication -f /export/web/intra/xxxx/xxxx.war -a xxxx -co xxxx -rc /xxxx -v 5.設定ファイルの変更 ・$ORACLE_HOME/opmn/conf/opmn.xml java-VMのオプション設定 1) ガーベージコレクション表示 gc -verbose:gc 2) ヒープ初期サイズ 400M -Xms 3) ヒープ最大サイズ 400M -Xmx 4) 新世代ヒープ初期サイズ 100M -XX:NewSize 5) 新世代ヒープ最大サイズ 100M -XX:MaxNewSize 6) New世代領域のヒープサイズ比率を設定する(通常8に設定) 8 -XX:SurvivorRatio 7) -hotspot -server 有効期間の短いオブジェクトが多いほど、XX:NewSize、XX:MaxNewSizeを大きくする必要があります。 <oc4j maxRetry="3" instanceName="xxxx" gid="xxxx" numProcs="1"> <config-file path="/opt/app/oracle/product/ias9.0.2_3/j2ee/xxxx/config/server.xml"/> <java-option value="-verbose:gc -Xms400m -Xmx400m -XX:NewSize=100m -XX:MaxNewSize=100m"/> <oc4j-option value="-properties"/> <port ajp="3001-3100" jms="3201-3300" rmi="3101-3200"/> </oc4j> −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ・$ORACLE_HOME/j2ee/xxxx/applications/xxxx/xxxx/WEB-INF/web.xml <session-config> <session-timeout>120 web.xml -> web.xml:<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ・$ORACLE_HOME/j2ee/xxxx/applications/xxxx/xxxx/WEB-INF/web-app_2_3.dtd <resource-ref> <res-ref-name>jdbc/EmployeeAppDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ・$ORACLE_HOME/j2ee/xxxx/config/data-sources.xml <data-source class="com.evermind.sql.DriverManagerDataSource" name="OracleDS" location="jdbc/dummy" xa-location="jdbc/xa/dummy" ejb-location="jdbc/aist" connection-driver="oracle.jdbc.driver.OracleDriver" username="xxxx" password="xxxx" url="jdbc:oracle:thin:@150.29.10.102:1521:xxxx" inactivity-timeout="30"/> −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ・$ORACLE_HOME/j2ee/xxxx/applications/xxxx/xxxx/WEB-INF/beam-config.xml <connection name="Default" resource="Oracle" connector="JDBC"> <set-property name="driver" value="oracle.jdbc.driver.OracleDriver" /> <set-property name="url" value="jdbc:oracle:thin:@10.16.34.169:1521:zzzz" /> <set-property name="user" value="zzzz" /> <set-property name="password" value="zzzz" /> </connection> <connection name="Default" resource="Oracle" connector="DataSource"> <set-property name="InitialContextFactory" value="" /> <set-property name="driver" value="oracle.jdbc.driver.OracleDriver" /> <set-property name="DataSourceName" value="jdbc/zzzz" /> </connection> −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ・$ORACLE_HOME/j2ee/xxxx/applications/xxxx/xxxx/WEB-INF/classes/resources/zzzzxxx.properties authentication.sid=XXXX jndiName.zzzzxxx=jdbc/zzzz −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ・$ORACLE_HOME/j2ee/xxxx/config/data-sources.xml <servlet> <servlet-name>jsp</servlet-name> <servlet-class>oracle.jsp.runtimev2.JspServlet</servlet-class> <load-on-startup>0</load-on-startup> <!-- you can disable page scope listener if you don't need this function. --> <init-param> <param-name>check_page_scope</param-name> <param-value>true</param-value> </init-param> <!-- you can set main_mode to "justrun" to speed up JSP dispatching, if you don't need to recompile your JSP anymore. You can always switch your main_mode. Please see our doc for details --> <!-- <init-param> #-- JSPパフォーマンス向上のため <param-name>main_mode</param-name> <param-value>justrun</param-value> </init-param> --> </servlet> 7.反映 ./dcmctl updateConfig 8.IASの起動 $ORACLE_HOME/opmn/bin/opmnctl startall 下記のメッセージが出たら ./dcmctl getState -v を実行し状況を確認する。 opmnctl: starting opmn and all managed processes... Request partial success -- 4 of 5 processes started. −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− * コンポーネント単体の再起動 > ./dcmctl stop -co xxxx -ct oc4j -v Current State for Instance:midnight_angel.jp Component Type Up Status In Sync Status ================================================================================ 1 xxxx oc4j Down True > ./dcmctl start -co xxxx -ct oc4j -v Current State for Instance:midnight_angel.jp Component Type Up Status In Sync Status ================================================================================ 1 xxxx oc4j Up True −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− * 状態表示 dcmctl getState [[-cl cluster_name] | [-i instance_name] | [-co component_name]] dcmctl getState -v > ./dcmctl getState -v Current State for Instance:intra-t2.intra-t.gps.aist.go.jp Component Type Up Status In Sync Status ================================================================================ 1 home oc4j Down False: Configuration 2 HTTP Server ohs Down False: Configuration 3 OC4J_Demos oc4j Down False: Configuration 4 XXXX oc4j Down False: Application ○resyncを実行 > ./dcmctl resyncInstance -v > ./dcmctl getState -v Component Type Up Status In Sync Status ================================================================================ 1 home oc4j Down True 2 HTTP Server ohs Down True 3 OC4J_Demos oc4j Down True 4 XXXX oc4j Down True * エラー ./dcmctl getError ADMN-906025