RAC环境数据库的备份(归档日志放在ASM上)

根据Oracle的RAC环境的不同,RMAN备份、恢复操作也是不同的。如果RAC环境是建立在CLUSTER文件系统上的,或者是建立在ASM上的,那么备份和恢复过程可能会很简单,基本上和普通的数据库环境没有太多的区别。如果RAC环境是建立在裸设备上的,由于归档日志无法存储在裸设备上,那么归档日志文件必须放在多个节点的本地硬盘上,这时备份和恢复就变得和普通的数据库环境有所差异。
这里先讨论一下ASM环境上建立的RAC数据库的备份。如果将归档日志放在ASM上,那么两个节点都是可以备份的,这个时候,备份和普通的单实例数据库没有差别。
SQL> SHOW PARAMETER LOG_ARCHIVE_DEST_1
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string LOCATION=+DISK/testrac/
log_archive_dest_10 string
$ rman target /
恢复管理器: Release 10.2.0.3.0 - Production on 星期三 4月 25 17:23:01 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: TESTRAC (DBID=4291216984)
RMAN> configure channel device type disk format '/data1/backup/%U';
使用目标数据库控制文件替代恢复目录
旧的 RMAN 配置参数:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data/backup/testrac/%U';新的 RMAN 配置参数
:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/backup/%U';已成功存储新的 RMAN 配置参数
RMAN> backup database plus archivelog delete all input;

