Oracle EBS 缺少adcfgclone.pl文件
前言
Oracle EBS 可以通过克隆实现多个环境,如:SIT、UAT、TEST。提供给不同的用户做不同方向的测试。即便多个环境在同一网段也不受任何影响。同时也可以通过克隆实现容灾环境,如果用户要求不是特别严格的情况下。该方式在HK电讯行业的头部公司也投入运营。下面就clone最重要的文件进行讲解–adcfgclone.pl
克隆
克隆又分预克隆和克隆。其中预克隆是在原环境中执行,克隆是在目标环境中执行。
- 预克隆
当原环境执行完预克隆后,在原环境下会生成两个主要文件‘addbhomsrc.xml’和‘adcrdbclone.sql ’,XML文件是新环境配置的蓝本,其中包含源库oracle_home、hostname、sid、instance_name、port、undo等信息。sql文件是新环境构建数据库的指令,其中新建数据库控制文件的模板、更新SID、临时表空间及参数文件的建立。还会产生模板文件 - 克隆
在目标环境执行克隆时,该系统必须在原环境执行过预克隆。如果没有执行过预克隆,则无法在目标环境执行克隆。 - adcfgclone.pl文件
当前文件用于目标环境执行实例信息更改时使用。EBS在首次执行clone时,原环境仅存在adpreclone.pl文件,并没有adcfgclone。没有该文件就无法执行克隆。克隆时会根据‘addbhomsrc.xml’和‘adcrdbclone.sql ’两文件执行对应的更改
具体克隆方式请看另外一篇文章
https://mp.weixin.qq.com/s/ya97LgYry-PvOPju6HReLQ?payreadticket=HIaFzv4YRt_JbyUd55HJoAhzBGgx6_dqYbroG78uBjffRv4Mjx_z4KA9Y0tMECdMDSuLvr0
模板信息
- addbhom-src.xml
<?xml version = '1.0'?>
<!-- $Header: AdCreateCtlFile.java 115.83 2007/11/12 06:51:37 rchaluva ship $ -->
<!--###############################################################This file is automatically generated. It will be read and overwritten.If you were instructed to edit this file, or if you are not able to use the settingscreated by AutoConfig, refer to Metalink document 165195.1 for assistance.###############################################################-->
<oa_context version="$Revision: 115.83 $"><dbhome1 oa_var="s_dbhome1">/data/prod/proddata</dbhome1><oa_instances><oa_instance><host_name>qadbtwo</host_name><virtual_hostname>null</virtual_hostname><database_sid>QADBTWO</database_sid><instance_name>QADBTWO</instance_name><instance_number>0</instance_number><instance_thread>0</instance_thread><undo_tablespace>APPS_UNDOTS1</undo_tablespace><database_port>1521</database_port><interconnect_name>qadbtwo</interconnect_name></oa_instance></oa_instances>
</oa_context>
- adcrdbclone.sql
REM +========================================================================+
REM | Copyright (c) 2002 Oracle Corporation Redwood Shores, California, USA
REM | All Rights Reserved
REM +========================================================================+
REM | FILENAME
REM | adcrdbclone.sql
REM |
REM | DESCRIPTION
REM | Script that recreates the control file of a Database
REM |
REM | HEADER
REM | $Header: AdCreateCtlFile.java 115.83 2007/11/12 06:51:37 rchaluva ship $
REM |
REM | USAGE
REM | sqlplus /nolog @adcrdbclone.sql <SPOOL FILE>
REM =========================================================================+define arg1=&1
spool %s_db_oh%/appsutil/log/%s_contextname%/adcrdb_%s_dbSid%.txt
connect / as sysdbashutdown abort
connect / as sysdba
startup nomount pfile=%s_db_oh%/dbs/init%s_dbSid%.ora;
CREATE CONTROLFILE REUSE SET DATABASE "%s_dbGlnam%"
LOGFILEGROUP 1 ('%s_dbhome2%/log01a.log', '%s_dbhome2%/log01b.log') SIZE 419430400,GROUP 2 ('%s_dbhome2%/log02a.log', '%s_dbhome2%/log02b.log') SIZE 419430400,GROUP 3 ('%s_dbhome2%/log03a.log', '%s_dbhome2%/log03b.log') SIZE 419430400
DATAFILE'%s_dbhome1%/system01.dbf','%s_dbhome1%/system02.dbf','%s_dbhome1%/system03.dbf','%s_dbhome1%/system04.dbf','%s_dbhome1%/system05.dbf',....................................................'%s_dbhome1%/system10.dbf','%s_dbhome1%/system06.dbf','%s_dbhome1%/system07.dbf','%s_dbhome1%/system09.dbf','%s_dbhome1%/system08.dbf','%s_dbhome1%/system11.dbf','%s_dbhome1%/system12.dbf','%s_dbhome1%/sysaux02.dbf'
RESETLOGS MAXDATAFILES %s_dbfiles%
MAXINSTANCES 8
MAXLOGFILES 32
MAXLOGHISTORY 18405
MAXLOGMEMBERS 5
/
alter database open resetlogs;
alter tablespace TEMP add tempfile '%s_dbhome1%/temp02.dbf' REUSE;
alter tablespace TEMP add tempfile '%s_dbhome1%/temp01.dbf' REUSE;
ALTER DATABASE RENAME GLOBAL_NAME TO "%s_global_database_name%";shutdown immediate
connect / as sysdba
startup mount pfile=%s_db_oh%/dbs/init%s_dbSid%.ora
execute dbms_backup_restore.zeroDbid(0);shutdown abort
connect / as sysdba
startup nomount pfile=%s_db_oh%/dbs/init%s_dbSid%.ora;
CREATE CONTROLFILE REUSE SET DATABASE "%s_dbGlnam%"
LOGFILEGROUP 1 ('%s_dbhome2%/log01a.log', '%s_dbhome2%/log01b.log') SIZE 419430400,GROUP 2 ('%s_dbhome2%/log02a.log', '%s_dbhome2%/log02b.log') SIZE 419430400,GROUP 3 ('%s_dbhome2%/log03a.log', '%s_dbhome2%/log03b.log') SIZE 419430400
DATAFILE'%s_dbhome1%/system01.dbf','%s_dbhome1%/system02.dbf','%s_dbhome1%/system03.dbf','%s_dbhome1%/system04.dbf',....................................................'%s_dbhome1%/system05.dbf','%s_dbhome1%/system10.dbf','%s_dbhome1%/system06.dbf','%s_dbhome1%/system07.dbf','%s_dbhome1%/system09.dbf',
RESETLOGS MAXDATAFILES %s_dbfiles%
MAXINSTANCES 8
MAXLOGFILES 32
MAXLOGHISTORY 18405
MAXLOGMEMBERS 5
/
alter database open resetlogs;
alter tablespace TEMP add tempfile '%s_dbhome1%/temp02.dbf' REUSE;
alter tablespace TEMP add tempfile '%s_dbhome1%/temp01.dbf' REUSE;
ALTER DATABASE RENAME GLOBAL_NAME TO "%s_global_database_name%";@%s_db_oh%/appsutil/install/%s_contextname%/adupdlib.sql &arg1
create spfile from pfile='%s_db_oh%/dbs/init%s_dbSid%.ora';
spool off;
exit