术语
克隆是对已有的Oracle应用系统创建一份拷贝的过程。克隆一个Oracle应用系统有几种不同的情况,包括:
l 标准克隆 – 复制一个已有的Oracle应用系统生成一份拷贝,例如对生产系统进行复制以便测试一些更改。
l 系统扩增 – 对一个Oracle应用系统增加新的机器以提高系统工作负载能力。
l 系统转换 – 变更系统数据或文件系统,包括平台移植,数据扰频和高可用性架构的提供。
l 补丁安装和升级 – 安装新版本的应用程序组件,提供一种机制以保证环境运转,减少停机时间。
Oracle 应用系统克隆的一个重要原则是系统被克隆而不是拓扑克隆。补丁级别和数据完全的复制比拓扑的完全复制更为重要一些,因为作为一个克隆系统必须能对最终用户提供与原系统相同的输出。既使一个克隆系统不需要有和原系统一样的拓扑,用于原系统所有拓扑组件也必须可用于克隆系统。
该文档中使用的命名如下:
术语或使用 |
意思或作用 |
原系统 |
被克隆的Oracle应用系统 |
目标系统 |
通过克隆原系统而生成的Oracle应用系统 |
APPLMGR |
应用层文件系统用户(APPL_TOP和应用层技术堆栈) |
ORACLE |
数据库层数据文件系统用户(RDBMS ORACLE_HOME和数据文件) |
CONTEXT_NAME |
CONTEXT_NAME变量表示应用系统上下文文件的名字。默认情况下,CONTEXT_NAME 是[数据库SID名]_[主机名] |
蓝框内文字 |
代表命令行文字。按文档中显示的命令行文字键入命令。 |
[] |
包括在中括号内的文字代表一个变量。用一值为替代变量文字。不要键入中括号。 |
章节1:预先需要的工作
在克隆前,安装所有需要的补丁并且运行AutoConfig以准备原系统。
1. 确认目标系统的操作系统是否符合要求
在克隆到一个新的服务器之前,确保目标系统的操作系统符合Oracle 应用R12所需的所有要求。这些要求在Oracle应用系统发行文档(文档号码405293.1)和针对每个平台的Oracle应用系统安装和升级文档中有阐述。对于最新的安装指南,请参考我的Oracle支持知识文档405565.1。
注意:在微软Windows操作平台上,针对域用户账号使用快速克隆还未被认证。 |
2. 确认原系统和目标系统软件组件和版本
除了Oracle应用系统软件要求(参照Oracle应用系统安装指南:使用快速安装),以下的软件组件及相应版本必须己经安装在克隆原节点和目标节点并且是可用的。‘位置’列表示软件组件必须存在的节点。
表1:软件要求
软件组件 |
最小版本 |
需要的位置 |
备注 |
Zip |
2.3或更高 |
所有原系统节点 |
从InfoZip下载。Zip必须包括在你的$PATH变量中。如果用大于2Gb,你应该使用InfoZip ZIP 3.0或更高版本。 |
Unzip |
5.52或更高 |
所有原系统节点 |
从InfoZip下载。Unzip必须包括在你的$PATH变量中。如果用大于2Gb,你应该使用InfoZip UNZIP 5.52或更高版本。 |
操作系统实用程序 |
无 |
所有目标系统节点 |
在运行adcfgclone.pl时需要的操作系统实用工具必须包括在你的$PATH变量中。例如:UNIX上的make,ld,和ar。参照Oracle应用系统安装指南:使用快速安装(见脚注1) |
Perl |
5.x |
所有目标系统节点 |
使用OracleAS 10.1.3和数据库10g随带的Perl,或从Perl.com下载。Perl必须包括在你的$PATH变量中,在克隆前$PERL5LIB必须被正确地设置。 |
脚注1: R12.1.1及以前的版本可以在Oracle 企业管理套件在线文档库中找到。
3. 安装最新的AD补丁
参考我的Oracle支持来获得最新的AD补丁。在该文档创立之时,已有以下补丁:
对于12.0版本:
安装表2.a中列出的补丁。
表2.a:版本12.0 AD补丁
补丁 |
描述 |
6510214 |
R12.AD.A.DELTA.4 |
对于12.1版本:
安装表2.b中列出的补丁。
表2.b:版本12.1 AD补丁
补丁 |
描述 |
9239089 |
R12.AD.B.DELTA.3 |
4. 安装最新的AutoConfig模板补丁
通过在所有的应用层服务器节点安装 TXK AutoConfig 模板补丁,用最新的AutoConfig 模板文件来更新Oracle应用程序文件系统。关于最新的TXK AutoConfig 模板补丁的细节,请参照我的Oracle支持知识文档案387859.1。
5. 安装最新的快速克隆补丁
在所有的应用节点上安装以下补丁,来更新Oracle应用文件系统中的快速克隆文件。
l 对于12.0版本:
安装表3.a中列出的补丁。
表3.a:版本12.0快速克隆补丁
补丁 |
描述 |
5484000 |
Oracle 企业管理套件12.0.2更新包(RUP2)或更高版本 |
9171651:R12.OAM.A |
12.0 RAPIDCLONE CONSOLIDAED FIXS JUL/2010 (12.0快速克隆综合修复 2010七月) |
9833058:R12.OAM.A |
在线克隆备份与恢复管理器(RMAN)失败报错ORA-00201 |
l 对于12.1版本:
安装表3.b中列出的补丁。
表3.b:版本12.1快速克隆补丁
补丁 |
描述 |
9171651:R12.OAM.B |
12.1 RAPIDCLONE CONSOLIDAED FIXS JUL/2010 (12.1快速克隆综合修复 2010七月) |
9833058:R12.OAM.B |
在线克隆备份与恢复管理器(RMAN)失败报错ORA-00201 |
在LOZ上无法将ORACLE_HOME注册到中心信息库中 |
|
针对S_DB_LISTENER BUG 12362010的一次性修复 |
l 其它补丁(所有版本):
安装表3.c中列出的补丁。
表3.c:其它补丁
补丁 |
描述 |
8246709 |
对于微软Windows如果使用OracleAS 10.1.3.4需要安装此补丁。在每个克隆操作之前必须在OracleAS 10.1.3.4 ORACLE_HOME上重新安装该补丁。 |
警示:不使用最新的代码可能危及克隆的成功。如果新的快速克隆或AutoConfig更新被安装在系统上,必须再次执行下面的步骤6,7和8以便在数据库节点上安装新的文件。 |
6. 在应用层运行Autoconfig
遵照我的Oracle支持知识文档387859.1中章节‘在应用层运行Autoconfig’里的步骤在所有应用层节点运行Autoconfig。
7. 在数据库层节点上同步appsutil
遵照我的Oracle支持知识文档387859.1中章节‘复制Autoconfig到数据库层’ 里的步骤通过admkappsutil.pl实用工具复制Autoconfig和快速克隆文件到每一个数据库节点上。
8. 在数据库层运行Autoconfig
遵照我的Oracle支持知识文档387859.1中章节‘在数据库层运行Autoconfig’里的步骤在数据库层节点上运行Autoconfig。
9. 维护快照信息
以用户APPLMGR登录每个应用层节点,然后在AD管理中运行“维护快照信息”。更新快照,请选择以下选项,“更新当前视图快照”以及“更新整个APPL_TOP”。
注意:如果一个针对APPL_TOP的快照从来没有被创建,在克隆前你需要创建一个新的。关于更新信息,请参照Oracle应用系统维护实用程序。对于R12.1及以前的版本可以在Oracle 企业管理套件在线文档库中找到。 |
章节2:克隆工作
使用快速克隆在原系统上为克隆创建模板文件。当原系统被复制到目标系统后,快速克隆更新这些模板以包含新目标系统的配置设置。
注意:快速克隆从不改变原系统的配置。 |
克隆过程包括三个阶段,每个阶段是由几个逻辑部分和相应的步骤组成。
1. 准备原系统
执行以下命令为克隆准备原系统。
a) 为克隆准备原系统数据库层
以用户ORACLE登录原系统,然后运行以下命令:
$ cd [RDBMS ORACLE_HOME]/appsutil/scripts/[CONTEXT_NAME] $ perl adpreclone.pl dbTier |
b) 为克隆准备原系统应用层
以用户APPLMGR登录原系统,然后在每个包含APPL_TOP的节点上运行以下命令:
$ cd [INST_TOP]/admin/scripts/ $ perl adpreclone.pl appsTier |
注意:如果在系统上进行了新的快速克隆或Autoconfig的更新,必须在数据库层和应用层再次执行adpreclone.pl以便在克隆目录结构内应用新的文件,这些克隆目录结构将在克隆配置阶段过程中被使用。 |
2. 复制原系统到目标系统
按顺序执行以下步骤将原应用系统复制到目标应用系统。确保复制到目标系统的应用层文件的所有者是目标系统的用户APPLMGR,复制到目标系统的数据层文件的所有者是目标系统的用户ORACLE。
注意:在以下复制任务中,UNIX/Linux用户应该确保符号链接(软链接)在复制中得以保留。在绝大多数的UNIX平台上,这可以用命令cp –RH来实现。在你的平台上参照 UNIX man来查看cp命令可用的参数。 例如:cd /target_dest_dir/db cp –RH /source_dir/db/* 另外,可以用 tar命令压缩目录到一个临时阶段区域。UNIX和LINUX用户应该确保压缩时软链接保留。 大绝大多数UNIX平台上,保留软链接是tar命令的默认选项。查看UNIX的man命令帮助页来检查你的平台tar命令可用的参数。 另外,确认ORACLE_HOME/bin下可能被root用户拥有的可执行文件的权限。 |
a) 复制应用层文件系统
用用户APPLMGR登录原系统应用层节点并且停止应用层服务进程。从原节点复制下面的应用层目录到目标应用层节点。
l [APPL_TOP]
l [COMMON_TOP]
l 应用技术堆栈
n [OracleAS Tools ORACLE_HOME]
n [OracleAS Web IAS_ORACLE_HOME]
b) 复制数据库层文件系统
用用户ORACLE登录原系统数据库层节点,然后
- 对原系统数据库进行一个正常的停机。
- 复制数据文件(.dbf)从原系统到目标系统
- 复制数据库ORACLE_HOME从原系统到目标系统
- 启动原应用系统数据库和应用层进程
3. 配置目标系统
运行以下命令来配置目标系统。你将会被提示输入特定的目标系统的值,例如:SID,路径和端口号。
a) 配置目标系统数据库服务器
以用户ORACLE登录目标系统,然后输入以下命令:
$ cd [RDBMS ORACLE_HOME]/appsutil/clone/bin $ perl adcfgclone.pl dbTier |
a) 配置目标系统应用层服务器节点
以用户APPLMGR登录目标系统,然后输入以下命令:
$ cd [COMMON_TOP]/clone/bin $ perl adcfgclone.pl appsTier |
注意: 如果你是在操作平台不同的版本间进行克隆(比如Linux5和Linux4),建议用[adrelinknew "ad all"]重新链接AD_TOP产品的二进制文件。 |
章节3:结束阶段工作
本章节列出根据您的实施和克隆系统的使用目的可能需要在结束阶段完成的工作。
1. 更改配置选项
快速克隆只更改地点级别的配置选项。如果任何其它的配置选项被设置为实例特定的值,你必须手动地修改。
2. 更改打印机设置
如果新克隆的系统需要采用不同的打印机,在目标系统更改新的打印机设置。
3. 更新工作流配置设置
克隆一个Oracle应用实例不会更改Oracle工作流所用的主机名和实例特定的信息。查阅表4列出的表和列以检查在目标系统上工作流配置中任何实例特定的数据。
表4:工作流配置设置
表名 |
列名 |
列值细节 |
WF_NOTIFICATION_ATTRIBUTES |
TEXT_VALUE |
以http://[旧web主机名]开始的值:更改到新的web主机名 |
WF_ITEM_ATTRIBUTE_VALUES |
TEXT_VALUE |
以http://[旧web主机名]开始的值:更改到新的web主机名 |
WF_SYSTEMS |
GUID |
使用工作流管理Web应用职责,创建一个新的系统定义以新的全局数据库名 |
WF_SYSTEMS |
NAME |
用数据库全局名做替代 |
WF_AGENTS |
ADDRESS |
以新的数据库全局名更改数据库链接 |
FND_FORM_FUNCTIONS |
WEB_HOST_NAME |
更改为新的web 主机名 |
FND_FORM_FUNCTIONS |
WEB_AGENT_NAME |
更改为指向新的pl/sql监听器名称 |
FND_CONCURRENT_REQUESTS |
LOGFILE_NAME |
更改为日志文件目录正确的路径 |
FND_CONCURRENT_REQUESTS |
OUTFILE_NAME |
更改为目标系统上新的目录路径 |
4. 确认APPLCSF变量设置
加载APPS环境变量,查看变量APPLCSF (应指向并发管理器日志和输出文件的最高级别目录)是否指向一个有效的目录。如果需要修改,改变上下文文件中变量s_applcsf的值然后运行AutoConfig。
5. 更改ICX_PARAMETERS 中SESSION_COOKIE_DOMAIN的值
如果目标系统是在一个和原系统不同的域名中并且原系统中的SESSION_COOKIE_DOMAIN不是空值,更改该值以反映新的域名。
6. 重新实施SSL和SSO配置
如果原系统是已用SSL 或 SSO并且目标系统也希望使用SSL 或 SSO,依照SSL/SSO文档在目标系统上重新配置。否则,如果目标系统希望是非SSL和非SSO的,依照SSL/SSO文档取消SSL/SSO设置。
章节4:高级克隆选项
本章节描述了几种在适当的环境下适用的不同的高级克隆流程。
选项1:更新一个目标系统
你可能需要阶段性地更新目标系统以便它和原系统所做改动同步。
注意:在更新数据库或应用层前要备份目标系统的上下文文件。 |
更新目标系统,按以前章节所描述的执行以下步骤:
1. 准备原系统
2. 复制原系统到目标系统
a) 如果应用层文件中APPL_TOP,COMMON_TOP,或技术堆栈需要更新,复制应用层文件系统中已经被更改的部分。
b) 如果 RDMBS ORACLE_HOME或数据库需要更新,复制数据库节点文件系统。如果更新数据库,ORACLE_HOME应该也同时被更新。
3. 配置目标系统
当运行adcfgclone.pl命令时指定已存在的目标系统上下文文件。
a) 配置目标系统数据库服务器。以用户oracle登录目标系统并且输入以下命令来配置和开启数据库:
$ cd [RDBMS ORACLE_HOME]/appsutil/clone/bin $ perl adcfgclone.pl dbTier[数据库目标上下文文件] 数据库目标上下文文件是[RDBMS ORACLE_HOME]/appsutil/目标上下文文件名.xml |
b) 配置目标系统应用层服务器节点。以用户applmgr登录目标系统并且输入以下命令:
$ cd [COMMON_TOP]/ clone/bin $ perl adcfgclone.pl appsTier[APPL_TOP 目标上下文文件] APPL_TOP目标上下文文件是[INST_TOP]/appl/admin/目标上下文文件名.xml |
4. 执行标准的结束阶段的工作
选项2:克隆多节点系统
此流程允许原系统或目标系统为多节点。对于R12,所有的APPL_TOP是统一的APPL_TOP。这意味着所有应用层服务需要的所有文件被安装在每个应用层节点上。因此,只需复制一份应用层节点文件到目标系统上,无论原系统或目标系统上是否正使用共享的文件系统。多个应用层节点是根据上面运行的服务来区分彼此的。
1. 进行标准的预先需要的工作
在所有的原和目标节点上进行所需的步骤。
2. 进行先前描述的克隆工作。
准备,复制并且配置克隆的应用系统。当在目标系统上创建多于一个的应用层节点时,遵照以下步骤:
1. 对数据库节点和主应用层节点执行一个完整的克隆(准备,复制和配置步骤)。
2. 在目标系统上增加一个共享的应用层结点,遵照我的Oracle支持知识文档384248.1中章节4:增加一个节点到共享的应用层文件系统中的指令。
3. 在目标系统上增加一个非共享的应用层结点,象主应用层节点一样进行复制和配置步骤。
4. 在配置步骤过程中,在提示下指定每个目标应用层节点所要运行的服务。
3. 执行需要的结束阶段工作。
选项3:在已有的系统上增加一个新的节点
你可以用快速克隆克隆一个节点并且将它增加到已有的应用系统上。新节点可以运行和原节点相同的服务或者不同的服务。遵照克隆任务应用层部分的指令。
1. 准备原系统,复制到新节点并且进行配置。
2. 在adcfgclone.pl完成后,在目标系统上加载应用环境变量并且运行以下命令:
$ cd [COMMON_TOP]/ clone/bin $ perl adaddnode.pl |
注意:在增加新的节点后,参照我的Oracle支持知识文档380489.1上关于设置负荷均衡部分的细节信息。 |
注意:如果在已有系统上已经激活了SQL*Net访问安全,您首先需要去授权新节点可以通过SQL*Net访问数据库。对于如何实施这项功能,请查看Oracle应用管理在线帮助上的相关指令。 |
选项4:克隆一个Oracle RAC 系统
关于如何用快速克隆去克隆一个RAC 系统,请参照我的Oracle支持知识文档559518.1。
选项5:增加一个节点到已存在的Oracle RAC 集群
在R12 中,不再使用快速克隆去移植一个数据库层到Oracle RAC中。请参照我的Oracle支持知识文档388577.1中的指令去完成这一工作。
选项6:单独地克隆数据库
在一些情况下需要不使用快速克隆,单独地重建数据库。比较典型的情形是当不允许有系统停机,或在热备份模式下使用高级的数据库复制工具象RMAN去拷贝数据库。
该章节描述在快速克隆过程中手工创建目标数据库控制文件所需的步骤。这一方法用于位于裸分区上的数据库或当热备份情况下的克隆。请遵照克隆工作章节中的所有步骤,但其中的步骤3a(配置目标系统数据库服务器)用下列步骤替代:
- 以用户ORACLE登录目标系统。
- 配置 RDBMS ORACLE_HOME
$ cd [RDBMS ORACLE_HOME]/ appsutil/bin $ perl adcfgclone.pl dbTechStack |
- 手动创建目标数据控制文件
在这一步中,你用你选择的方法拷贝和重建数据库,例如 RMAN恢复,Flash Copy,Snap View,或者Mirror View。
- 用开启模式启动数据库
- 针对数据库运行库更新脚本
$ cd [RDBMS ORACLE_HOME]/ appsutil/install/[上下文名称] $ sqlplus “/ as sysdba” @adupdlib.sql [libext] [libext]对HP-UX应设置成‘sl’,对其它UNIX平台设成‘so’, 对Windows平台设成‘dll’。 |
- 配置目标数据库
在执行下列步骤前必须运行和开启数据库。
$ cd [RDBMS ORACLE_HOME]/ appsutil/clone/bin $ perl adcfgclone.pl adconfig [数据库目标上下文文件] 数据库目标上下文文件位置:[RDBMS ORACLE_HOME]/ appsutil/[目标上下文名称].xml |
注意:dbconfig选项将配置新的目标数据库所需的设置,但它不会重建控制文件。 |
更改记录
日期 |
描述 |
2011年11月17日 |
l 删除重复的补丁 l 增加补丁12598630:R12.OAM.B. l 在版本略有不同的操作系统之间增加关于重新链接的建议 |
2011年5月16日 |
l 在章节3的第6步中进一步阐明SSL/SSO l 在章节2的第2步中进一步阐明关于tar. |
2011年4月29日 |
l 增加一次性补丁12404574:R12.OAM.B |
2011年3月30日 |
l 增加一篇关于Autoconfig需要的文档 l 增加关于后续补丁的文档 |
2011年1月3日 |
l 更新update.oracle.com的URL |
2010年12月29日 |
l 为12.0和12.1在章节1步骤5增加补丁9833058 l 阐述12.0和12.1的AD补丁 |
2010年9月24日 |
l 用9171651替代RC综合补丁 |
2010年4月24日 |
l 为12.0和12.1在章节1步骤5增加补丁9462233 |
2010年2月15日 |
l 修正整体格式问题 l 增加章节1中ZIP和UNZIP版本的阐述 l 增加章节3中针对SSL/SSO的格外步骤 l 用8360494(2010年1月)替代快速克隆综合补丁 l 删除其它补丁因为他们已包括在8360494中 |
2009年6月24日 |
l 重新构建文档 |
2009年6月23日 |
l 将附录A移到高级克隆选项并增加一些更新的细节 |
2009年5月8日 |
l 用7164226(2009年5月)替代快速克隆综合补丁 |
2009年4月9日 |
l 更正章节4步骤3中的相关链接 |
2009年3月13日 |
l 将OracleAS 10.1.3.4 Oracle HOME增加到补丁8246709的相关参考信息 |
2009年3月2日 |
l 增加文档783188.1的相关参考信息 |
2009年2月16日 |
l 针对补丁8221919增加MS Windows(32-bit)的阐述 |
2009年2月13日 |
l 在章节1步骤5增加补丁8221919 |
2009年1月22日 |
l 在章节1步骤5增加补丁7699109 l 增加关于RUP2或更高的阐述 |
2008年8月7日 |
l 用6776948(2008年7月)替代快速克隆综合补丁 l 删除补丁6854328因为他们已包括在6776948中 |
2008年7月29日 |
l 在章节4步骤4和5中删除快速克隆对RAC系统的限制 l 对RAC克隆指令增加相关文档559518.1 l 对在已存在的RAC系统上增加一个节点增加跟踪BUG号码7276544 l 对克隆RAC系统时增加一个节点增加跟踪BUG号码7275583 |
2008年3月24日 |
l 在章节1步骤2中加入UNXIP 5.52 l 在章节5步骤5对Windows(64-bit)增加补丁6854328 l 在注示框内修改补丁安装后步骤 |
2008年2月28日 |
l 调整章节2步骤2的顶部格式 |
2008年1月25日 |
l 增加AD.A.DELTA.4和最新快速克隆综合补丁 |
2007年12月18日 |
l 小的布局变动 l 增加安装最新的AD补丁的需求 l 在4.1章节增加当更新一个目标系统时要备份上下文文件的阐述 l 增加确认操作系统需求的相关步骤 |
2007年12月17日 |
l 修改cp命令的使用 |
2007年12月7日 |
l 增加Windows Itanium补丁 |
2007年7月30日 |
l 删除Windows不支持的通知 l 增加在系统安装补丁后重新运行克隆后相关步骤的警示 |
2007年6月25日 |
l 增加如何使用cp命令去保留符号链接的阐述 |
2007年3月18日 |
l 删除HP OpenVMS Alpha的信息因为此平台对R12的应用和数据层都是不被认证和不支持的 |
2007年5月18日 |
l 更正章节1第7步中的关于Oracle应用系统维护实用程序的链接 |
2007年2月23日 |
l 针对负载均衡增加参考文档380489.1 |
2007年2月22日 |
l 增加关于在Windows平台的快速克隆已经支持的注示 |
2007年1月24日 |
l 创建初始文档 |