修改ebs form socket模式

来源:互联网 发布:广州文豆php培训学校 编辑:程序博客网 时间:2024/05/17 03:43

最近有个项目需要用loadrunner做压力测试,让我帮忙修改form socket模式。在此记录一下大致步骤

修改socket模式,大多觉得很容易,一个脚本的事情。其实就是这样,但是为了loadrunner压力测试,修改整个系统为socket模式是不是有点过了!下面介绍一下常用的脚本修改和手动修改

1、使用脚本txkrun.pl修改socket模式

参照Using Forms Socket Mode with Oracle E-BusinessSuite Release 12 (文档 ID 384241.1)

这是种常用方法,主要分为如下几个步骤:

1)确认当前系统运行模式

[appl02@vs011 scripts]$ $ADMIN_SCRIPTS_HOME/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

当前模式为servlet

2)关闭应用系统,确定应用进程全部退出

[appl02@vs011 scripts]$ $ADMIN_SCRIPTS_HOME/adstpall.sh apps/passwd

3)执行如下步骤修改form socket模式

[appl02@vs011 scripts]$ $FND_TOP/bin/txkrun.pl–script=ChangeFormsMode –contextfile=$CONTEXT_FILE –mode=socket –port=9095 –runautoconfig=No

注:-contextfile是context file的路径,-port是Forms在Socket模式运行的端口号(默认9095),Forms在Servlet模式运行时没有附加的端口号,依附http server port上,–runautoconfig表示是否运行autoconfig,一般建议不在此处运行,在下一步中执行

4)运行autoconfig

[appl02@vs011 scripts]$ $ADMIN_SCRIPTS_HOME/adautocfg.sh

5)启动应用,并确认是否为socket模式

[appl02@vs011 scripts]$ $ADMIN_SCRIPTS_HOME/adstrtal.sh apps/passwd

[appl02@vs011 scripts]$ $ADMIN_SCRIPTS_HOME/adformsrvctl.sh status

 

恢复servlet和上述步骤一样,只需修改第3步中脚本为如下:

$FND_TOP/bin/txkrun.pl–script=ChangeFormsMode –contextfile=$CONTEXT_FILE –mode=servlet  –runautoconfig=No

 

2、手动修改socket,不运行autoconfig

参照How To Start R12 In Forms Socket Mode ForTroubleshooting (文档 ID 560947.1)

note中介绍了两种方法,其中第二种没有测试,待后面有时间测试后再补上

手动修改socket的目的在于,可以不停机,便于恢复,不需要执行autoconfig避免错误的修改系统配置

步骤很easy,大致如下:

1)修改adformsrvctl.sh

备份adformsrvctl.sh为testadformsrvctl.sh

修改testadformsrvctl.sh

# Check whether Socket Mode is enabled or not.
#

if [  "servlet" = "servlet" ]
then
    printf "Forms Connect Mode is set to Servlet. Please Change Forms Mode to socket and then run this script.\n"
    printf "\n$program: exiting with status 1\n\n"
    exit 1;
fi

修改if[  "servlet" ="servlet" ]为if [ "servlet" = "socket" ]

2)运行testadformsrvctl.sh启动form socket

[appl02@vs011 scripts]$ testadformsrvctl.sh start

[appl02@vs011 scripts]$ lsof | grep 9000

检查端口是否启动

3)修改某用户的profile

修改用来做压力测试的用户profile:ICX:Forms Launcher为http://vs011-test.com:8000/OA_HTML/frmservlet?serverURL=&serverPort=9000&connectMode=socket

使用上述URL地址,用上述用户登录

 

恢复servlet模式,此种方式恢复只需将修改的地方,改回原来的配置即可

登录时可能会遇到APP-FND-01542错误,参考http://blog.csdn.net/li7080301/article/details/23260087

 3、查看Forms Server的运行模式

参考How To Check If The Forms Server Is Configured In Servlet Or Socket Mode On 11i Or R12 (文档 ID 417216.1)

查看context file

context variablevalue for Servletvalue for Sockets_forms_servlet_serverurl11i: /forms/formservlet
r12: /forms/lservlet(no value, blank)s_forms_servlet_comment(no value, blank)#s_frmConnectModer12: servletr12: socket

 

For instance, if one has the Forms Listener Servlet configured in an 11.5.10.2 instance, then one should have these lines in your context file:

<server_url oa_var="s_forms_servlet_serverurl">/forms/formservlet</server_url>
<servlet_comment oa_var="s_forms_servlet_comment"/>

One can also check in OAM:
Go to Site Map -> AutoConfig -> Configuration Wizards -> 'Forms Listener Servlet' which can be Enable or Disable.

OR

Check the Java Console panel:

1. Enable Java console panel:

Control Panel -> Java -> Advanced tab -> Java console -> Enable Java Console


2. Launch Forms

There will be statement messages in Java console lik:

'connectMode=HTTP, native', then this means you are on Forms Listener Servlet Mode.

'connectMode=Socket', then this means you are on Forms Socket Mode.

 

0 0
原创粉丝点击