ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RMAN备份恢复--RAC环境数据库的备份(十)

RMAN备份恢复--RAC环境数据库的备份(十)

原创 Linux操作系统 作者:yangtingkun 时间:2007-05-31 00:00:00 0 删除 编辑

RAC环境的备份、恢复和普通数据库的备份、恢复是有一些区别的。

RMAN备份恢复——RAC环境数据库的备份(一):http://yangtingkun.itpub.net/post/468/285260

RMAN备份恢复——RAC环境数据库的备份(二):http://yangtingkun.itpub.net/post/468/287076

RMAN备份恢复——RAC环境数据库的备份(三):http://yangtingkun.itpub.net/post/468/287617

RMAN备份恢复——RAC环境数据库的备份(四):http://yangtingkun.itpub.net/post/468/288295

RMAN备份恢复——RAC环境数据库的备份(五):http://yangtingkun.itpub.net/post/468/288557

RMAN备份恢复——RAC环境数据库的备份(六):http://yangtingkun.itpub.net/post/468/288973

RMAN备份恢复——RAC环境数据库的备份(七):http://yangtingkun.itpub.net/post/468/289665

RMAN备份恢复——RAC环境数据库的备份(八):http://yangtingkun.itpub.net/post/468/290599

RMAN备份恢复——RAC环境数据库的备份(九):http://yangtingkun.itpub.net/post/468/291018

这篇介绍基于裸设备RAC备份通过STANDBY机制来解决远端归档问题。


上两篇文章分别介绍了通过建立ASMNFS MOUNT来解决归档日志的备份问题,这篇文章介绍通过配置LOG_ARCHIVE_DEST_NSERVICE参数来实现远程归档。这样就解决了RAC的本地归档问题。从而使备份和恢复变成了单实例数据库的方式。

首先设置归档参数:

SQL> alter system set log_archive_dest_1 = 'LOCATION=/data1/archivelog';

系统已更改。

SQL> alter system set log_archive_dest_2 = 'SERVICE=testrac2' sid = 'testrac1';

系统已更改。

SQL> alter system set standby_archive_dest = '/data1/archivelog' sid = 'testrac2';

系统已更改。

然后备份目前的归档日志,使得新的归档设置对于新的备份可以生效:

RMAN> run
2> {
3> allocate channel c1 device type sbt connect sys/test@testrac1;
4> allocate channel c2 device type sbt connect sys/test@testrac2;
5> backup archivelog all delete all input;
6> }

分配的通道: c1通道 c1: sid=297 实例=testrac1 devtype=SBT_TAPE通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

分配的通道: c2通道 c2: sid=294 实例=testrac2 devtype=SBT_TAPE通道c2: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

启动 backup 30-5 -07当前日志已存档通道 c1: 正在启动存档日志备份集通道 c1: 正在指定备份集中的存档日志输入存档日志线程 =1 序列 =267 记录 ID=660 时间戳=623936056通道 c1: 正在启动段 1 30-5 -07通道 c2: 正在启动存档日志备份集通道 c2: 正在指定备份集中的存档日志输入存档日志线程 =2 序列 =183 记录 ID=662 时间戳=623936056通道 c2: 正在启动段 1 30-5 -07通道 c1: 已完成段 1 30-5 -07段句柄=89ij10hr_1_1 标记=TAG20070530T113419 注释=API Version 2.0,MMS Version 5.0.0.0通道 c1: 备份集已完成, 经过时间:00:03:26通道 c1: 正在删除存档日志存档日志文件名 =/data1/archivelog/1_267_618591128.dbf 记录 ID=660 时间戳 =623936056存档日志文件名 =/data1/archivelog/1_267_618591128.dbf 记录 ID=661 时间戳 =623936056通道 c2: 已完成段 1 30-5 -07段句柄=8aij10hr_1_1 标记=TAG20070530T113419 注释=API Version 2.0,MMS Version 5.0.0.0通道 c2: 备份集已完成, 经过时间:00:04:01通道 c2: 正在删除存档日志存档日志文件名 =/data1/archivelog/2_183_618591128.dbf 记录 ID=662 时间戳 =623936056完成 backup 30-5 -07释放的通道: c1释放的通道: c2

