Oracle rac rman 配置方案
一、将数据库转换为归档模式: 以下所有操作直接在服务器上进行操作,具体步骤如下: $ sqlplus / nolog 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> } |