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 '两文件执行对应的更改

具体克隆方式请看另外一篇文章

bash 复制代码
https://mp.weixin.qq.com/s/ya97LgYry-PvOPju6HReLQ?payreadticket=HIaFzv4YRt_JbyUd55HJoAhzBGgx6_dqYbroG78uBjffRv4Mjx_z4KA9Y0tMECdMDSuLvr0

模板信息

  • addbhom-src.xml
bash 复制代码
<?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 settings
  created 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
bash 复制代码
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 sysdba

shutdown abort
connect / as sysdba
startup nomount pfile=%s_db_oh%/dbs/init%s_dbSid%.ora;
CREATE CONTROLFILE REUSE SET DATABASE "%s_dbGlnam%"
LOGFILE
  GROUP 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%"
LOGFILE
  GROUP 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
相关推荐
NineData1 小时前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师3 小时前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石7 小时前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_1 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker