用RMAN duplicate命令克隆数据库

今天,接到任务,搭建一份测试数据库(test),内容与正在使用的开发数据库(devdb)相同。考虑到数据库服务器上的资源较富余,决定在开发数据库服务器上克隆该数据库。选择用RMAN的duplicate命令来完成这个工作。(注:1,开发数据库是在归档模式下;2,开发数据库服务器使用的是Windows2003server版)

(一)用RMAN备份开发库文件含控制文件和归档日志。
RMAN>run {
allocate channel c1 type disk
format '..../devdb_%U.bk';
backup database include current controlfile plus archivelog delete input;
release channel c1;
}
(二)为测试库创建密码文件和创建test的实例
cmd
C:/...>orapwd file='..../database/pwdtest.ora' password=test entries=20;   (建在ORACLE_HOME下的database目录里)
Windows下需要oradim命令来创建实例
C:...>oradim -sid -new test
(三)为测试库创建初始化参数文件
1, 获取原开发库的初始化参数文件
连接的devdb实例
SQL>create pfile from spfile;
2, 拷贝开发库的参数文件到ORACLE_HOME/database目录下,更名为inittest.ora
3, 修改测试库的初始化参数文件inittest.ora
修改的项目有:
因为实例名变化 devdb. 改成 test.
audit_file_dest, backgroud_dump_dest, core_dump_dest,user_dump_dest这四个目录要换到测试库的相应目录
如backgroupd_dump_dest='E:/oracle/product/10.2.0/admin/bdump
control_files的值要改,改到测试库对应的控制文件的路径 如'E:/oradata/test/control01.ctl',....
db_name改成测试库名test
添加的项目(这里很像dataguard)
*.db_file_name_convert=('C:/ORACLE_DATA/devdb', 'E:/oradata/test')   --前一个是数据文件的源目录,后一个是目标目录
*.log_file_name_convert=('C:/ORACLE_DATA/devdb', 'E:/oradata/test')  --前一个是日志文件的源目录,后一个是目标目录
(四)创建相应的目录
为测试库创建dump目录
(五)启动测试实例到nomout状态
cmd
C:...>set ORACLE_SID=test
C:...>sqlplus "sys/test as sysdba"             注:这里的密码是创建密码文件时的password值
SQL>startup nomount;
实例启动后,可以把该窗口关闭。原因在下面有描述
(六)进入到RMAN 目标数据库(target) 是开发库, 辅助数据库(auxiliary)是测试库
cmd
C:...>set ORACLE_SID=test
C:...>RMAN target sys/sys@devdb auxiliary sys/test
进去后 显示目标数据库devdb
           辅助数据库test 未加载状态
RMAN>list backup;
RMAN>duplicate target database to "test";
注意,执行过程可能到运行到 {
shutdown clone;
startup clone nomount;
   }时,挂在那里不动
原因是:之前启动test库实例到nomount状态的会话窗口没关。shutdown clone动作在等待那个会话推出,关闭那个窗口即可
命令执行完毕后,数据库自动打开。
利用rman的复制功能将测试数据库test建成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值