实验环境
APP:EBS 12.1.1
DB:Oracle DB 11.1(此文档同样适用于DB 11.2)
OS:AIX 5.3 (此文档同样适用于Linux)
一、在源系统执行预克隆脚本
首先,先停应用层,再停数据库层,应用层启停命令:
启动:$ADMIN_SCRIPTS_HOME/adstrtal.sh apps/xxx
停止:$ADMIN_SCRIPTS_HOME/adstpall.sh apps/xxx
DB 层:
cd $ORACLE_HOME/appsutil/scripts/<context> perl adpreclone.pl dbTier
APP层:
cd $INST_TOP/admin/scripts perl adpreclone.pl appsTier
二、拷贝源应用层和数据库层文件到目标端
注:源端和目标端的路径最好一致(后面有针对不同路径的解决办法)
APP层:
将apps整个目录 tar后 copy到目标机器( 主要文件夹包含APPL_TOP,COMMON_TOP,ORACLE_HOME,IAS_ORACLE_HOME;只有INST_TOP 文件夹不需要打包)
另,应用层的环境变量暂时不需要添加,等克隆完成后添加并source(后文有说明)
DB层:
1. Tar 原数据库 oracle_home到新机器(数据库包括所有11g版本都适用)
2. 创建用户如 oratest
3. 设置环境变量 ORACLE_BASE,ORACLE_HOME,PER5LIB, PATH
ORACLE_BASE=/proddb/db/tech_st;export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/11.1.0;export ORACLE_HOME
ORACLE_SID=EBSTEST;export ORACLE_SID
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/perl/bin:$ORACLE_HOME/OPatch:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/dt/lib:/usr/openwin/lib:$ORACLE_HOME/ctx/lib; export LD_LIBRARY_PATH
PERL5LIB=$ORACLE_HOME/perl/lib/5.10.0:$ORACLE_HOME/perl/lib/site_perl/5.10.0; export PERL5LIB
ORA_NLS10=$ORACLE_HOME/nls/data/9idata;export ORA_NLS10
#. /proddb/db/tech_st/11.1.0/prod_ebsdb01.env ##这一步先注释掉或者最后添加,等克隆好后再取消注释并source 环境变量
4. 修改$ORACLE_HOME/oraInst.loc 将Inventory指向新目录
5. 运行数据库HOME Clone(用一个ORALCE_HOME可不做)
cd $ORACLE_HOME/clone/bin
$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/clone/bin/clone.pl ORACLE_BASE=$ORACLE_BASE ORACLE_HOME=$ORACLE_HOME OSDBA_GROUP=dba OSOPER_GROUP=dba ORACLE_HOME_NAME=${ORACLE_SID}_DB_HOME
orapwd file=$ORACLE_HOME/dbs/orapwEBSTEST password=oracle force=y ignorecase=n
修改TNS_ADMIN下 listener.ora, tnsnames.ora, sqlnet.ora中的目录
修改$ORACLE_HOME/dbs/init<SID>.ora, init<SID>_noaq.ora中的目录
6. 源数据库rman备份数据库,archive log和control file做rman全备份( 3个都要备份; 也可以选择停机冷备)
7. RMAN目标恢复数据库
Copy 备份文件到测试机
Oracle DB 11.2 新功能 不需要连接target database (这里只是展示一下11.2的新功能,此文档DB版本默认基于11.1)
特殊ASM对ASM 架构中也有2个文件创建时指定了数据文件名,需强制写set newname
SQL>startup nomount
RMAN>connect auxiliary /
RMAN>run { set newname for database to '+RECO';
set newname for datafile 15 to '+RECO/ebstest/datafile/cuxd01.dbf';
set newname for datafile 16 to '+RECO/ebstest/datafile/cuxx01.dbf';
set until time "to_date('20201012 10:00','YYYYMMDD HH24:MI')";
duplicate database to EBSTEST backup location '+RECO/prod/backupset'; }
三、配置目标数据库层autoconfig
1) 设置环境变量
export ORACLE_SID=EBSTEST cd $ORACLE_HOME/appsutil export TNS_ADMIN=$ORACLE_HOME/network/admin/$ORACLE_SID cd $ORACLE_HOME/appsutil/bin
2)生成新的XML文件(可选)
perl adbldxml.pl ##根据提示输入相关信息,生成的XML文件可以自定义路径、端口和应用简称等。但如果源端和目标端路径一致,无需执行此脚本,直接调用源端的xml
3) 运行adconfig
$ORACLE_HOME/appsutil/bin/adconfig.sh contextfile=$ORACLE_HOME/appsutil/${ORACLE_SID}_`hostname`.xml ##这个xml就是上一步生成的
4) 启动listener
Lsnrctl start EBSTEST
5) 清理FND_NODES
connect apps/apps ##使用apps用户登录 EXEC FND_CONC_CLONE.SETUP_CLEAN; ##建议多运行几次 Commit;
6) 重新运行adconfig
cd $ORACLE_HOME/appsutil/scripts/${ORACLE_SID}_`hostname` ./adautocfg.sh contextfile=$ORACLE_HOME/appsutil/${ORACLE_SID}_`hostname`.xml =================================================================================================== 注:如果DB源端和目标端路径不一致则(该步骤是标准克隆步骤,并且无需生成XML文件,无需执行adconfig.sh) cd $ORACLE_HOME/appsutil/clone/bin perl adcfgclone.pl dbTier --根据脚本提示输入新路径及其他信息即可,如: $ perl adcfgclone.pl dbTier Copyright (c) 2002 Oracle Corporation Redwood Shores, California, USA Oracle Applications Rapid Clone Version 12.0.0 adcfgclone Version 120.31.12010000.1 Enter the APPS password : Running: /proddb/db/tech_st/11.1.0/appsutil/clone/bin/../jre/bin/java -Xmx600M -cp /prodd b/db/tech_st/11.1.0/appsutil/clone/jlib/java:/proddb/db/tech_st/11.1.0/appsutil/ clone/jlib/xmlparserv2.jar:/proddb/db/tech_st/11.1.0/appsutil/clone/jlib/ojdbc5. jar oracle.apps.ad.context.CloneContext -e /proddb/db/tech_st/11.1.0/appsutil/cl one/bin/../context/db/CTXORIG.xml -validate -pairsfile /tmp/adpairsfile_249862.l st -stage /proddb/db/tech_st/11.1.0/appsutil/clone 2> /tmp/adcfgclone_249862.er r; echo $? > /tmp/adcfgclone_249862.res Log file located at /proddb/db/tech_st/11.1.0/appsutil/clone/bin/CloneContext_08 26131233.log Provide the values required for creation of the new Database Context file. Target System Hostname (virtual or normal) [ebsapp01] : Target Instance is RAC (y/n) [n] : n Target System Database SID : prod Target System Base Directory : /proddb Target System utl_file_dir Directory List : /usr/tmp/prod Number of DATA_TOP's on the Target System [1] : Target System DATA_TOP Directory 1 [/proddb/db/apps_st/data] : Target System RDBMS ORACLE_HOME Directory [/proddb/db/tech_st/11.1.0] : Do you want to preserve the Display [ebsdb01:0.0] (y/n) ? : n Target System Display [ebsapp01:0.0] : ebsapp01:1 --选“1” Do you want the the target system to have the same port values as the source sys tem (y/n) [y] ? : y Complete port information available at /proddb/db/tech_st/11.1.0/appsutil/clone/ bin/out/prod_ebsapp01/portpool.lst Creating the new Database Context file from : /proddb/db/tech_st/11.1.0/appsutil/template/adxdbctx.tmp The new database context file has been created : /proddb/db/tech_st/11.1.0/appsutil/prod_ebsapp01.xml Log file located at /proddb/db/tech_st/11.1.0/appsutil/clone/bin/CloneContext_08 26131233.log Check Clone Context logfile /proddb/db/tech_st/11.1.0/appsutil/clone/bin/CloneCo ntext_0826131233.log for details. Running Rapid Clone with command: perl /proddb/db/tech_st/11.1.0/appsutil/clone/bin/adclone.pl java=/proddb/db/tec h_st/11.1.0/appsutil/clone/bin/../jre mode=apply stage=/proddb/db/tech_st/11.1.0 /appsutil/clone component=dbTier method=CUSTOM dbctxtg=/proddb/db/tech_st/11.1.0 /appsutil/prod_ebsapp01.xml showProgress contextValidated=true Running: perl /proddb/db/tech_st/11.1.0/appsutil/clone/bin/adclone.pl java=/proddb/db/tec h_st/11.1.0/appsutil/clone/bin/../jre mode=apply stage=/proddb/db/tech_st/11.1.0 /appsutil/clone component=dbTier method=CUSTOM dbctxtg=/proddb/db/tech_st/11.1.0 /appsutil/prod_ebsapp01.xml showProgress contextValidated=true APPS Password : Setting LIBPATH to /proddb/db/tech_st/11.1.0/appsutil/clone/oui/lib/aix Beginning database tier Apply - Thu Aug 26 13:14:05 2010 /proddb/db/tech_st/11.1.0/appsutil/clone/bin/../jre/bin/java -Xmx600M -DCONTEXT_ VALIDATED=true -Doracle.installer.oui_loc=/proddb/db/tech_st/11.1.0/oui -classp ath /proddb/db/tech_st/11.1.0/appsutil/clone/jlib/xmlparserv2.jar:/proddb/db/tec h_st/11.1.0/appsutil/clone/jlib/ojdbc6.jar:/proddb/db/tech_st/11.1.0/appsutil/cl one/jlib/java:/proddb/db/tech_st/11.1.0/appsutil/clone/jlib/oui/OraInstaller.jar :/proddb/db/tech_st/11.1.0/appsutil/clone/jlib/oui/ewt3.jar:/proddb/db/tech_st/1 1.1.0/appsutil/clone/jlib/oui/share.jar:/proddb/db/tech_st/11.1.0/appsutil/clone /jlib/oui/srvm.jar:/proddb/db/tech_st/11.1.0/appsutil/clone/jlib/ojmisc.jar or acle.apps.ad.clone.ApplyDBTier -e /proddb/db/tech_st/11.1.0/appsutil/prod_ebsapp 01.xml -stage /proddb/db/tech_st/11.1.0/appsutil/clone -showProgress APPS Password : Log file located at /proddb/db/tech_st/11.1.0/appsutil/log/prod_ ebsapp01/ApplyDBTier_08261314.log \ 15% completed Completed Apply... Thu Aug 26 13:22:02 2010 Starting database listener for prod: Running: /proddb/db/tech_st/11.1.0/appsutil/scripts/prod_ebsapp01/addlnctl.sh start prod You are running addlnctl.sh version 120.1.12010000.2 Logfile: /proddb/db/tech_st/11.1.0/appsutil/log/prod_ebsapp01/addlnctl.txt Starting listener process prod ... Listener prod has already been started. addlnctl.sh: exiting with status 0
重要:
最后需要把“. /proddb/db/tect_st/11.1.0/prod_ebsdb01.env”这句话(文件路径默认在ORACLE_HOME下)添加到环境变量中并重新应用环境变量
7) 修改system口令(可选)
sqlplus / as sysdba alter user system identified by manager;
四、配置目标应用层autoconfig
cd $ADMIN_SCRIPTS_HOME ./adautocfg.sh =================================================================================================== 注:如果APP源端和目标端路径不一致则(该步骤是标准克隆步骤,并且无需生成XML文件,无需执行adconfig.sh,并且自动启动应用层) cd $COMMON_TOP/clone/bin perl adcfgclone.pl appsTier --根据脚本提示输入新路径及其他信息即可,如: $ perl adcfgclone.pl appsTier Copyright (c) 2002 Oracle Corporation Redwood Shores, California, USA Oracle Applications Rapid Clone Version 12.0.0 adcfgclone Version 120.31.12010000.1 Enter the APPS password : Running: /prodapp/apps/apps_st/comn/clone/bin/../jre/bin/java -Xmx600M -cp /prodapp/apps/ apps_st/comn/clone/jlib/java:/prodapp/apps/apps_st/comn/clone/jlib/xmlparserv2.j ar:/prodapp/apps/apps_st/comn/clone/jlib/ojdbc14.jar oracle.apps.ad.context.Clon eContext -e /prodapp/apps/apps_st/comn/clone/bin/../context/apps/CTXORIG.xml -va lidate -pairsfile /tmp/adpairsfile_360666.lst -stage /prodapp/apps/apps_st/comn/ clone 2> /tmp/adcfgclone_360666.err; echo $? > /tmp/adcfgclone_360666.res Log file located at /prodapp/apps/apps_st/comn/clone/bin/CloneContext_0826132503 .log Provide the values required for creation of the new APPL_TOP Context file. Target System Hostname (virtual or normal) [ebsapp01] : Target System Database SID : prod Target System Database Server Node [ebsapp01] : Target System Base Directory : /prodapp Target System Tools ORACLE_HOME Directory [/prodapp/apps/tech_st/10.1.2] : Target System Web ORACLE_HOME Directory [/prodapp/apps/tech_st/10.1.3] : Target System APPL_TOP Directory [/prodapp/apps/apps_st/appl] : Target System COMMON_TOP Directory [/prodapp/apps/apps_st/comn] : Target System Instance Home Directory [/prodapp/inst] : Target System Root Service [enabled] : Target System Web Entry Point Services [enabled] : Target System Web Application Services [enabled] : Target System Batch Processing Services [enabled] : Target System Other Services [enabled] : Do you want to preserve the Display [ebsapp01:1] (y/n) ? : y ##默认是“1”就行 Target System Port Pool [0-99] : 0 --此处如果端口冲突,选择其他数字即可 Checking the port pool 0 done: Port Pool 0 is free Report file located at /prodapp/inst/apps/prod_ebsapp01/admin/out/portpool.lst Complete port information available at /prodapp/inst/apps/prod_ebsapp01/admin/ou t/portpool.lst UTL_FILE_DIR on database tier consists of the following directories. 1. /usr/tmp 2. /usr/tmp/prod 3. /proddb/db/tech_st/11.1.0/appsutil/outbound/prod_ebsapp01 4. /usr/tmp Choose a value which will be set as APPLPTMP value on the target node [1] : 1 Creating the new APPL_TOP Context file from : /prodapp/apps/apps_st/appl/ad/12.0.0/admin/template/adxmlctx.tmp The new APPL_TOP context file has been created : /prodapp/inst/apps/prod_ebsapp01/appl/admin/prod_ebsapp01.xml Log file located at /prodapp/apps/apps_st/comn/clone/bin/CloneContext_0826132503 .log Check Clone Context logfile /prodapp/apps/apps_st/comn/clone/bin/CloneContext_08 26132503.log for details. Running Rapid Clone with command: perl /prodapp/apps/apps_st/comn/clone/bin/adclone.pl java=/prodapp/apps/apps_st/ comn/clone/bin/../jre mode=apply stage=/prodapp/apps/apps_st/comn/clone componen t=appsTier method=CUSTOM appctxtg=/prodapp/inst/apps/prod_ebsapp01/appl/admin/pr od_ebsapp01.xml showProgress contextValidated=true Running: perl /prodapp/apps/apps_st/comn/clone/bin/adclone.pl java=/prodapp/apps/apps_st/ comn/clone/bin/../jre mode=apply stage=/prodapp/apps/apps_st/comn/clone componen t=appsTier method=CUSTOM appctxtg=/prodapp/inst/apps/prod_ebsapp01/appl/admin/pr od_ebsapp01.xml showProgress contextValidated=true APPS Password : Setting LIBPATH to /prodapp/apps/apps_st/comn/clone/oui/lib/aix Beginning application tier Apply - Thu Aug 26 13:26:19 2010 /prodapp/apps/apps_st/comn/clone/bin/../jre/bin/java -Xmx600M -DCONTEXT_VALIDATE D=true -Doracle.installer.oui_loc=/oui -classpath /prodapp/apps/apps_st/comn/cl one/jlib/xmlparserv2.jar:/prodapp/apps/apps_st/comn/clone/jlib/ojdbc14.jar:/prod app/apps/apps_st/comn/clone/jlib/java:/prodapp/apps/apps_st/comn/clone/jlib/oui/ OraInstaller.jar:/prodapp/apps/apps_st/comn/clone/jlib/oui/ewt3.jar:/prodapp/app s/apps_st/comn/clone/jlib/oui/share.jar:/prodapp/apps/apps_st/comn/clone/jlib/ou i/srvm.jar:/prodapp/apps/apps_st/comn/clone/jlib/ojmisc.jar oracle.apps.ad.clon e.ApplyAppsTier -e /prodapp/inst/apps/prod_ebsapp01/appl/admin/prod_ebsapp01.xml -stage /prodapp/apps/apps_st/comn/clone -showProgress APPS Password : Log file located at /prodapp/inst/apps/prod_ebsapp01/admin/log/A pplyAppsTier_08261326.log \ 73% completed Completed Apply... Thu Aug 26 13:35:39 2010 Starting application Services for prod: ##自动启动应用 Running: /prodapp/inst/apps/prod_ebsapp01/admin/scripts/adstrtal.sh -nopromptmsg You are running adstrtal.sh version 120.15 The logfile for this session is located at /prodapp/inst/apps/prod_ebsapp01/logs /appl/admin/log/adstrtal.log Executing service control script: /prodapp/inst/apps/prod_ebsapp01/admin/scripts/adopmnctl.sh start script returned: **************************************************** You are running adopmnctl.sh version 120.6 Starting Oracle Process Manager (OPMN) ... adopmnctl.sh: exiting with status 0 adopmnctl.sh: check the logfile /prodapp/inst/apps/prod_ebsapp01/logs/appl/admin /log/adopmnctl.txt for more information ... .end std out. .end err out. **************************************************** Executing service control script: /prodapp/inst/apps/prod_ebsapp01/admin/scripts/adalnctl.sh start script returned: **************************************************** adalnctl.sh version 120.3 Checking for FNDFS executable. Starting listener process APPS_prod. adalnctl.sh: exiting with status 0 adalnctl.sh: check the logfile /prodapp/inst/apps/prod_ebsapp01/logs/appl/admin/ log/adalnctl.txt for more information ... .end std out. .end err out. **************************************************** Executing service control script: /prodapp/inst/apps/prod_ebsapp01/admin/scripts/adapcctl.sh start script returned: **************************************************** You are running adapcctl.sh version 120.7.12010000.2 Starting OPMN managed Oracle HTTP Server (OHS) instance ... adapcctl.sh: exiting with status 0 adapcctl.sh: check the logfile /prodapp/inst/apps/prod_ebsapp01/logs/appl/admin/ log/adapcctl.txt for more information ... .end std out. .end err out. **************************************************** Executing service control script: /prodapp/inst/apps/prod_ebsapp01/admin/scripts/adoacorectl.sh start script returned: **************************************************** You are running adoacorectl.sh version 120.13 Starting OPMN managed OACORE OC4J instance ... adoacorectl.sh: exiting with status 0 adoacorectl.sh: check the logfile /prodapp/inst/apps/prod_ebsapp01/logs/appl/adm in/log/adoacorectl.txt for more information ... .end std out. .end err out. **************************************************** Executing service control script: /prodapp/inst/apps/prod_ebsapp01/admin/scripts/adcmctl.sh start script returned: **************************************************** You are running adcmctl.sh version 120.17.12010000.3 Starting concurrent manager for prod ... Starting prod_0826@prod Internal Concurrent Manager Default printer is noprint adcmctl.sh: exiting with status 0 adcmctl.sh: check the logfile /prodapp/inst/apps/prod_ebsapp01/logs/appl/admin/l og/adcmctl.txt for more information ... .end std out. .end err out. **************************************************** Executing service control script: /prodapp/inst/apps/prod_ebsapp01/admin/scripts/jtffmctl.sh start script returned: **************************************************** You are running jtffmctl.sh version 120.3 Validating Fulfillment patch level via /prodapp/apps/apps_st/comn/java/classes Fulfillment patch level validated. Starting Fulfillment Server for prod on port 9300 ... jtffmctl.sh: exiting with status 0 .end std out. .end err out. **************************************************** Executing service control script: /prodapp/inst/apps/prod_ebsapp01/admin/scripts/adformsrvctl.sh start script returned: **************************************************** You are running adformsrvctl.sh version 120.15.12010000.2 Starting FORMS Server in Socket Mode... adformsrvctl.sh: exiting with status 0 adformsrvctl.sh: check the logfile /prodapp/inst/apps/prod_ebsapp01/logs/ora/10. 1.2/forms/socket.log for more information ... .end std out. .end err out. **************************************************** All enabled services for this node are started. adstrtal.sh: Exiting with status 0 ##“status=0”就代表所有服务启动成功 adstrtal.sh: check the logfile /prodapp/inst/apps/prod_ebsapp01/logs/appl/admin/ log/adstrtal.log for more information ...
重要:
最后需要把“. /prodapp/app/apps_st/apps/APPSprod_ebsapp01.env”这句话(文件路径默认在APPL_TOP下)添加到环境变量中并重新应用环境变量
Table Name |
Column Name |
Column Value Details |
WF_NOTIFICATION_ATTRIBUTES |
TEXT_VALUE |
Value starts with http://<old web host>: Update to new web host. |
WF_ITEM_ATTRIBUTE_VALUES |
TEXT_VALUE |
Value starts with "http://<old web host>: Update to new web host. |
WF_SYSTEMS |
GUID |
Using the Workflow Administrator Web Applications responsibility, create a new system defined as the new global database name. |
WF_SYSTEMS |
NAME |
Replace value with the database global name. |
WF_AGENTS |
ADDRESS |
Update database link with the new database global name. |
FND_FORM_FUNCTIONS |
WEB_HOST_NAME |
Update with the new web host name. |
FND_FORM_FUNCTIONS |
WEB_AGENT_NAME |
Update to point at the new PL/SQL listener name. |
FND_CONCURRENT_REQUESTS |
LOGFILE_NAME |
Update with the correct path to the logfile directory. |
FND_CONCURRENT_REQUESTS |
OUTFILE_NAME |
Update with the new directory path on the target system. |
3.检查APPLCSF环境变量是否正确
4.更改表ICX_PARAMETERS中的SESSION_COOKIE_DOMAIN=<new domain name>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69992972/viewspace-2749438/,如需转载,请注明出处,否则将追究法律责任。