EBS R12中forms的模式有:Servlet mode 和 Forms Socket mode
当我们完成Oracle EBS R12套件的快速安装后,forms的默认配置是Servlet mode。这种模式有利于公用网络(如Internet)的访问,但对于ERP局域网的用户而言,Forms Socket mode的效率更高。一般内部的ERP用户访问的Web服务器采用Forms Socket mode,而外部的用户访问的Web服务器则采用Servlet mode。
一、更改forms的模式由Servlet mode 到Forms Socket mode:
①检查当前forms的模式:
[root@ebsr12 ~]# su - applmgr
[applmgr@ebsr12 ~]$ cd $APPL_TOP
[applmgr@ebsr12 appl]$ . ./APPSPROD_ebsr12.env
[applmgr@ebsr12 appl]$
[applmgr@ebsr12 appl]$ cd $ADMIN_SCRIPTS_HOME
[applmgr@ebsr12 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
[applmgr@ebsr12 scripts]$
or:
[applmgr@ebsr12 scripts]$ cat $CONTEXT_FILE | grep s_frmConnectMode
<forms_connect oa_var="s_frmConnectMode">servlet</forms_connect>
②停止所有的APPS Tier Services:
[applmgr@ebsr12 scripts]$ ./adstpall.sh apps/oracle
[applmgr@ebsr12 scripts]$ ps -ef |grep applmgr
[applmgr@ebsr12 scripts]$
③运行下面更改命令:
[applmgr@ebsr12 scripts]$ $FND_TOP/bin/txkrun.pl -script=ChangeFormsMode \
-contextfile=/u01/oracle/PROD/inst/apps/PROD_ebsr12/appl/admin/PROD_ebsr12.xml \
-mode=socket -port=9095 -runautoconfig=No
注:-contextfile是context file的全路径,ls -l $CONTEXT_FILE可以获得
-port是Forms在Socket模式运行的端口号(默认9095),cat $CONTEXT_FILE | grep forms_port 可以获得
当Forms在Servlet模式运行时没有附加的端口号,依附http server port上。
④在apps tier运行autoconfig:
[applmgr@ebsr12 scripts]$ ./adautocfg.sh
⑤启动所有的application tier services:
[applmgr@ebsr12 scripts]$ ./adstrtal.sh apps/oracle
⑥检查更改后forms的模式:
[applmgr@ebsr12 scripts]$ cat $CONTEXT_FILE | grep s_frmConnectMode
<forms_connect oa_var="s_frmConnectMode">socket</forms_connect>
[applmgr@ebsr12 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 32610
adformsrvctl.sh: exiting with status 0
adformsrvctl.sh: check the logfile /u01/oracle/PROD/inst/apps/PROD_ebsr12/logs/ora/10.1.2/forms/socket.log for more information ...
二、如果要更改Forms Socket mode到Servlet mode,所有的步骤和上面的基本一样,只需更改如下:
$FND_TOP/bin/txkrun.pl -script=ChangeFormsMode \
-contextfile=/u01/oracle/PROD/inst/apps/PROD_ebsr12/appl/admin/PROD_ebsr12.xml \
-mode=servlet -runautoconfig=No
验证Forms的servlet模式应该反映的“Mode”指令显示在Sun Java控制台启动时:
forms- based applications, is set to http,native
Direct Forms Servlet Launch is:
web_protocol>://<web_host>.<web_domain>:<web_port>/forms/frmservlet
///========
手工管理Forms Server:
On UNIX:
$INST_TOP/admin/scripts/adformsrvctl.sh start | stop | status
Reference: Metalink ID : 384241.1
https://blog.csdn.net/cai_xingyun/article/details/40820171