本文共 31360 字,大约阅读时间需要 104 分钟。
--EOF--
2. config file, enviornment file, context file 分别是什么?请列出你的系统的例子。config file - 包括各个节点的配置信息,主要用于升级或多节点安装
[oravis@oel57vis ~]$ ll $ORACLE_HOME/appsutil/conf_$ORACLE_SID.txt
-rw-r--r-- 1 oravis dba 10658 Feb 14 23:22 /u03/db/tech_st/11.1.0/appsutil/conf_VIS.txt[applvis@oel57vis ~]$ ll $INST_TOP/conf_$TWO_TASK.txt
-rw-r--r-- 1 applvis dba 10654 Feb 14 23:21 /u02/inst/apps/VIS_oel57vis/conf_VIS.txtenviroment file - 包括数据库或应用产品的一些环境变量
[oravis@oel57vis ~]$ ll $ORACLE_HOME/$CONTEXT_NAME.env
-rw-r--r-- 1 oravis dba 3941 Feb 15 01:20 /u03/db/tech_st/11.1.0/VIS_oel57vis.env[applvis@oel57vis ~]$ ll $APPL_TOP/APPS$CONTEXT_NAME.env
-rw-r--r-- 1 applvis dba 1014 Feb 27 10:20 /u01/apps/apps_st/appl/APPSVIS_oel57vis.envcontext file - 数据库或应用产品的集中配置文件,需要配合adautocfg.sh使用
[oravis@oel57vis ~]$ ll $CONTEXT_FILE
-rwxr-xr-x 1 oravis dba 12575 Feb 15 12:31 /u03/db/tech_st/11.1.0/appsutil/VIS_oel57vis.xml[applvis@oel57vis ~]$ ll $CONTEXT_FILE
-rw-r--r-- 1 applvis dba 89874 Feb 27 10:20 /u02/inst/apps/VIS_oel57vis/appl/admin/VIS_oel57vis.xml--EOF-- 3。multi node 的安装,例如, 有4 台 应用服务器, 怎样知道 那些 services 运行在 那些 node 上?可通过$CONTEXT_FILE来查看oa_service_group_list:
[applvis@vis2 ~]$ tail -n20 $CONTEXT_FILE
<oa_service_group_list> <oa_service_group type="root" title="Root Service" services="opmn"> <oa_service_group_status oa_var="s_root_status">enabled</oa_service_group_status> </oa_service_group> <oa_service_group type="web entry" title="Web Entry Point Services" requires="root" services="ohs, tns_apps"> <oa_service_group_status oa_var="s_web_entry_status">enabled</oa_service_group_status> </oa_service_group> <oa_service_group type="web_applications" title="Web Application Services" requires="root" services="oacore, forms, oafm, tns_apps"> <oa_service_group_status oa_var="s_web_applications_status">enabled</oa_service_group_status> </oa_service_group> <oa_service_group type="batch" title="Batch Processing Services" services="tns_apps, concmgr, icsm_srv, jtff_srv"> <oa_service_group_status oa_var="s_batch_status">disabled</oa_service_group_status> </oa_service_group> <oa_service_group type="other" title="Other Services" services="forms_server, met_cl, met_srv, mwa_srv"> <oa_service_group_status oa_var="s_other_service_group_status">disabled</oa_service_group_status> </oa_service_group> </oa_service_group_list> <!-- End of Service Group List --> </oa_services></oa_context>[applvis@vis2 ~]$[applvis@vis3 ~]$ tail -n20 $CONTEXT_FILE
<oa_service_group_list> <oa_service_group type="root" title="Root Service" services="opmn"> <oa_service_group_status oa_var="s_root_status">disabled</oa_service_group_status> </oa_service_group> <oa_service_group type="web entry" title="Web Entry Point Services" requires="root" services="ohs, tns_apps"> <oa_service_group_status oa_var="s_web_entry_status">disabled</oa_service_group_status> </oa_service_group> <oa_service_group type="web_applications" title="Web Application Services" requires="root" services="oacore, forms, oafm, tns_apps"> <oa_service_group_status oa_var="s_web_applications_status">disabled</oa_service_group_status> </oa_service_group> <oa_service_group type="batch" title="Batch Processing Services" services="tns_apps, concmgr, icsm_srv, jtff_srv"> <oa_service_group_status oa_var="s_batch_status">enabled</oa_service_group_status> </oa_service_group> <oa_service_group type="other" title="Other Services" services="forms_server, met_cl, met_srv, mwa_srv"> <oa_service_group_status oa_var="s_other_service_group_status">disabled</oa_service_group_status> </oa_service_group> </oa_service_group_list> <!-- End of Service Group List --> </oa_services></oa_context>[applvis@vis3 ~]$ --EOF-- 4。修改 oacore 的jvm 的最大heap size (Xmx) ,由默认的512 M, 降到 256M。 修改 oacore 的jvm 的 启动 heap size (Xms)为 128M. (注意: 这里将 数值降低是考虑到 大家的测试机配置。在生产环境很可能是增加。 bonus question: 怎样判断应该增加还是减少?)查看当前参数:
[applvis@oel57vis scripts]$ egrep "oacore_jvm_start_options|oacore_jvm_stop_options" $CONTEXT_FILE
-server -verbose:gc -Xmx512M -Xms128M -XX:MaxPermSize=160M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB -XX:+UseParallelGC -XX:ParallelGCThreads=2 -Dcom.sun.management.jmxremote -Djava.security.policy=$ORACLE_HOME/j2ee/oacore/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false -Doracle.security.jazn.config=/u02/inst/apps/VIS_oel57vis/ora/10.1.3/j2ee/oacore/config/jazn.xml -server -verbose:gc -Xmx512M -Xms128M -XX:MaxPermSize=160M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB -XX:+UseParallelGC -XX:ParallelGCThreads=2 -Djava.security.policy=$ORACLE_HOME/j2ee/oacore/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false[applvis@oel57vis scripts]$[applvis@oel57vis scripts]$ sed -n '111,120p' $INST_TOP/ora/10.1.3/opmn/conf/opmn.xml <process-type id="oacore" module-id="OC4J" status="enabled" working-dir="$ORACLE_HOME/j2ee/home"> <module-data> <category id="start-parameters"> <data id="java-options" value="-server -verbose:gc -Xmx512M -Xms128M -XX:MaxPermSize=160M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB -XX:+UseParallelGC -XX:ParallelGCThreads=2 -Dcom.sun.management.jmxremote -Djava.security.policy=$ORACLE_HOME/j2ee/oacore/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false -Doracle.security.jazn.config=/u02/inst/apps/VIS_oel57vis/ora/10.1.3/j2ee/oacore/config/jazn.xml -Dhttp.cookie.ignoreCommaInCookiesNamed=X_NoMatchingCookies"/> <data id="java-bin" value="/u02/inst/apps/VIS_oel57vis/admin/scripts/java.sh"/> <data id="oc4j-options" value="-out /u02/inst/apps/VIS_oel57vis/logs/ora/10.1.3/opmn/oacorestd.out -err /u02/inst/apps/VIS_oel57vis/logs/ora/10.1.3/opmn/oacorestd.err"/> </category> <category id="stop-parameters"> <data id="java-options" value="-server -verbose:gc -Xmx512M -Xms128M -XX:MaxPermSize=160M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB -XX:+UseParallelGC -XX:ParallelGCThreads=2 -Djava.security.policy=$ORACLE_HOME/j2ee/oacore/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false"/> </category>[applvis@oel57vis scripts]$ [applvis@oel57vis scripts]$ ps -ef | grep "oracle.oc4j.instancename=oacore"applvis 9365 9231 0 22:29 ? 00:00:17 /u01/apps/tech_st/10.1.3/appsutil/jdk/bin/java -DCLIENT_PROCESSID=9365 -server -verbose:gc -Xmx512M -Xms128M -XX:MaxPermSize=160M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB -XX:+UseParallelGC -XX:ParallelGCThreads=2 -Dcom.sun.management.jmxremote -Djava.security.policy=/u01/apps/tech_st/10.1.3/j2ee/oacore/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false -Doracle.security.jazn.config=/u02/inst/apps/VIS_oel57vis/ora/10.1.3/j2ee/oacore/config/jazn.xml -Dhttp.cookie.ignoreCommaInCookiesNamed=X_NoMatchingCookies -Doracle.ons.oraclehome=/u01/apps/tech_st/10.1.3 -Doracle.home=/u01/apps/tech_st/10.1.3 -Doracle.ons.oracleconfighome=/u02/inst/apps/VIS_oel57vis/ora/10.1.3 -Doracle.ons.clustername=default -Doracle.ons.instancename=VIS_oel57vis.oel57vis.example.com -Dopmn.compatible=904 -Doracle.ons.indexid=oacore.default_group.1 -Doracle.ons.numprocs=1 -Doracle.ons.uid=1503415290 -Doracle.oc4j.groupname=default_group -Doracle.oc4j.instancename=oacore -Doracle.oc4j.islandname=default_group -Doracle.opmn.routingid=g_rt_id -DOPMN=true -jar oc4j.jar -config /u02/inst/apps/VIS_oel57vis/ora/10.1.3/j2ee/oacore/config/server.xml -properties -out /u02/inst/apps/VIS_oel57vis/logs/ora/10.1.3/opmn/oacorestd.out -err /u02/inst/apps/VIS_oel57vis/logs/ora/10.1.3/opmn/oacorestd.err -ports default-web-site:ajp:21500,rmi:20000,jms:23000applvis 17693 8257 0 23:33 pts/4 00:00:00 grep oracle.oc4j.instancename=oacore[applvis@oel57vis scripts]$修改最大heap size(Xmx)为256M,由于启动heap size(Xms)已经是128M所以保持不变.
[applvis@oel57vis scripts]$ ./adstpall.sh apps/apps
...[applvis@oel57vis scripts]$ cp $CONTEXT_FILE{,.bk03mar2014}[applvis@oel57vis scripts]$ ls -l $CONTEXT_FILE*-rw-r--r-- 1 applvis dba 89874 Feb 27 10:20 /u02/inst/apps/VIS_oel57vis/appl/admin/VIS_oel57vis.xml-rw-r--r-- 1 applvis dba 89874 Mar 3 23:36 /u02/inst/apps/VIS_oel57vis/appl/admin/VIS_oel57vis.xml.bk03mar2014[applvis@oel57vis scripts]$ vim /u02/inst/apps/VIS_oel57vis/appl/admin/VIS_oel57vis.xml[applvis@oel57vis scripts]$ egrep "oacore_jvm_start_options|oacore_jvm_stop_options" $CONTEXT_FILE -server -verbose:gc -Xmx256M -Xms128M -XX:MaxPermSize=160M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB -XX:+UseParallelGC -XX:ParallelGCThreads=2 -Dcom.sun.management.jmxremote -Djava.security.policy=$ORACLE_HOME/j2ee/oacore/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false -Doracle.security.jazn.config=/u02/inst/apps/VIS_oel57vis/ora/10.1.3/j2ee/oacore/config/jazn.xml -server -verbose:gc -Xmx256M -Xms128M -XX:MaxPermSize=160M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB -XX:+UseParallelGC -XX:ParallelGCThreads=2 -Djava.security.policy=$ORACLE_HOME/j2ee/oacore/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false[applvis@oel57vis scripts]$ [applvis@oel57vis scripts]$ ./adautocfg.sh Enter the APPS user password:The log file for this session is located at: /u02/inst/apps/VIS_oel57vis/admin/log/03032353/adconfig.logAutoConfig is configuring the Applications environment...AutoConfig will consider the custom templates if present. Using CONFIG_HOME location : /u02/inst/apps/VIS_oel57vis Classpath : /u01/apps/apps_st/comn/java/lib/appsborg2.zip:/u01/apps/apps_st/comn/java/classes Using Context file : /u02/inst/apps/VIS_oel57vis/appl/admin/VIS_oel57vis.xmlContext Value Management will now update the Context file Updating Context file...COMPLETED Attempting upload of Context file and templates to database...COMPLETEDConfiguring templates from all of the product tops... Configuring AD_TOP........COMPLETED Configuring FND_TOP.......COMPLETED Configuring ICX_TOP.......COMPLETED Configuring MSC_TOP.......COMPLETED Configuring IEO_TOP.......COMPLETED Configuring BIS_TOP.......COMPLETED Configuring AMS_TOP.......COMPLETED Configuring CCT_TOP.......COMPLETED Configuring WSH_TOP.......COMPLETED Configuring CLN_TOP.......COMPLETED Configuring OKE_TOP.......COMPLETED Configuring OKL_TOP.......COMPLETED Configuring OKS_TOP.......COMPLETED Configuring CSF_TOP.......COMPLETED Configuring IGS_TOP.......COMPLETED Configuring IBY_TOP.......COMPLETED Configuring JTF_TOP.......COMPLETED Configuring MWA_TOP.......COMPLETED Configuring CN_TOP........COMPLETED Configuring CSI_TOP.......COMPLETED Configuring WIP_TOP.......COMPLETED Configuring CSE_TOP.......COMPLETED Configuring EAM_TOP.......COMPLETED Configuring FTE_TOP.......COMPLETED Configuring ONT_TOP.......COMPLETED Configuring AR_TOP........COMPLETED Configuring AHL_TOP.......COMPLETED Configuring OZF_TOP.......COMPLETED Configuring IES_TOP.......COMPLETED Configuring CSD_TOP.......COMPLETED Configuring IGC_TOP.......COMPLETEDAutoConfig completed successfully.[applvis@oel57vis scripts]$ [applvis@oel57vis scripts]$ sed -n '111,120p' $INST_TOP/ora/10.1.3/opmn/conf/opmn.xml <process-type id="oacore" module-id="OC4J" status="enabled" working-dir="$ORACLE_HOME/j2ee/home"> <module-data> <category id="start-parameters"> <data id="java-options" value="-server -verbose:gc -Xmx256M -Xms128M -XX:MaxPermSize=160M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB -XX:+UseParallelGC -XX:ParallelGCThreads=2 -Dcom.sun.management.jmxremote -Djava.security.policy=$ORACLE_HOME/j2ee/oacore/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false -Doracle.security.jazn.config=/u02/inst/apps/VIS_oel57vis/ora/10.1.3/j2ee/oacore/config/jazn.xml -Dhttp.cookie.ignoreCommaInCookiesNamed=X_NoMatchingCookies"/> <data id="java-bin" value="/u02/inst/apps/VIS_oel57vis/admin/scripts/java.sh"/> <data id="oc4j-options" value="-out /u02/inst/apps/VIS_oel57vis/logs/ora/10.1.3/opmn/oacorestd.out -err /u02/inst/apps/VIS_oel57vis/logs/ora/10.1.3/opmn/oacorestd.err"/> </category> <category id="stop-parameters"> <data id="java-options" value="-server -verbose:gc -Xmx256M -Xms128M -XX:MaxPermSize=160M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB -XX:+UseParallelGC -XX:ParallelGCThreads=2 -Djava.security.policy=$ORACLE_HOME/j2ee/oacore/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false"/> </category>[applvis@oel57vis scripts]$ [applvis@oel57vis scripts]$ ./adstrtal.sh apps/apps[applvis@oel57vis scripts]$ ps -ef | grep "oracle.oc4j.instancename=oacore"applvis 24979 24843 6 Mar03 ? 00:00:08 /u01/apps/tech_st/10.1.3/appsutil/jdk/bin/java -DCLIENT_PROCESSID=24979 -server -verbose:gc -Xmx256M -Xms128M -XX:MaxPermSize=160M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB -XX:+UseParallelGC -XX:ParallelGCThreads=2 -Dcom.sun.management.jmxremote -Djava.security.policy=/u01/apps/tech_st/10.1.3/j2ee/oacore/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false -Doracle.security.jazn.config=/u02/inst/apps/VIS_oel57vis/ora/10.1.3/j2ee/oacore/config/jazn.xml -Dhttp.cookie.ignoreCommaInCookiesNamed=X_NoMatchingCookies -Doracle.ons.oraclehome=/u01/apps/tech_st/10.1.3 -Doracle.home=/u01/apps/tech_st/10.1.3 -Doracle.ons.oracleconfighome=/u02/inst/apps/VIS_oel57vis/ora/10.1.3 -Doracle.ons.clustername=default -Doracle.ons.instancename=VIS_oel57vis.oel57vis.example.com -Dopmn.compatible=904 -Doracle.ons.indexid=oacore.default_group.1 -Doracle.ons.numprocs=1 -Doracle.ons.uid=1503415294 -Doracle.oc4j.groupname=default_group -Doracle.oc4j.instancename=oacore -Doracle.oc4j.islandname=default_group -Doracle.opmn.routingid=g_rt_id -DOPMN=true -jar oc4j.jar -config /u02/inst/apps/VIS_oel57vis/ora/10.1.3/j2ee/oacore/config/server.xml -properties -out /u02/inst/apps/VIS_oel57vis/logs/ora/10.1.3/opmn/oacorestd.out -err /u02/inst/apps/VIS_oel57vis/logs/ora/10.1.3/opmn/oacorestd.err -ports default-web-site:ajp:21500,rmi:20000,jms:23000applvis 26487 8257 0 00:01 pts/4 00:00:00 grep oracle.oc4j.instancename=oacore[applvis@oel57vis scripts]$ 由上可以看出Xmx参数已经修改成功.当oacore的日志($INST_TOP/logs/ora/10.1.3/opmn/default_group~oacore~default_group~1.log)频繁出现Full GC时,可以考虑增加.当执行adstpall.sh在关闭oacore组件时出现"ERROR : Timed out( 100000 ): Interrupted Exception"错误,可以考虑减少.
参考:Tuning JVM in Oracle E-Business Suite
http://avdeo.com/2008/07/24/tuning-jvm-in-oracle-e-business-suite/Tuning Full GC Events In The OACORE JDK 6 Java Virtual Machine (Doc ID 851765.1)
Configuring various JVM tuning parameters for Oracle E-Business suite 11i and R12 (Doc ID 567551.1)
adstpall.sh Script Fails with ERROR : Timed out (Doc ID 1617999.1)
--EOF--
5。将 FORMS 的连接 由 默认的 servlet mode 改为 socket mode。 怎样看到改了? (hint: 参考 metalink note :384241.1 ) bonus question: 什么时候用 socket mode 好, 什么时候用servlet mode 好?查看当前参数:
[applvis@oel57vis scripts]$ grep s_frmConnectMode $CONTEXT_FILE servlet[applvis@oel57vis scripts]$ ./adformsrvctl.sh status
You are running adformsrvctl.sh version 120.15.12010000.3Forms Connect Mode is set to Servlet. Please Change Forms Mode to socket and then run this script.adformsrvctl.sh: exiting with status 1[applvis@oel57vis scripts]$ 修改成socket mode:[applvis@oel57vis scripts]$ ./adstpall.sh apps/apps[applvis@oel57vis scripts]$ cp $CONTEXT_FILE{,.bk04mar2013}
[applvis@oel57vis scripts]$ ls -l $CONTEXT_FILE*-rw-r--r-- 1 applvis dba 89874 Mar 3 23:56 /u02/inst/apps/VIS_oel57vis/appl/admin/VIS_oel57vis.xml-rw-r--r-- 1 applvis dba 89874 Mar 3 23:36 /u02/inst/apps/VIS_oel57vis/appl/admin/VIS_oel57vis.xml.bk03mar2014-rw-r--r-- 1 applvis dba 89874 Mar 4 00:39 /u02/inst/apps/VIS_oel57vis/appl/admin/VIS_oel57vis.xml.bk04mar2013[applvis@oel57vis scripts]$ [applvis@oel57vis scripts]$ $FND_TOP/bin/txkrun.pl -script=ChangeFormsMode -contextfile=$CONTEXT_FILE -mode=socket -port=9095 -runautoconfig=No*** ALL THE FOLLOWING FILES ARE REQUIRED FOR RESOLVING RUNTIME ERRORS*** Log File = /u02/inst/apps/VIS_oel57vis/logs/appl/rgf/TXK/txkChangeFormsMode_Tue_Mar_4_00_40_11_2014.log Program : /u01/apps/apps_st/appl/fnd/12.0.0/patch/115/bin/txkChangeFormsMode.pl started @ Tue Mar 4 00:40:11 2014*** Log File = /u02/inst/apps/VIS_oel57vis/logs/appl/rgf/TXK/txkChangeFormsMode_Tue_Mar_4_00_40_11_2014.log Arguments passed: -contextfile=/u02/inst/apps/VIS_oel57vis/appl/admin/VIS_oel57vis.xml -mode=socket -port=9095 -runautoconfig=No-----------Values used-----------Context File : /u02/inst/apps/VIS_oel57vis/appl/admin/VIS_oel57vis.xmlMode : socketPort : 9095Run AutoConfig : NoExecute SYSTEM command : netstat -a ********************************Backing up context file....********************************Context file backed up at: /u02/inst/apps/VIS_oel57vis/logs/appl/rgf/TXK/Tue_Mar_4_00_40_11_2014/VIS_oel57vis.xml********************************Changing to Socket Mode.......********************************Updating context Variable s_forms_servlet_serverurl....Updated context Variable s_forms_servlet_serverurl to Updating context Variable s_frmConnectMode....Updated context Variable s_frmConnectMode to socketUpdating context Variable s_formsstatus....Updated context Variable s_formsstatus to disabledUpdating context Variable s_formsserver_status....Updated context Variable s_formsserver_status to enabledUpdating context Variable s_other_service_group_status....Updated context Variable s_other_service_group_status to enabledUpdating context Variable s_formsport....Updated context Variable s_formsport to 9095Updating context Variable s_formslauncher_path....Updated context Variable s_formslauncher_path to OA_HTML/frmservlet*********************************************************************************You should run Autoconfig to update the runtime configurations to new Forms Mode.*********************************************************************************Log file to change the Forms Mode : /u02/inst/apps/VIS_oel57vis/logs/appl/rgf/TXK/txkChangeFormsMode_Tue_Mar_4_00_40_11_2014.logProgram : /u01/apps/apps_st/appl/fnd/12.0.0/patch/115/bin/txkChangeFormsMode.pl completed @ Tue Mar 4 00:40:28 2014End of /u01/apps/apps_st/appl/fnd/12.0.0/patch/115/bin/txkChangeFormsMode.pl : No Errors encountered[applvis@oel57vis scripts]$ [applvis@oel57vis scripts]$ grep s_frmConnectMode $CONTEXT_FILE socket[applvis@oel57vis scripts]$ $INST_TOP/admin/scripts/adautocfg.sh...
然后可以直接用如下URL测试登录(*我试了一下,只有一个什么都没有的空白页?):
不过在登录EBS打开一个form后,在JAVA 控制台可以看到"connectMode=Socket"的信息.
Oracle EBS - Forms Servlet与Socket模式比较
=====Servlet模式=====R12默认使用Servlet模式;Servlet基于HTTP/HTTPS,不需要额外的端口,可以不用额外配置就适应现有网络架构Servlet由于要转换成HTTP/HTTPS,需要额外的带宽和负载开销Servlet支持基于Windows系统的平台一般适合在WAN(需要通过Internet接入)下使用=====Socket模式=====11i默认使用Socket模式Socket需要额外端口,因此需要调整防火墙或者其他基础网络设置Socket通过直接建立Socket连接,不需要转换成HTTP/HTTPS,能节省相对于Servlet模式多达40%的网络开销,而且使用更少的JVM资源(性能开销)Socket不支持基于Windows系统的平台一般适合在LAN(公司内部局域网或者VPN)下使用FROM MY BLOG: http://blog.csdn.net/t0nsha/article/details/18095765
其间一个错误的解决方法:
错误:
[applvis@oel57vis scripts]$ ./adformsrvctl.sh start
You are running adformsrvctl.sh version 120.15.12010000.3Starting FORMS Server in Socket Mode...Calling txkChkFormsDeployment.pl to check whether latest FORMSAPP.EAR is deployed...*** ALL THE FOLLOWING FILES ARE REQUIRED FOR RESOLVING RUNTIME ERRORS*** Log File = /u02/inst/apps/VIS_oel57vis/logs/appl/rgf/TXK/txkChkFormsDeployment_Tue_Mar_4_00_48_12_2014/txkChkFormsDeployment_Tue_Mar_4_00_48_12_2014.log Program : /u01/apps/apps_st/appl/fnd/12.0.0/patch/115/bin/txkChkFormsDeployment.pl started @ Tue Mar 4 00:48:13 2014*** Log File = /u02/inst/apps/VIS_oel57vis/logs/appl/rgf/TXK/txkChkFormsDeployment_Tue_Mar_4_00_48_12_2014/txkChkFormsDeployment_Tue_Mar_4_00_48_12_2014.log File "/u01/apps/tech_st/10.1.3/j2ee/forms/applications/forms/formsweb/WEB-INF/lib/frmsrv.jar" exists. Proceeding to check the size...=================================================*** Latest formsapp.ear has NOT been deployed ***Deploying the latest EAR file...=================================================Program : /u01/apps/apps_st/appl/fnd/12.0.0/patch/115/bin/txkChkFormsDeployment.pl completed @ Tue Mar 4 00:48:20 2014Error while executing the perl script txkChkFormsDeployment.pl/u02/inst/apps/VIS_oel57vis/logs/ora/10.1.2/forms/socket.logadformsrvctl.sh: exiting with status 1[applvis@oel57vis scripts]$ view /u02/inst/apps/VIS_oel57vis/logs/appl/rgf/TXK/txkChkFormsDeployment_Tue_Mar_4_00_48_12_2014/txkChkFormsDeployment_Tue_Mar_4_00_48_12_2014.log...======================
Inside manageOpmn()...======================*** OPERATION is reload ***Execute SYSTEM command : /u01/apps/tech_st/10.1.3/opmn/bin/opmnctl reload/u01/apps/tech_st/10.1.3/opmn/bin/opmnctl: line 1150: /d2/R12/ab/apps/R1211XB9/apps/tech_st/10.1.3/opmn/bin/opmn: No such file or directoryopmnctl: opmn is not running....解决:
[applvis@oel57vis scripts]$ cp /u01/apps/tech_st/10.1.3/opmn/bin/opmnctl /u01/apps/tech_st/10.1.3/opmn/bin/opmnctl.bk04mar2013
[applvis@oel57vis scripts]$ vim /u01/apps/tech_st/10.1.3/opmn/bin/opmnctl[applvis@oel57vis scripts]$ diff /u01/apps/tech_st/10.1.3/opmn/bin/opmnctl /u01/apps/tech_st/10.1.3/opmn/bin/opmnctl.bk04mar201326,28c26< #Unable To Deploy Ear File (Doc ID 1602344.1)< . /u01/apps/apps_st/appl/APPSVIS_oel57vis.env< # ORACLE_HOME=/d2/R12/ab/apps/R1211XB9/apps/tech_st/10.1.3; export ORACLE_HOME---> ORACLE_HOME=/d2/R12/ab/apps/R1211XB9/apps/tech_st/10.1.3; export ORACLE_HOME30c28< # TNS_ADMIN=${TNS_ADMIN="/d2/R12/ab/apps/R1211XB9/apps/tech_st/10.1.3/network/admin"}; export TNS_ADMIN---> TNS_ADMIN=${TNS_ADMIN="/d2/R12/ab/apps/R1211XB9/apps/tech_st/10.1.3/network/admin"}; export TNS_ADMIN[applvis@oel57vis scripts]$ 参考:Unable To Deploy Ear File (Doc ID 1602344.1)
--EOF--
6. 将 数据库的listener port由 默认的 1521改为 1522。(hint: 参考 metalink note :338003.1 )
查看数据库的当前监听端口:
[oravis@oel57vis ~]$ lsnrctl status VIS
LSNRCTL for Linux: Version 11.1.0.7.0 - Production on 04-MAR-2014 22:19:20Copyright (c) 1991, 2008, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oel57vis.example.com)(PORT=1521)))STATUS of the LISTENER------------------------Alias VISVersion TNSLSNR for Linux: Version 11.1.0.7.0 - ProductionStart Date 04-MAR-2014 22:07:42Uptime 0 days 0 hr. 11 min. 38 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /u03/db/tech_st/11.1.0/network/admin/VIS_oel57vis/listener.oraListener Log File /u03/db/tech_st/11.1.0/log/diag/tnslsnr/oel57vis/vis/alert/log.xmlListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel57vis.example.com)(PORT=1521)))Services Summary...Service "VIS" has 2 instance(s). Instance "VIS", status UNKNOWN, has 1 handler(s) for this service... Instance "VIS", status READY, has 1 handler(s) for this service...Service "VIS_XPT" has 1 instance(s). Instance "VIS", status READY, has 1 handler(s) for this service...The command completed successfully[oravis@oel57vis ~]$ netstat -natulp | grep tns(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)tcp 0 0 0.0.0.0:1521 0.0.0.0:* LISTEN 6373/tnslsnr tcp 0 0 192.168.10.200:1521 192.168.10.200:22974 ESTABLISHED 6373/tnslsnr [oravis@oel57vis ~]$ 修改数据库的监听端口为1522:1. Deregister the current database server (Required)
[oravis@oel57vis ~]$ ls -l $CONTEXT_FILE*
-rwxr-xr-x 1 oravis dba 12575 Feb 15 12:31 /u03/db/tech_st/11.1.0/appsutil/VIS_oel57vis.xml-rwxr-xr-x 1 oravis dba 12575 Mar 4 22:22 /u03/db/tech_st/11.1.0/appsutil/VIS_oel57vis.xml.bk03mar2014.2222[oravis@oel57vis ~]$ perl $ORACLE_HOME/appsutil/bin/adgentns.pl appspass=apps contextfile=$CONTEXT_FILE -removeserver########################################################################## Generate Tns Names ########################################################################## Classpath : :/u03/db/tech_st/11.1.0/jdbc/lib/ojdbc6.jar:/u03/db/tech_st/11.1.0/appsutil/java/xmlparserv2.jar:/u03/db/tech_st/11.1.0/appsutil/java:/u03/db/tech_st/11.1.0/jlib/netcfg.jar:/u03/db/tech_st/11.1.0/jlib/ldapjclnt11.jarLoading ORACLE_HOME environment from /u03/db/tech_st/11.1.0Logfile: /u03/db/tech_st/11.1.0/appsutil/log/VIS_oel57vis/03042223/NetServiceHandler.logadgentns.pl exiting with status 0ERRORCODE = 0 ERRORCODE_END[oravis@oel57vis ~]$ 2. Update the AutoConfig Context files (conditional)2.1 DB Tier: Update the context file as below :[oravis@oel57vis ~]$ cd $ORACLE_HOME/appsutil[oravis@oel57vis appsutil]$ sed -i.bk1521 's/1521/1522/g' VIS_oel57vis.xml[oravis@oel57vis appsutil]$ diff VIS_oel57vis.xml VIS_oel57vis.xml.bk152166c66< <dbport oa_var="s_dbport" oa_type="PORT" base="1522" step="1" range="-1" label="Database Port">1522</dbport>---> <dbport oa_var="s_dbport" oa_type="PORT" base="1521" step="1" range="-1" label="Database Port">1521</dbport>87c87< <cmanport oa_var="s_cmanport" oa_type="EXT_PORT" base="1522" step="1" range="-1" label="Oracle Connection Manager Port">1522</cmanport>---> <cmanport oa_var="s_cmanport" oa_type="EXT_PORT" base="1521" step="1" range="-1" label="Oracle Connection Manager Port">1521</cmanport>[oravis@oel57vis appsutil]$ 2.2 Applications Tier: Update the existing Applications Tier Context file on all APPL_TOP nodesChange the values "Data Server Host" and "Database Port" in the Applications Tier Context file on all APPL_TOP nodes.[applvis@oel57vis ~]$ cd $INST_TOP/appl/admin/[applvis@oel57vis admin]$ sed -i.bk1521 's/1521/1522/g' VIS_oel57vis.xml[applvis@oel57vis admin]$ diff VIS_oel57vis.xml VIS_oel57vis.xml.bk1521 269c269< <jdbc_url oa_var="s_apps_jdbc_connect_descriptor">jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS=(PROTOCOL=tcp)(HOST=oel57vis.example.com)(PORT=1522)))(CONNECT_DATA=(SERVICE_NAME=VIS)))</jdbc_url>---> <jdbc_url oa_var="s_apps_jdbc_connect_descriptor">jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS=(PROTOCOL=tcp)(HOST=oel57vis.example.com)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=VIS)))</jdbc_url>753c753< <dbport oa_var="s_dbport" oa_type="EXT_PORT" base="1522" step="1" range="-1" label="Database Port">1522</dbport>---> <dbport oa_var="s_dbport" oa_type="EXT_PORT" base="1521" step="1" range="-1" label="Database Port">1521</dbport>785c785< <cmanport oa_var="s_cmanport" label="Oracle Connection Manager Port">1522</cmanport>---> <cmanport oa_var="s_cmanport" label="Oracle Connection Manager Port">1521</cmanport>[applvis@oel57vis admin]$ 3. Shutdown the Applications Tier Services (Required)[applvis@oel57vis admin]$ $ADMIN_SCRIPTS_HOME/adstpall.sh apps/apps...4. Reseed the Net Services Topology Model (Required)4.1 Run AutoConfig on the Database Tier (Required)[oravis@oel57vis appsutil]$ cd $ORACLE_HOME/appsutil/bin/[oravis@oel57vis bin]$ ./adconfig.sh contextfile=$ORACLE_HOME/appsutil/$CONTEXT_NAME.xml... 4.2 Run AutoConfig on the Applications Tier(s) (Required)[applvis@oel57vis admin]$ $ADMIN_SCRIPTS_HOME/adautocfg.sh appspass=apps...
5. Shutdown the Database Listener (required)
[oravis@oel57vis bin]$ $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME/addlnctl.sh stop $ORACLE_SIDLogfile: /u03/db/tech_st/11.1.0/appsutil/log/VIS_oel57vis/addlnctl.txtYou are running addlnctl.sh version 120.1.12010000.4Shutting down listener process VIS ...LSNRCTL for Linux: Version 11.1.0.7.0 - Production on 04-MAR-2014 23:33:03Copyright (c) 1991, 2008, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oel57vis.example.com)(PORT=1522)))The command completed successfullyaddlnctl.sh: exiting with status 0addlnctl.sh: check the logfile /u03/db/tech_st/11.1.0/appsutil/log/VIS_oel57vis/addlnctl.txt for more information ... [oravis@oel57vis bin]$ 6. Start the DB TNS Listener (required)[oravis@oel57vis bin]$ $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME/addlnctl.sh start $ORACLE_SIDLogfile: /u03/db/tech_st/11.1.0/appsutil/log/VIS_oel57vis/addlnctl.txtYou are running addlnctl.sh version 120.1.12010000.4Starting listener process VIS ...LSNRCTL for Linux: Version 11.1.0.7.0 - Production on 04-MAR-2014 23:33:29Copyright (c) 1991, 2008, Oracle. All rights reserved.Starting /u03/db/tech_st/11.1.0/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 11.1.0.7.0 - ProductionSystem parameter file is /u03/db/tech_st/11.1.0/network/admin/VIS_oel57vis/listener.oraLog messages written to /u03/db/tech_st/11.1.0/admin/VIS_oel57vis/diag/tnslsnr/oel57vis/vis/alert/log.xmlListening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel57vis.example.com)(PORT=1522)))Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oel57vis.example.com)(PORT=1522)))STATUS of the LISTENER------------------------Alias VISVersion TNSLSNR for Linux: Version 11.1.0.7.0 - ProductionStart Date 04-MAR-2014 23:33:30Uptime 0 days 0 hr. 0 min. 0 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /u03/db/tech_st/11.1.0/network/admin/VIS_oel57vis/listener.oraListener Log File /u03/db/tech_st/11.1.0/admin/VIS_oel57vis/diag/tnslsnr/oel57vis/vis/alert/log.xmlListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel57vis.example.com)(PORT=1522)))Services Summary...Service "VIS" has 1 instance(s). Instance "VIS", status UNKNOWN, has 1 handler(s) for this service...The command completed successfullyaddlnctl.sh: exiting with status 0addlnctl.sh: check the logfile /u03/db/tech_st/11.1.0/appsutil/log/VIS_oel57vis/addlnctl.txt for more information ... [oravis@oel57vis bin]$ netstat -natulp | grep tns(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)tcp 0 0 0.0.0.0:1522 0.0.0.0:* LISTEN 17762/tnslsnr [oravis@oel57vis bin]$ tnsping VISTNS Ping Utility for Linux: Version 11.1.0.7.0 - Production on 04-MAR-2014 23:35:44Copyright (c) 1997, 2008, Oracle. All rights reserved.Used parameter files:/u03/db/tech_st/11.1.0/network/admin/VIS_oel57vis/sqlnet_ifile.oraUsed TNSNAMES adapter to resolve the aliasAttempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=oel57vis.example.com)(PORT=1522)) (CONNECT_DATA= (SID=VIS)))OK (0 msec)[oravis@oel57vis bin]$7. Start the Applications Tier Services
[applvis@oel57vis admin]$ $ADMIN_SCRIPTS_HOME/adstrtal.sh apps/apps...然后提交Active User request进行sanity test.
至此, 数据库监听端口成功修改.参考:
adclonectx.pl error: ensure that Classpath is set properly
http://oradbapp.blogspot.com/2013/11/adclonectxpl-error-ensure-that.html--EOF--