Oracle Applications DBA 基础(第二期)Week 04 exercise

2024-03-09 23:48

本文主要是介绍Oracle Applications DBA 基础(第二期)Week 04 exercise,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. applsys 用户是做什么用的 ?
applsys是AD和FND product的owner,其密码必须与apps用户一致.

--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.txt

enviroment 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.env

context 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:23000
applvis  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.log

AutoConfig 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.xml

Context Value Management will now update the Context file

    Updating Context file...COMPLETED

    Attempting upload of Context file and templates to database...COMPLETED

Configuring 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.......COMPLETED

AutoConfig 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:23000
applvis  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.3

Forms 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.xml
Mode           : socket
Port           : 9095
Run AutoConfig : No


Execute 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 socket
Updating context Variable s_formsstatus....
Updated context Variable s_formsstatus to disabled
Updating context Variable s_formsserver_status....
Updated context Variable s_formsserver_status to enabled
Updating context Variable s_other_service_group_status....
Updated context Variable s_other_service_group_status to enabled
Updating context Variable s_formsport....
Updated context Variable s_formsport to 9095
Updating 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.log


Program : /u01/apps/apps_st/appl/fnd/12.0.0/patch/115/bin/txkChangeFormsMode.pl completed @ Tue Mar  4 00:40:28 2014

End 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
...

[applvis@oel57vis scripts]$ $INST_TOP/admin/scripts/adstrtal.sh apps/apps
...


[applvis@oel57vis scripts]$ $INST_TOP/admin/scripts/adformsrvctl.sh status

You are running adformsrvctl.sh  version 120.15.12010000.3

Checking status of FORMS Server (Socket Mode) ...

 Forms Server (Socket) is running as PID  6732


adformsrvctl.sh: exiting with status 0

adformsrvctl.sh: check the logfile /u02/inst/apps/VIS_oel57vis/logs/ora/10.1.2/forms/socket.log for more information ...  

[applvis@oel57vis scripts]$ tail -n 15 $INST_TOP/logs/ora/10.1.2/forms/socket.log
Developer:Forms/LogRecord

[Tue Mar  4 01:13:38 2014 CST]::Server Start-up Data:
    Server Log Filename: /u02/inst/apps/VIS_oel57vis/logs/ora/10.1.2/forms/socket.log
    Server Hostname: oel57vis.example.com
    Server Port: 9095
    Server Pool: 1
    Server Process Id: 8530


03/04/14-01:13:38 :: adformsrvctl.sh: exiting with status 0


================================================================================
 
[applvis@oel57vis scripts]$

然后可以直接用如下URL测试登录(*我试了一下,只有一个什么都没有的空白页?):


http://oel57vis.example.com:8000/OA_HTML/frmservlet


不过在登录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.3

Starting 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 2014

Error while executing the perl script txkChkFormsDeployment.pl
/u02/inst/apps/VIS_oel57vis/logs/ora/10.1.2/forms/socket.log


adformsrvctl.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 directory
opmnctl: 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.bk04mar2013
26,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_HOME
30c28
< # 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:20

Copyright (c) 1991, 2008, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oel57vis.example.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     VIS
Version                   TNSLSNR for Linux: Version 11.1.0.7.0 - Production
Start Date                04-MAR-2014 22:07:42
Uptime                    0 days 0 hr. 11 min. 38 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u03/db/tech_st/11.1.0/network/admin/VIS_oel57vis/listener.ora
Listener Log File         /u03/db/tech_st/11.1.0/log/diag/tnslsnr/oel57vis/vis/alert/log.xml
Listening 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.jar

Loading ORACLE_HOME environment from /u03/db/tech_st/11.1.0
Logfile: /u03/db/tech_st/11.1.0/appsutil/log/VIS_oel57vis/03042223/NetServiceHandler.log

adgentns.pl exiting with status 0
ERRORCODE = 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.bk1521
66c66
<          <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 nodes
Change 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_SID
Logfile: /u03/db/tech_st/11.1.0/appsutil/log/VIS_oel57vis/addlnctl.txt

You are running addlnctl.sh version 120.1.12010000.4


Shutting down listener process VIS ...


LSNRCTL for Linux: Version 11.1.0.7.0 - Production on 04-MAR-2014 23:33:03

Copyright (c) 1991, 2008, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oel57vis.example.com)(PORT=1522)))
The command completed successfully

addlnctl.sh: exiting with status 0

addlnctl.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_SID
Logfile: /u03/db/tech_st/11.1.0/appsutil/log/VIS_oel57vis/addlnctl.txt

You are running addlnctl.sh version 120.1.12010000.4


Starting listener process VIS ...


LSNRCTL for Linux: Version 11.1.0.7.0 - Production on 04-MAR-2014 23:33:29

Copyright (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 - Production
System parameter file is /u03/db/tech_st/11.1.0/network/admin/VIS_oel57vis/listener.ora
Log messages written to /u03/db/tech_st/11.1.0/admin/VIS_oel57vis/diag/tnslsnr/oel57vis/vis/alert/log.xml
Listening 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                     VIS
Version                   TNSLSNR for Linux: Version 11.1.0.7.0 - Production
Start Date                04-MAR-2014 23:33:30
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u03/db/tech_st/11.1.0/network/admin/VIS_oel57vis/listener.ora
Listener Log File         /u03/db/tech_st/11.1.0/admin/VIS_oel57vis/diag/tnslsnr/oel57vis/vis/alert/log.xml
Listening 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 successfully

addlnctl.sh: exiting with status 0

addlnctl.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 VIS

TNS Ping Utility for Linux: Version 11.1.0.7.0 - Production on 04-MAR-2014 23:35:44

Copyright (c) 1997, 2008, Oracle.  All rights reserved.

Used parameter files:
/u03/db/tech_st/11.1.0/network/admin/VIS_oel57vis/sqlnet_ifile.ora


Used TNSNAMES adapter to resolve the alias
Attempting 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--

这篇关于Oracle Applications DBA 基础(第二期)Week 04 exercise的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/792334

相关文章

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python WebSockets 库从基础到实战使用举例

《PythonWebSockets库从基础到实战使用举例》WebSocket是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等,本文给大家介... 目录1. 引言2. 为什么使用 WebSocket?3. 安装 WebSockets 库4. 使用 We

从基础到高阶详解Python多态实战应用指南

《从基础到高阶详解Python多态实战应用指南》这篇文章主要从基础到高阶为大家详细介绍Python中多态的相关应用与技巧,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、多态的本质:python的“鸭子类型”哲学二、多态的三大实战场景场景1:数据处理管道——统一处理不同数据格式

MySQL数据类型与表操作全指南( 从基础到高级实践)

《MySQL数据类型与表操作全指南(从基础到高级实践)》本文详解MySQL数据类型分类(数值、日期/时间、字符串)及表操作(创建、修改、维护),涵盖优化技巧如数据类型选择、备份、分区,强调规范设计与... 目录mysql数据类型详解数值类型日期时间类型字符串类型表操作全解析创建表修改表结构添加列修改列删除列

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

Oracle迁移PostgreSQL隐式类型转换配置指南

《Oracle迁移PostgreSQL隐式类型转换配置指南》Oracle迁移PostgreSQL时因类型差异易引发错误,需通过显式/隐式类型转换、转换关系管理及冲突处理解决,并配合验证测试确保数据一致... 目录一、问题背景二、解决方案1. 显式类型转换2. 隐式转换配置三、维护操作1. 转换关系管理2.

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a