由于只设置了节点1向节点2进行归档的传播,下面就可以在节点2上进行备份了,如果需要在任意一个节点上进行备份,那么可以在节点2上进行类似的设置。

需要配置log_archive_max_processes的值大于等于归档目录设置的个数。确保本地归档和远端归档同时进行。

在10g中还要注意,Oracle增加了一个新的初始化参数:log_archive_local_first,这个参数默认为true,如果不更改这个设置,会导致BACKUP的时候ARCHIVE LOG CURRENT操作执行完成后,而远端归档还未完成,会造成类似下面的问题:

MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup plus archivelog
命令 ( 05/30/2007 11:56:18 ) 失败
RMAN-06059:
没有找到预期的归档日志, 归档日志的丢失将影响可恢复性
ORA-19625:
识别文件/data1/archivelog/1_269_618591128.dbf时出错
ORA-27037:
无法获得文件状态
SVR4 Error: 2: No such file or directory
Additional information: 3

或者出现这种错误:

MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup plus archivelog
命令 ( 05/30/2007 13:27:56 ) 失败
ORA-19563:
标题 (文件 ) 验证失败

修改参数log_archive_local_first

SQL> alter system set log_archive_local_first = false;

系统已更改。

下面可以开始备份:

RMAN> run
2> {
3> allocate channel c1 device type sbt;
4> allocate channel c2 device type sbt;
5> backup database plus archivelog delete all input;
6> }

分配的通道: c1通道 c1: sid=288 实例=testrac2 devtype=SBT_TAPE通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

分配的通道: c2通道 c2: sid=287 实例=testrac2 devtype=SBT_TAPE通道c2: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

