RMAN新特性duplicate概述和使用

RMAN DUPLICATION复制概述


DUPLICATE命令可以创建完整的运行良好的数据库副本(clone DB)或Physical standby数据库。

DUPLICATE命令自动为duplicate数据库分配不同的DBID,以便它可以注册在与源数据库相同的catalog中。

DUPLICATION可以是数据库级别,也可以指定表空间级别。

RMAN必须执行基于时间点的恢复,即使没有指定明确的时间点,因为源数据库中的联机重做日志文件未备份,不能应用于备份数据库。

备份数据库的最远的恢复点是源数据库归档的最近的重做日志文件。

 

一、  Active Database Duplication Backup-based duplication对比

-------------------------------------------------------------

Active database duplication功能是从11g开始引入的一个新功能

Active database duplication 直接复制源数据库,通过网络传输数据库到复制服务器,因此复制时对源库有一定的压力,而且数据传输时对网络条件要求较高。简单的概括为:

Backup-based duplication :需要提前备份数据库,磁盘空间大小能够满足备份的需要。

Active Database Duplication 不需要提前备份,但在复制的过程中,对源库有一定的压力,需要一定的网络带宽。源数据库一定是规定模式。

 

Active Database Duplication 原理

-------------------------------------

1. 手动创建一个临时的pfile文件,pfile文件至少包括一个参数DB_NAME,然后启动到nomount状态。

2. RMAN从源库拷贝spfile文件到复制数据库上,并且修改spfile的名字。

3. RMAN从源库拷贝最新的control file到复制数据库,并且mount 复制数据库。

4. RMAN从源库拷贝datafile和必要的归档日志到复制数据库。

5. RMAN执行不完全的恢复。

6. RMAN创建新的control file,并且设置新的DBID

7. RESETLOGS方式打开复制的database

 

 

 

1)   active database duplication(在线数据库复制,不需要backup文件):

         1.必须创建密码文件和配置tns连通性。密码文件只是临时的,因为它会在duplicate过程中被覆盖。

must create a password file for the auxiliary instance and establish Oracle Net connectivity

         2.创建备库的pfile,设置db_file_name_convertlog_file_name_convert

         3.确定target主库处于mounted或者open状态,并且启用归档。

         4.RMAN TARGET sys/manager@bbkesale AUXILIARY sys/manager@bbkesalestd

         5.执行duplicate命令

         DUPLICATE TARGET DATABASE

  FOR STANDBY

  FROM ACTIVE DATABASE

  DORECOVER nofilenamecheck;

--nofilenamecheck告诉RMAN不用检查备库和主库是否使用相同的文件名。

--如果主备数据文件目录相同(或pfile中配置了db_file_name_convert),需使用nofilenamecheck   

 

 

2)   backup-based duplication(需要数据库备份文件)

1.with target connection

2.without target connectionbut with recovery catalog connection

3.without target connection and recovery catalog connection

 

RMAN连接实例:

RMAN> CONNECT TARGET SYS/sysdba@prod;    # source database

 

RMAN> CONNECT AUXILIARY SYS/sysdba@dupdb; # duplicate database instance

 

RMAN> CONNECT CATALOG rman/rman@catdb;    # recovery catalog database

 

 

--------------------------------------------------------------------------------------------------------------------

二、duplicate时重命名数据文件

如果pfile中没有设置db_file_name_convert,也可以在duplicate之前通过set newname来指定新的备份库数据文件目录和名字。

egDuplicating with SET NEWNAME FOR DATAFILE

 

RUN

{

  SET NEWNAME FOR DATAFILE 1 TO '/oradata1/system01.dbf';

  SET NEWNAME FOR DATAFILE 2 TO '/oradata2/sysaux01.dbf';

  SET NEWNAME FOR DATAFILE 3 TO '/oradata3/undotbs01.dbf';

  SET NEWNAME FOR DATAFILE 4 TO '/oradata4/users01.dbf';

  SET NEWNAME FOR DATAFILE 5 TO '/oradata5/users02.dbf';

  SET NEWNAME FOR TEMPFILE 1 TO '/oradatat/temp01.dbf';

  DUPLICATE TARGET DATABASE TO dupdb

    SKIP TABLESPACE tools

    LOGFILE

      GROUP 1 ('/duplogs/redo01a.log',

               '/duplogs/redo01b.log') SIZE 4M REUSE,

      GROUP 2 ('/duplogs/redo02a.log',

               '/duplogs/redo02b.log') SIZE 4M REUSE;

}

 

 

三、duplicate数据库时指定表空间

 

1)   duplicate数据库时排除指定的表空间 Excluding Specified Tablespaces

eg:排除readonly的表空间

DUPLICATE TARGET DATABASE TO dupdb

  FROM ACTIVE DATABASE

  SKIP READONLY

  NOFILENAMECHECK;

 

eg:排除tools表空间 

DUPLICATE TARGET DATABASE

  TO dupdb

  FROM ACTIVE DATABASE

  SKIP TABLESPACE tools

  NOFILENAMECHECK; 

 

2)   duplicate数据库时也可以指定包含的表空间,其他表空间会被忽略(system、sysaux、undo和包含物化视图的表空间除外)

 

eg:不要恢复users以外的表空间

DUPLICATE TARGET DATABASE

  TO dupdb

  FROM ACTIVE DATABASE

  TABLESPACE users

  NOFILENAMECHECK;

 

 

 

---------------------------------------------------------------------------------------------------------------------------------------------

附:

SET NEWNAME替换变量(Substitution Variables for SET NEWNAME)

%b

Specifies the file name stripped of directory paths. For example, if a data file is named /oradata/prod/financial.dbf, then %b results in financial.dbf.

 

%f

Specifies the absolute file number of the data file for which the new name is generated. For example, if data file 2 is duplicated, then %f generates the value 2.

 

%I

Specifies the DBID

 

%N

Specifies the tablespace name

 

%U

Specifies the following format: data-D-%d_id-%I_TS-%N_FNO-%f

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

转载于:http://blog.itpub.net/30025058/viewspace-2140355/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值