存储 频道

RMAN 恢复实践

谈恢复肯定离不开备份,不过今天我们的重点不在于此,我在在这里将备份分为两类:操作系统备份和数据库备份,而数据库备份工作我们大部分都是用RMAN 来做。对于使用RMAN 我强烈建议使用catalog mode。

测试环境:WIN2K ADV+ORACLE817

RMAN:target database named ORA,catalog database named RCVDB

一、Control file的恢复

说明:RMAN 的备份必须在catalog mode下进行,否则备份了control file也没有用;但即使是这样有时候可能还会出现很多问题。建议:control file 用SQL或操作系统的方式做备份和恢复。

1、RMAN备份的恢复

备份:

run {

allocate channel c1 type disk;

backup current controlfile;

}

恢复:

run {

allocate channel c1 type disk;

restore controlfile to '/oracle/oradata/ora/control01.ctl';

replicate controlfile from '/oracle/oradata/ora/control01.ctl';

restore database;

sql 'alter database mount';

recover database until cancel;

sql 'alter database open resetlogs';

release channel c1;

}

使用resetlogs之后需在catalog database 上进行reset database,原有备份信息将不可用,所以要及时进行新的完全备份。

2、SQL备份的恢复

备份:

alter database backup controlfile to trace;

恢复:

先将数据库shutdown,然后从备份所产生的trace文件中拷出创建恢复所用的SQL执行一遍

即可。如果你之前没有做这样的备份那也没关系,形式如下你可以照着写一个:

#--------------------------------BEGIN-----------------------------------------


# The following commands will create a new control file and use it

# to open the database.

# Data used by the recovery manager will be lost. Additional logs may

# be required for media recovery of offline data files. Use this

# only if the current version of all online logs are available.

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE "ORA" NORESETLOGS

NOARCHIVELOG

MAXLOGFILES 32

MAXLOGMEMBERS 2

MAXDATAFILES 32

MAXINSTANCES 16

MAXLOGHISTORY 680

LOGFILE

GROUP 1 (

'C:\ORACLE\ORADATA\ORA\REDO01.LOG',

'C:\ORACLE\ORADATA\ORA\REDO01_1.LOG'

) SIZE 1M,

GROUP 2 (

'C:\ORACLE\ORADATA\ORA\REDO02.LOG',

'C:\ORACLE\ORADATA\ORA\REDO02_1.LOG'

) SIZE 1M,

GROUP 3 (

'C:\ORACLE\ORADATA\ORA\REDO03_1.LOG',

'C:\ORACLE\ORADATA\ORA\REDO03_2.LOG'

) SIZE 1M

DATAFILE

'C:\ORACLE\ORADATA\ORA\SYSTEM01.DBF',

'C:\ORACLE\ORADATA\ORA\RBS01.DBF',

'C:\ORACLE\ORADATA\ORA\USERS01.DBF',

'C:\ORACLE\ORADATA\ORA\TEMP01.DBF',

'C:\ORACLE\ORADATA\ORA\TOOLS01.DBF',

'C:\ORACLE\ORADATA\ORA\INDX01.DBF'

CHARACTER SET ZHS16GBK
;

# Recovery is required if any of the datafiles are restored backups,

# or if the last shutdown was not normal or immediate.

RECOVER DATABASE

# Database can now be opened normally.

ALTER DATABASE OPEN;
0
相关文章