启动 backup 30-5 -07当前日志已存档通道 c1: 正在启动存档日志备份集通道 c1: 正在指定备份集中的存档日志输入存档日志线程 =2 序列 =184 记录 ID=664 时间戳=623937328输入存档日志线程 =2 序列 =185 记录 ID=665 时间戳=623937372输入存档日志线程 =2 序列 =186 记录 ID=670 时间戳=623942876输入存档日志线程 =2 序列 =187 记录 ID=672 时间戳=623942974输入存档日志线程 =2 序列 =188 记录 ID=676 时间戳=623946124通道 c1: 正在启动段 1 30-5 -07通道 c2: 正在启动存档日志备份集通道 c2: 正在指定备份集中的存档日志输入存档日志线程 =1 序列 =268 记录 ID=667 时间戳=623937389输入存档日志线程 =1 序列 =269 记录 ID=668 时间戳=623937419输入存档日志线程 =1 序列 =270 记录 ID=669 时间戳=623942876输入存档日志线程 =1 序列 =271 记录 ID=674 时间戳=623942975输入存档日志线程 =1 序列 =272 记录 ID=675 时间戳=623946124输入存档日志线程 =1 序列 =273 记录 ID=679 时间戳=623946256输入存档日志线程 =1 序列 =274 记录 ID=683 时间戳=623947390通道 c2: 正在启动段 1 30-5 -07通道 c1: 已完成段 1 30-5 -07段句柄=8mij1bju_1_1 标记=TAG20070530T144309 注释=API Version 2.0,MMS Version 5.0.0.0通道 c1: 备份集已完成, 经过时间:00:03:56通道 c1: 正在删除存档日志存档日志文件名 =/data1/archivelog/2_184_618591128.dbf 记录 ID=664 时间戳 =623937328存档日志文件名 =/data1/archivelog/2_185_618591128.dbf 记录 ID=665 时间戳 =623937372存档日志文件名 =/data1/archivelog/2_186_618591128.dbf 记录 ID=670 时间戳 =623942876存档日志文件名 =/data1/archivelog/2_187_618591128.dbf 记录 ID=672 时间戳 =623942974存档日志文件名 =/data1/archivelog/2_188_618591128.dbf 记录 ID=676 时间戳 =623946124通道 c1: 正在启动存档日志备份集通道 c1: 正在指定备份集中的存档日志输入存档日志线程 =2 序列 =189 记录 ID=678 时间戳=623946254输入存档日志线程 =2 序列 =190 记录 ID=681 时间戳=623947388通道 c1: 正在启动段 1 30-5 -07通道 c2: 已完成段 1 30-5 -07段句柄=8nij1bju_1_1 标记=TAG20070530T144309 注释=API Version 2.0,MMS Version 5.0.0.0通道 c2: 备份集已完成, 经过时间:00:04:13通道 c2: 正在删除存档日志存档日志文件名 =/data1/archivelog/1_268_618591128.dbf 记录 ID=667 时间戳 =623937389存档日志文件名 =/data1/archivelog/1_268_618591128.dbf 记录 ID=663 时间戳 =623937323存档日志文件名 =/data1/archivelog/1_269_618591128.dbf 记录 ID=668 时间戳 =623937419存档日志文件名 =/data1/archivelog/1_269_618591128.dbf 记录 ID=666 时间戳 =623937378存档日志文件名 =/data1/archivelog/1_270_618591128.dbf 记录 ID=669 时间戳 =623942876存档日志文件名 =/data1/archivelog/1_270_618591128.dbf 记录 ID=671 时间戳 =623942876存档日志文件名 =/data1/archivelog/1_271_618591128.dbf 记录 ID=674 时间戳 =623942975存档日志文件名 =/data1/archivelog/1_271_618591128.dbf 记录 ID=673 时间戳 =623942975存档日志文件名 =/data1/archivelog/1_272_618591128.dbf 记录 ID=675 时间戳 =623946124存档日志文件名 =/data1/archivelog/1_272_618591128.dbf 记录 ID=677 时间戳 =623946124存档日志文件名 =/data1/archivelog/1_273_618591128.dbf 记录 ID=679 时间戳 =623946256存档日志文件名 =/data1/archivelog/1_273_618591128.dbf 记录 ID=680 时间戳 =623946256存档日志文件名 =/data1/archivelog/1_274_618591128.dbf 记录 ID=683 时间戳 =623947390存档日志文件名 =/data1/archivelog/1_274_618591128.dbf 记录 ID=682 时间戳 =623947389通道 c1: 已完成段 1 30-5 -07段句柄=8oij1brb_1_1 标记=TAG20070530T144309 注释=API Version 2.0,MMS Version 5.0.0.0通道 c1: 备份集已完成, 经过时间:00:01:01通道 c1: 正在删除存档日志存档日志文件名 =/data1/archivelog/2_189_618591128.dbf 记录 ID=678 时间戳 =623946254存档日志文件名 =/data1/archivelog/2_190_618591128.dbf 记录 ID=681 时间戳 =623947388完成 backup 30-5 -07