启动 backup 于 25-4月 -07当前日志已存档
分配的通道: ORA_DISK_1通道 ORA_DISK_1: sid=312 实例=testrac1 devtype=DISK通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =134 记录 ID=220 时间戳=620832208输入存档日志线程 =1 序列 =135 记录ID=221 时间戳=620846651输入存档日志线程 =2 序列 =56 记录 ID=219 时间戳=620831921输入存档日志线程 =2 序列 =57 记录 ID=222 时间戳=620846652通道ORA_DISK_1: 正在启动段 1 于 25-4月 -07通道 ORA_DISK_1: 已完成段 1 于 25-4月 -07段句柄=/data1/backup/08ig2nhv_1_1 标记=TAG20070425T172413 注释=NONE通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:07通道 ORA_DISK_1: 正在删除存档日志
存档日志文件名 =+DISK/testrac/1_134_618591128.dbf 记录ID=220 时间戳 =620832208存档日志文件名 =+DISK/testrac/1_135_618591128.dbf 记录 ID=221 时间戳 =620846651存档日志文件名=+DISK/testrac/2_56_618591128.dbf 记录 ID=219 时间戳 =620831921存档日志文件名 =+DISK/testrac/2_57_618591128.dbf 记录 ID=222 时间戳 =620846652完成 backup 于 25-4月 -07
启动 backup 于 25-4月 -07使用通道 ORA_DISK_1通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件fno=00006 name=+DISK/testrac/datafile/zhejiang01.dbf输入数据文件 fno=00007 name=+DISK/testrac/datafile/zhejiang02.dbf输入数据文件 fno=00009 name=+DISK/testrac/datafile/zhejiang03.dbf输入数据文件 fno=00011 name=+DISK/testrac/datafile/zhejiang04.dbf输入数据文件 fno=00012 name=+DISK/testrac/datafile/zhejiang05.dbf输入数据文件 fno=00014 name=+DISK/testrac/datafile/zhejiang06.dbf输入数据文件 fno=00008 name=+DISK/testrac/datafile/ndmain01.dbf输入数据文件 fno=00002 name=+DISK/testrac/datafile/undotbs1.263.618591197输入数据文件 fno=00004 name=+DISK/testrac/datafile/undotbs2.266.618591249输入数据文件 fno=00010 name=+DISK/testrac/datafile/ndindex01.dbf输入数据文件 fno=00013 name=+DISK/testrac/datafile/lt_index_ts01.dbf输入数据文件 fno=00001 name=+DISK/testrac/datafile/system.262.618591167输入数据文件 fno=00003 name=+DISK/testrac/datafile/sysaux.264.618591225输入数据文件 fno=00005 name=+DISK/testrac/datafile/users.267.618591279通道 ORA_DISK_1: 正在启动段 1 于 25-4月 -07通道 ORA_DISK_1: 已完成段 1 于 25-4月 -07段句柄=/data1/backup/09ig2ni9_1_1 标记=TAG20070425T172424 注释=NONE通道 ORA_DISK_1:备份集已完成, 经过时间:00:15:05通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE通道 ORA_DISK_1: 正在启动段 1 于 25-4月 -07通道 ORA_DISK_1: 已完成段 1 于 25-4月 -07段句柄=/data1/backup/0aig2oej_1_1 标记=TAG20070425T172424 注释=NONE通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03完成 backup 于 25-4月 -07
启动 backup 于 25-4月 -07当前日志已存档
使用通道 ORA_DISK_1通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =136 记录 ID=223 时间戳=620847576输入存档日志线程 =2 序列 =58 记录 ID=224 时间戳=620847576通道 ORA_DISK_1: 正在启动段 1于 25-4月 -07通道 ORA_DISK_1: 已完成段 1 于 25-4月 -07段句柄=/data1/backup/0big2oes_1_1 标记=TAG20070425T173940 注释=NONE通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02通道 ORA_DISK_1: 正在删除存档日志
存档日志文件名 =+DISK/testrac/1_136_618591128.dbf 记录 ID=223 时间戳 =620847576存档日志文件名 =+DISK/testrac/2_58_618591128.dbf 记录 ID=224 时间戳 =620847576完成 backup 于 25-4月 -07
数据库的恢复也很简单,先修改一些数据:
SQL> CONN TEST/TEST已连接。
SQL> SELECT COUNT(*) FROM T;
COUNT(*)
----------
0
SQL> INSERT INTO T SELECT ROWNUM FROM DBA_OBJECTS;
已创建51880行。
SQL> COMMIT;
提交完成。
下面开始还原和恢复:
$ rman target /
恢复管理器: Release 10.2.0.3.0 - Production on 星期四 4月 26 11:21:29 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到目标数据库 (未启动)
RMAN> startup mount
Oracle 实例已启动
数据库已装载
系统全局区域总计 2147483648 字节
Fixed Size 2031480 字节
Variable Size 318767240 字节
Database Buffers 1811939328 字节
Redo Buffers 14745600 字节
RMAN> restore database;
启动 restore 于 26-4月 -07使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到+DISK/testrac/datafile/system.262.618591167正将数据文件00002恢复到+DISK/testrac/datafile/undotbs1.263.618591197正将数据文件00003恢复到+DISK/testrac/datafile/sysaux.264.618591225正将数据文件00004恢复到+DISK/testrac/datafile/undotbs2.266.618591249正将数据文件00005恢复到+DISK/testrac/datafile/users.267.618591279正将数据文件00006恢复到+DISK/testrac/datafile/zhejiang01.dbf正将数据文件00007恢复到+DISK/testrac/datafile/zhejiang02.dbf正将数据文件00008恢复到+DISK/testrac/datafile/ndmain01.dbf正将数据文件00009恢复到+DISK/testrac/datafile/zhejiang03.dbf正将数据文件00010恢复到+DISK/testrac/datafile/ndindex01.dbf正将数据文件00011恢复到+DISK/testrac/datafile/zhejiang04.dbf正将数据文件00012恢复到+DISK/testrac/datafile/zhejiang05.dbf正将数据文件00013恢复到+DISK/testrac/datafile/lt_index_ts01.dbf正将数据文件00014恢复到+DISK/testrac/datafile/zhejiang06.dbf通道 ORA_DISK_1: 正在读取备份段/data1/backup/09ig2ni9_1_1通道 ORA_DISK_1: 已恢复备份段 1段句柄 = /data1/backup/09ig2ni9_1_1 标记 = TAG20070425T172424通道 ORA_DISK_1: 恢复完成, 用时: 00:20:26完成 restore 于 26-4月 -07
RMAN> restore archivelog sequence between 134 and 136 thread 1;
启动 restore 于 26-4月 -07使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=134通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=135通道 ORA_DISK_1: 正在读取备份段 /data1/backup/08ig2nhv_1_1通道 ORA_DISK_1: 已恢复备份段 1段句柄 = /data1/backup/08ig2nhv_1_1 标记 = TAG20070425T172413通道 ORA_DISK_1: 恢复完成, 用时: 00:00:07通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=136通道 ORA_DISK_1: 正在读取备份段 /data1/backup/0big2oes_1_1通道 ORA_DISK_1: 已恢复备份段 1段句柄 = /data1/backup/0big2oes_1_1 标记 = TAG20070425T173940通道 ORA_DISK_1: 恢复完成, 用时: 00:00:01完成 restore 于 26-4月 -07
RMAN> restore archivelog sequence between 56 and 58 thread 2;
启动 restore 于 26-4月 -07使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =2 序列=56通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =2 序列=57通道 ORA_DISK_1: 正在读取备份段 /data1/backup/08ig2nhv_1_1通道 ORA_DISK_1: 已恢复备份段 1段句柄 = /data1/backup/08ig2nhv_1_1标记 = TAG20070425T172413通道 ORA_DISK_1: 恢复完成, 用时: 00:00:03通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =2 序列=58通道 ORA_DISK_1: 正在读取备份段 /data1/backup/0big2oes_1_1通道 ORA_DISK_1: 已恢复备份段 1段句柄 = /data1/backup/0big2oes_1_1 标记 = TAG20070425T173940通道 ORA_DISK_1: 恢复完成, 用时: 00:00:01完成 restore 于 26-4月 -07
RMAN> recover database;
启动 recover 于 26-4月 -07使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:38
完成 recover 于 26-4月 -07
RMAN> alter database open;
数据库已打开
检查恢复是否已经完成:
$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期四 4月 26 13:29:14 2007
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
已连接到空闲例程。
SQL> startup
ORACLE
例程已经启动。
Total System Global Area 2147483648 bytes
Fixed Size 2031480 bytes
Variable Size 318767240 bytes
Database Buffers 1811939328 bytes
Redo Buffers 14745600 bytes
数据库装载完毕。
数据库已经打开。
SQL> CONN TEST/TEST已连接。
SQL> SELECT COUNT(*) FROM T;
COUNT(*)
----------
51880
标签: 暂无标签
oraunix

写了 199 篇文章,拥有财富 1026,被 339 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

游客 | 发表于 2012-12-26 13:28:38
谢谢
回复

使用道具

P5 | 发表于 2012-12-27 18:04:52
RAC用ASM要省事的多!
回复

使用道具

P5 | 发表于 2012-12-27 18:06:34
不过要学ASM又不太省事了,
回复

使用道具

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