Dataguard - 经过主库热备方式建立容灾库

部署dataguard时须要利用主库的备份建立容灾库,对于小库能够采用冷备方式,而对于大库,因作冷备致使过长的停机时间是不少企业没法容忍的。下面介绍在主库不关闭的状况下,作利用热备建立容灾库的方法。(不描述dg实施的细节,只针对主库热备及在容灾主机上作库恢复的方式)sql

一、主库热备数据库

主库已开启归档功能,在数据库open状态下作全备:session

Rman> run {rest

Sql ‘alter system archive log current’;日志

backup full database format '/data/backup/full_db_%U.bpk';部署

}get

注:这里不备份在线归档日志,后面作容灾库恢复时,直接从主库copy归档文件。io

二、容灾库建立登录

启动容灾库到mount状态:file

sql> startup mount;

利用以前主库热备文件还原数据文件:

rman> restore database;

因为目前容灾库状态落后于主库,须要利用主库归档日志文件作recover,以实现状态一致。

须要肯定要从主库复制哪些用于恢复的归档文件。

检查还原后datafile的checkpoint_change#

sql> select checkpoint_change# from v$datafile_header;

513326

那么主库上checkpoint在513326以后的归档日志文件都须要复制到容灾库,用于恢复。

登陆主库,肯定须要复制的归档文件:

sql> Select sequence,first_change#,next_change#,name from v$archived_log where first_change#>=513326;

将文件复制容灾库:

$ scp arch*log 容灾主机:/archive/

在容灾库上作日志恢复:

Sql> recover automatic standby database;

输入auto,恢复到最新的归档文件。

Sql> recover automatic standby database;

输入cancel,提示恢复成功。

sql> alter database open; #能够正常打开

sql> recover managed standby database cancel;

sql> recover managed standby database disconnect from session; #进入日志恢复状态

至此,在生产数据库不中断的状况下,完成了容灾数据库的建立。

还能够使用如下方式实现

rman >duplicate target database for standby

另外,11g能够不用对主库进行备份,就能够建立dataguard.

11g 不用对主库进行备份,就能够建立dg,具体的命令为:

run

{

allocate channel c1 type disk;

allocate auxiliary channel c2 type disk;

duplicate target database for standby from active database nofilenamecheck;

}

相关文章
相关标签/搜索