启动 backup 30-5 -07通道 c1: 启动全部数据文件备份集通道 c1: 正在指定备份集中的数据文件输入数据文件 fno=00006 name=+DISK/testrac/datafile/zhejiang01.dbf输入数据文件 fno=00009 name=+DISK/testrac/datafile/zhejiang03.dbf输入数据文件 fno=00012 name=+DISK/testrac/datafile/zhejiang05.dbf输入数据文件 fno=00008 name=+DISK/testrac/datafile/ndmain01.dbf输入数据文件 fno=00010 name=+DISK/testrac/datafile/ndindex01.dbf输入数据文件 fno=00001 name=+DISK/testrac/datafile/system.262.618591167输入数据文件 fno=00005 name=+DISK/testrac/datafile/users.267.618591279通道 c1: 正在启动段 1 30-5 -07通道 c2: 启动全部数据文件备份集通道 c2: 正在指定备份集中的数据文件输入数据文件 fno=00007 name=+DISK/testrac/datafile/zhejiang02.dbf输入数据文件 fno=00011 name=+DISK/testrac/datafile/zhejiang04.dbf输入数据文件 fno=00014 name=+DISK/testrac/datafile/zhejiang06.dbf输入数据文件 fno=00002 name=+DISK/testrac/datafile/undotbs1.263.618591197输入数据文件 fno=00004 name=+DISK/testrac/datafile/undotbs2.266.618591249输入数据文件 fno=00013 name=+DISK/testrac/datafile/lt_index_ts01.dbf输入数据文件 fno=00003 name=+DISK/testrac/datafile/sysaux.264.618591225通道 c2: 正在启动段 1 30-5 -07通道 c1: 已完成段 1 30-5 -07段句柄=8pij1bt9_1_1 标记=TAG20070530T144808 注释=API Version 2.0,MMS Version 5.0.0.0通道 c1: 备份集已完成, 经过时间:00:38:06通道 c1: 启动全部数据文件备份集通道 c1: 正在指定备份集中的数据文件备份集中包括当前控制文件通道 c1: 正在启动段 1 30-5 -07通道 c2: 已完成段 1 30-5 -07段句柄=8qij1bt9_1_1 标记=TAG20070530T144808 注释=API Version 2.0,MMS Version 5.0.0.0通道 c2: 备份集已完成, 经过时间:00:38:32通道 c2: 启动全部数据文件备份集通道 c2: 正在指定备份集中的数据文件在备份集中包含当前的 SPFILE通道 c2: 正在启动段 1 30-5 -07通道 c1: 已完成段 1 30-5 -07段句柄=8rij1e4n_1_1 标记=TAG20070530T144808 注释=API Version 2.0,MMS Version 5.0.0.0通道 c1: 备份集已完成, 经过时间:00:01:02通道 c2: 已完成段 1 30-5 -07段句柄=8sij1e5h_1_1 标记=TAG20070530T144808 注释=API Version 2.0,MMS Version 5.0.0.0通道 c2: 备份集已完成, 经过时间:00:01:01完成 backup 30-5 -07

启动 backup 30-5 -07当前日志已存档通道 c1: 正在启动存档日志备份集通道 c1: 正在指定备份集中的存档日志输入存档日志线程 =2 序列 =191 记录 ID=684 时间戳=623948095输入存档日志线程 =2 序列 =192 记录 ID=687 时间戳=623950080通道 c1: 正在启动段 1 30-5 -07通道 c2: 正在启动存档日志备份集通道 c2: 正在指定备份集中的存档日志输入存档日志线程 =1 序列 =275 记录 ID=686 时间戳=623948146输入存档日志线程 =1 序列 =276 记录 ID=689 时间戳=623950104通道 c2: 正在启动段 1 30-5 -07通道 c2: 已完成段 1 30-5 -07段句柄=8uij1e8p_1_1 标记=TAG20070530T152824 注释=API Version 2.0,MMS Version 5.0.0.0通道 c2: 备份集已完成, 经过时间:00:02:06通道 c2: 正在删除存档日志存档日志文件名 =/data1/archivelog/1_275_618591128.dbf 记录 ID=686 时间戳 =623948146存档日志文件名 =/data1/archivelog/1_275_618591128.dbf 记录 ID=685 时间戳 =623948145存档日志文件名 =/data1/archivelog/1_276_618591128.dbf 记录 ID=689 时间戳 =623950104存档日志文件名 =/data1/archivelog/1_276_618591128.dbf 记录 ID=688 时间戳 =623950104通道 c1: 已完成段 1 30-5 -07段句柄=8tij1e8p_1_1 标记=TAG20070530T152824 注释=API Version 2.0,MMS Version 5.0.0.0通道 c1: 备份集已完成, 经过时间:00:02:07通道 c1: 正在删除存档日志存档日志文件名 =/data1/archivelog/2_191_618591128.dbf 记录 ID=684 时间戳 =623948095存档日志文件名 =/data1/archivelog/2_192_618591128.dbf 记录 ID=687 时间戳 =623950080完成 backup 30-5 -07释放的通道: c1释放的通道: c2

恢复步骤也比较简单:

$ srvctl stop db -d testrac
$ rman target /

恢复管理器: Release 10.2.0.3.0 - Production on 星期三 5 30 15:36:56 2007

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

已连接到目标数据库 (未启动)

RMAN> startup mount

