Oracle 10g RAC 下 RMAN 的配置
一、将数据库转换为归档模式:以下所有操作直接在服务器上进行操作,具体步骤如下:
$ sqlplus / nolog
SQL>conn / as sysdba
1)
在节点1上,修改cluster_database参数为false
SQL>alter system set cluster_database=false scope=spfile;
2)
在节点1上,修改archive的缺省参数,以下是必须修改的三个参数
SQL>alter system set log_archive_format= ‘ora92%t_%s.log’ scope=spfile;
SQL>alter system set log_archive_start= TRUE scope=spfile;
SQL>alter system set log_archive_dest_1=’file path’ scope=spfile;
3)
将所有节点数据库停掉
SQL>shutdown immediate;
4)
在节点1上,将数据库以mount方式启动
SQL>startup mount;
5)
在节点1上,将数据库修改为archivelog方式
SQL>alter database archivelog;
6)
在节点1上,打开数据库
SQL>alter database open;
7)
在节点1上,修改cluster_database参数为true
SQL>alter system set cluster_database=true scope=spfile;
8)
在节点1上,停掉数据库
SQL>shutdown immediate;
9)
将所有节点数据库正常启动
SQL>startup;
10)
检查数据库是否已经是archivelog mode
SQL>archive log list;
Database log mode
Archive Mode
如果显示结果第一行如上所示,说明已经是archivelog mode
二、配置rman 目录数据库
配置CATALOG数据库:
?
用dbassist创建数据库rman 。
?
在该数据库创建RMAN数据库用户:
create user rman identified by rman default tablespace ts_rman
temporary tablespace temp;
grant connect ,resource , RECOVERY_CATALOG_OWNER to rman.
?
连接到目标数据库和CATALOG数据库
rman target system/oracle@testrac rcvcat rman/rman@rman
?
创建CATALOG用户的表:
rman>create catalog
?
登记目标数据库:
rman>register database
这样就可以利用该RMAN数据库来备份目标数据库了。
三、使用rman 进行数据库的备份
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = 'LOCATION=/data1/archivelog' SID = 'testrac1';
系统已更改。
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = 'LOCATION=/data1/archivelog' SID = 'testrac2';
系统已更改。
$ rman target /
恢复管理器: Release 10.2.0.3.0 - Production on 星期五 5月 11 16:06:48 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: TESTRAC (DBID=4291216984)
RMAN> run
2> {
3> allocate channel c1 device type disk format '/data1/backup/%U' connect sys/test@testrac1;
4> allocate channel c2 device type disk format '/data1/backup/%U' connect sys/test@testrac2;
5> backup database plus archivelog delete all input;
6> }
四、在恢复之前,需要将数据库关闭,通过rman启动实例并准备恢复:
$ srvctl stop db -d testrac
下面准备通过RMAN进行数据库的恢复。由于RAC的备份是同时备份到两个节点的本地硬盘上,因此恢复的时候也应该两个节点同时进行RESTORE操作。
可以在两个节点上分别启动RMAN,将数据库处于STARTUP MOUNT状态,然后就可以在任意一个节点上执行RESTORE操作:
$ rman target /
恢复管理器: Release 10.2.0.3.0 - Production on 星期一 5月 14 13:46:25 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> exit
恢复管理器完成。
另一个节点:
$ rman target /
恢复管理器: Release 10.2.0.3.0 - Production on 星期一 5月 14 13:46:41 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 disk format '/data1/backup/%U' connect sys/test@testrac1;
4> allocate channel c2 device type disk format '/data1/backup/%U' connect sys/test@testrac2;
5> restore database;
6> }
下面恢复归:
RMAN> run
2> {
3> allocate channel c1 device type disk format '/data1/backup/%U' connect sys/test@testrac1;
4> allocate channel c2 device type disk format '/data1/backup/%U' connect sys/test@testrac2;
5> recover database;
7> }
原文地址
http://www.