RMAN高级复制实现克隆本地数据库

RMAN高级复制实现

克隆本地数据库

一、使用rman备份源数据库,确认备份的有效性。

二、创建辅助实例

1、  创建辅助实例的初始化参数文件(initdup.ora)

内容如下:

db_name='dup'

control_files='F:\oracle\oradata\dup\control01.ctl','d:\oracle\oradata\dup\control02.ctl'

shared_pool_size=200000000

db_block_size=8192

#比源数据库的初始化参数文件多了下面两个

db_file_name_convert=('d:\oracle\oradata\supinfo','d:\oracle\oradata\dup')

log_file_name_convert=('d:\oracle\oradata\supinfo','d:\oracle\oradata\dup')

audit_file_dest='D:\oracle\admin\adump'

audit_trail='db'

compatible='11.1.0'

db_cache_size=30M

diagnostic_dest='D:\oracle\oradata\dup'

log_archive_dest_1='location=d:\oracle\archive'

log_archive_format='dup_%S_%R_%T.arc'

log_archive_start=TRUE

memory_target=0

undo_management='auto'

undo_tablespace='UNDOTBS1'

utl_file_dir='d:\oracle\logmnr'

2、  启动辅助实例到nomount状态,切忌不要mount或者open;

Set ORACLE_SID=sup

Startup nomount

Create spfile from pfile;

Startup force nomount;

三、 配置监听和客户端

1、监听文件

LISTENER =

 (ADDRESS_LIST=

         (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))

         (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))     

SID_LIST_LISTENER=

  (SID_LIST=

         (SID_DESC=

         (GLOBAL_DBNAME=supinfo)

         (SID_NAME=supinfo)                       

         (ORACLE_HOME=C:\app\Administrator\product\11.1.0\db_1)

       )

       (SID_DESC=

         (SID_NAME=cnctest)                        

         (ORACLE_HOME=C:\app\Administrator\product\11.1.0\db_1)

       )

    )

2、客户端文件内容

# tnsnames.ora Network Configuration File: C:\app\Administrator\product\11.1.0\db_1\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

SUPINFO =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = supinfo)

    )

  )

CNCTEST =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = cnctest)

    )

  )

四、rman 连接源数据库(要克隆的生产库)和目标数据库。

R,man target / auxiliary system/manager@sup

恢复管理器: Release 11.1.0.6.0 - Production on 星期五 9 19 10:48:03 2008

 

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

 

连接到目标数据库: SUPINFO (DBID=3106732839)

已连接到辅助数据库: CNCTEST (未装载)

 

RMAN> run{

2> allocate auxiliary channel aux1 device type disk;

3> duplicate target database to cnctest;}

五、rman高级复制时候的过程信息。

恢复管理器: Release 11.1.0.6.0 - Production on 星期五 9 19 10:48:03 2008

 

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

 

连接到目标数据库: SUPINFO (DBID=3106732839)

已连接到辅助数据库: CNCTEST (未装载)

 

RMAN> run{

2> allocate auxiliary channel aux1 device type disk;

3> duplicate target database to cnctest;}

 

使用目标数据库控制文件替代恢复目录

分配的通道: aux1

通道 aux1: SID=97 设备类型=DISK

 

启动 Duplicate Db 19-9 -08

 

内存脚本的内容:

{

   set until scn  371042;

   set newname for datafile  1 to

 "D:\ORACLE\ORADATA\CNCTEST\SYSTEM01.DBF";

   set newname for datafile  2 to

 "D:\ORACLE\ORADATA\CNCTEST\SYSAUX01.DBF";

   set newname for datafile  3 to

 "D:\ORACLE\ORADATA\CNCTEST\UNDOTBS01.DBF";

   set newname for datafile  4 to

 "D:\ORACLE\ORADATA\CNCTEST\USERS01.DBF";

   restore

   clone database

   ;

}

正在执行内存脚本

 

正在执行命令: SET until clause

 

正在执行命令: SET NEWNAME

 

正在执行命令: SET NEWNAME

 

正在执行命令: SET NEWNAME

 

正在执行命令: SET NEWNAME

 

启动 restore 19-9 -08

 

通道 aux1: 正在开始还原数据文件备份集

通道 aux1: 正在指定从备份集还原的数据文件

通道 aux1: 将数据文件 00001 还原到 D:\ORACLE\ORADATA\CNCTEST\SYSTEM01.DBF

通道 aux1: 将数据文件 00002 还原到 D:\ORACLE\ORADATA\CNCTEST\SYSAUX01.DBF

通道 aux1: 将数据文件 00003 还原到 D:\ORACLE\ORADATA\CNCTEST\UNDOTBS01.DBF

通道 aux1: 将数据文件 00004 还原到 D:\ORACLE\ORADATA\CNCTEST\USERS01.DBF

通道 aux1: 正在读取备份片段 D:\ORACLE\LEVEL0_SUPINFO_1_1.BK

通道 aux1: 段句柄 = D:\ORACLE\LEVEL0_SUPINFO_1_1.BK 标记 = TAG20080916T204214

通道 aux1: 已还原备份片段 1

通道 aux1: 还原完成, 用时: 00:03:45

完成 restore 19-9 -08

sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "CNCTEST" RESETLOGS ARCHIVELOG

  MAXLOGFILES     32

  MAXLOGMEMBERS      2

  MAXDATAFILES       32

  MAXINSTANCES    16

  MAXLOGHISTORY     1752

 LOGFILE

  GROUP  1 ( 'D:\ORACLE\ORADATA\CNCTEST\REDO01.LOG' ) SIZE 30 M  REUSE,

  GROUP  2 ( 'D:\ORACLE\ORADATA\CNCTEST\REDO02.LOG' ) SIZE 30 M  REUSE,

  GROUP  3 ( 'D:\ORACLE\ORADATA\CNCTEST\REDO03.LOG' ) SIZE 30 M  REUSE

 DATAFILE

  'D:\ORACLE\ORADATA\CNCTEST\SYSTEM01.DBF'

 CHARACTER SET ZHS16GBK

 

 

内存脚本的内容:

{

   switch clone datafile all;

}

正在执行内存脚本

 

数据文件 2 已转换成数据文件副本

输入数据文件副本 RECID=1 STAMP=665837547 文件名=D:\ORACLE\ORADATA\CNCTEST\SYSAUX01.DBF

数据文件 3 已转换成数据文件副本

输入数据文件副本 RECID=2 STAMP=665837547 文件名=D:\ORACLE\ORADATA\CNCTEST\UNDOTBS01.DBF

数据文件 4 已转换成数据文件副本

输入数据文件副本 RECID=3 STAMP=665837547 文件名=D:\ORACLE\ORADATA\CNCTEST\USERS01.DBF

 

内存脚本的内容:

{

   set until scn  371042;

   recover

   clone database

    delete archivelog

   ;

}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11342864/viewspace-450324/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/11342864/viewspace-450324/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值