Oracle 实例已启动数据库已装载

系统全局区域总计 2147483648 字节

Fixed Size 2031480 字节
Variable Size 335544456
字节
Database Buffers 1795162112
字节
Redo Buffers 14745600
字节

RMAN> run
2> {
3> allocate channel c1 device type sbt;
4> allocate channel c2 device type sbt;
5> restore database;
6> recover database;
7> }

使用目标数据库控制文件替代恢复目录分配的通道: c1通道 c1: sid=306 实例=testrac2 devtype=SBT_TAPE通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

分配的通道: c2通道 c2: sid=305 实例=testrac2 devtype=SBT_TAPE通道c2: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

启动 restore 30-5 -07

通道 c1: 正在开始恢复数据文件备份集通道 c1: 正在指定从备份集恢复的数据文件正将数据文件00001恢复到+DISK/testrac/datafile/system.262.618591167正将数据文件00005恢复到+DISK/testrac/datafile/users.267.618591279正将数据文件00006恢复到+DISK/testrac/datafile/zhejiang01.dbf正将数据文件00008恢复到+DISK/testrac/datafile/ndmain01.dbf正将数据文件00009恢复到+DISK/testrac/datafile/zhejiang03.dbf正将数据文件00010恢复到+DISK/testrac/datafile/ndindex01.dbf正将数据文件00012恢复到+DISK/testrac/datafile/zhejiang05.dbf通道 c1: 正在读取备份段 8pij1bt9_1_1通道 c2: 正在开始恢复数据文件备份集通道 c2: 正在指定从备份集恢复的数据文件正将数据文件00002恢复到+DISK/testrac/datafile/undotbs1.263.618591197正将数据文件00003恢复到+DISK/testrac/datafile/sysaux.264.618591225正将数据文件00004恢复到+DISK/testrac/datafile/undotbs2.266.618591249正将数据文件00007恢复到+DISK/testrac/datafile/zhejiang02.dbf正将数据文件00011恢复到+DISK/testrac/datafile/zhejiang04.dbf正将数据文件00013恢复到+DISK/testrac/datafile/lt_index_ts01.dbf正将数据文件00014恢复到+DISK/testrac/datafile/zhejiang06.dbf通道 c2: 正在读取备份段 8qij1bt9_1_1通道 c1: 已恢复备份段 1段句柄 = 8pij1bt9_1_1 标记 = TAG20070530T144808通道 c1: 恢复完成, 用时: 00:40:27通道 c2: 已恢复备份段 1段句柄 = 8qij1bt9_1_1 标记 = TAG20070530T144808通道 c2: 恢复完成, 用时: 00:40:42完成 restore 30-5 -07

启动 recover 30-5 -07

正在开始介质的恢复

通道 c1: 正在启动到默认目标的存档日志恢复通道 c2: 正在启动到默认目标的存档日志恢复通道 c1: 正在恢复存档日志存档日志线程 =1 序列=275通道 c2: 正在恢复存档日志存档日志线程 =2 序列=191通道 c1: 正在恢复存档日志存档日志线程 =1 序列=276通道 c1: 正在读取备份段 8uij1e8p_1_1通道 c2: 正在恢复存档日志存档日志线程 =2 序列=192通道 c2: 正在读取备份段 8tij1e8p_1_1通道 c1: 已恢复备份段 1段句柄 = 8uij1e8p_1_1 标记 = TAG20070530T152824通道 c1: 恢复完成, 用时: 00:01:45通道 c2: 已恢复备份段 1段句柄 = 8tij1e8p_1_1 标记 = TAG20070530T152824通道 c2: 恢复完成, 用时: 00:01:45存档日志文件名 =/data1/archivelog/2_191_618591128.dbf 线程 =2 序列 =191存档日志文件名 =/data1/archivelog/1_275_618591128.dbf 线程 =1 序列 =275介质恢复完成, 用时: 00:02:34完成 recover 30-5 -07释放的通道: c1释放的通道: c2

根据个人感觉,采用这种方式备份和恢复数据库不但方便而且代价也比较小。

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

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10386724