参考文档: [Doc ID 760772.1]
MOS Notes还是应以英文为主,中文仅供参考
适用于:
Oracle Applications Manager – 版本 11.5.10.0 到 12.1.3 [发行版 11.5.10 到 12.1]
本文档所含信息适用于所有平台
目标
这篇文章的目的是帮助您复制/克隆活动的/打开的数据库到另一台机器.
注意:这不是一个被支持的过程,但可根据需要提供参考。
解决方案
需要先完成如下适用于您EBS版本的克隆文件中第1部分和第2部分“先决条件”和“准备”中的步骤:
版本11i : Note 230672.1 – ‘Cloning Oracle Applications Release 11i with Rapid Clone’
版本12 : Note 406982.1 – ‘Cloning Oracle Applications Release 12 with Rapid Clone’
这个文件帮您实施如上文件“附录 B:在快速克隆中手动重新创建数据库控制文件”中提到的步骤.
步骤 1: 确保已经运行了adpreclone.pl
步骤 2: 获得一个跟踪文件脚本以重新创建控制文件。在源数据库,执行如下命令:
创建的跟踪文件脚本将会被放在路径 user_dump_dest中. 脚本的文件名字如: PROD_ora_12345.trc.
比较新创建脚本的日期时间和输入命令ALTER DATABASE BACKUP CONTROLFILE TO TRACE的日期时间. 这将确保您将使用在此步骤中创建的最新的跟踪文件脚本。
步骤 3: 在步骤2中创建的建立控制文件的脚本中,做如下更改:
改成
:CREATE CONTROLFILE DATABASE “PROD” RESETLOGS ARCHIVELOG
若您想改变数据库的名字,需要在建立控制文件的脚本中使用子句SET DATABASE <新数据库名字>:
您必须指定 RESETLOGS.
如果你想在非归档日志模式下运行复制的数据库,ARCHIVELOG模式可能要改为NOARCHIVELOG. 如果有必要,在创建控制文件的子句中为新目标数据库将所有的路径指向正确的路径.
只留下CREATE CONTROLFILE 子句. 其余的语句, 像恢复命令, 将可以手动做. 并确定您去掉了STARTUP NOMOUNT命令.
注释: 请确保生成如上控制文件脚本后没有新的数据文件/表空间被添加到数据库。
步骤 4: 使用如下命令联机复制源数据库中所有数据文件:
复制源数据库中表空间<NAME>内的所有数据文件到新路径下。在Unix系统, 这可以用cp命令来做.
然后运行命令:
请不要复制控制文件和重做日志文件,因为它们将重新被创建. 在命令ALTER .. BEGIN BACKUP执行之后,您必须只复制数据文件; 否则数据文件可能会被损坏.
数据文件名字和它的表空间名字可以使用如下命令取得:
注释: 您可以使用一个之前做的联机数据库备份而不使用步骤4和5来创建一个新的联机备份. 如果您选择使用以前的联机备份,需要确保不但复制了以前的联机备份而且复制了它所需的归档重做日志.
步骤 5: 复制完所有数据文件并且表空间被退出了备份模式,执行如下命令:
您将需要从复制数据文件命令开始的所有归档日志文件,包括刚刚用命令ALTER SYSTEM ARCHIVE LOG CURRENT创建的那个。
步骤 6: 从源系统复制数据库 (DBF) 文件, 控制文件脚本和归档日志文件到目标系统
步骤 7: 按文件 Document 230672.1(附录 B)中提到的一样,用以下步骤替换文件中2.3a部分(配置目标系统数据库服务器):
执行如下命令来配置目标系统数据库. 系统将提示您目标系统的特定值(SID,路径,端口等)
- 用ORACLE用户登录到目标系统
- 配置<RDBMS ORACLE_HOME>
cd <RDBMS ORACLE_HOME>/appsutil/clone/bin
perl adcfgclone.pl dbTechStack
步骤 8: 在目标系统上执行STARTUP NOMOUNT命令. 例如:
步骤 9: 运行在步骤3中准备的创建脚本来创建新的控制文件. 例如:
步骤 10: 执行命令:
系统将提示您应用目标数据库中的所有归档重做日志,包括步骤5中用命令ALTER DATABASE ARCHIVE LOG CURRENT创建的最新归档重做日志文件.
应用完所有的这些归档重做日志后,执行CANCEL命令.
步骤 11: 用resetlogs打开数据库:
此时,目标数据库已经被成功的克隆和打开.
步骤 12: 若在源系统没有建立临时表空间,现在可以创建, 否则,你应增加临时表空间。
您可以使用下面的SQL检查TEMP表空间是否有临时文件或数据文件:
SQL> SELECT FILE_NAME,TABLESPACE_NAME, STATUS,AUTOEXTENSIBLE FROM DBA_DATA_FILES WHERE TABLESPACE_NAME LIKE ‘TEMP’;
若上面的命令没有返回值,即临时表空间没有被创建, 执行如下命令,
或者
步骤 13: 对数据库运行库更新脚本
cd <RDBMS ORACLE_HOME>/appsutil/install/<CONTEXT NAME>
sqlplus “/ as sysdba” @adupdlib.sql <libext>
在HP-UX中, <libext>代表”sl”, 在其它UNIX平台代表”so”, Windows中不需要.
步骤 14: 配置目标数据库 (数据库必须已经打开)
cd <RDBMS ORACLE_HOME>/appsutil/clone/bin
perl adcfgclone.pl dbconfig <目标上下文文件>
目标上下文文件是指: <RDBMS ORACLE_HOME>/appsutil/<Target CONTEXT_NAME>.xml
最后, 参阅快速克隆文件的如下部分:
- 复制应用层文件系统
- 配置目标系统应用层服务器节点
- 完成后的任务
版本11i : Note 230672.1 – ‘Cloning Oracle Applications Release 11i with Rapid Clone’
版本12 : Note 406982.1 – ‘Cloning Oracle Applications Release 12 with Rapid Clone’
最新评论
这个牛
放下欲望,男人从来不醉,充分且必要
勇气、责任、自信、创新,为天下先!
软件即数据,软件即服务,软件即管理,软件就是对人类各种社会活动的仿真和记录。软件很重要,但软件不可能凌驾于业务之上,尤其不可能高人一等。