ORACLE整体数据库的备份与恢复方法

文章作者 100test 发表时间 2008:03:29 14:21:19
来源 100Test.Com百考试题网


1.备份:(在10G版本中测试)增量备份会自动备份数据库中的数据库文件,控制文件,参数文件,备份完成后会有两个备份集生成,一个是由数据文件组成,另一个是由控制文件和参数文件组成。之所以自动备份控制文件,也许是由于RMAN是在非目录(nocatalog)的环境下工作的结果,因为此时所有的备份信息都存放在控制文件中。

问题1:如何记录下控制文件备份集的名字,以便在特定情况下单独使用它们。免去再另外备份一次的麻烦。

备份脚本如下:
RMAN target system/Eisoo@test nocatalog cmdfile d:\backup\res.rcv (登录到RMAN)

Run {
Allocate channel d1 type disk.
Backup as compressed backupset(可选的) incremental level 0 format
‘d:\backup\db_%d_%s_%p_%t’ database.
Release channel d1.
Alter database open.
}

2.恢复:整体数据库的恢复在数据库被加载(mount)的情况下进行,因为RMAN需要读取控制文件中的备份信息。数据库的恢复脚本如下:

Shutdown immediate/abort. //有多中情况。
Startup mount.
Run {
Allocate channel d1 type disk.
Restore database.
Recover database.
Release channel d1.
Alter database open.
}
注意:在恢复脚本中的第一句(shutdown immediate/abort),当我们恢复时,数据库已经处于关闭状态时,脚本中如果有shutdown immediate/abort,则RMAN恢复会出错。当数据库处于Open状态时,如果不用shutdown immediate/abort,我们就不能将数据库以我们需要的方式(startup mount/nomount)启动,这样的话在恢复过程也会出问题。问题2:所以此时要想办法获得数据库的状态,再决定脚本的构成。

整体数据库的时间点恢复:
时间点恢复属于不完全恢复的一种,一般用于用户恢复误删除的某个表或某些记录,此时整个数据库(包括控制文件)会恢复到用户指定的某个时间点,这就意味着这个时间点以后的操作都将无效。其脚本如下:

Run {
Set until time “TO_DATE(‘08/07/2007 12:00:00’, ‘MM/DD/YYYY HH24:MI:SS’)”.
Shutdown immediate.
Startup mount.
Allocate channel d1 type disk.
Restore database.
Recover database.
Release channel d1.
Alter database open resetlogs.
}
当数据库被恢复后,会通过Alter database open resetlogs将重置日志,此时,新的控制文件会将以前的备份信息丢失,这样数据库就不能在用不完全恢复去恢复到‘08/07/2007 12:00:00之前的某个时间点。有一个办法就是首先恢复控制文件到先前的某个版本,然后再恢复数据库。

建议不完全恢复都采用这种做法。先恢复控制文件,再恢复数据文件。
Shutdown abort.
Startup nomount.
Run {
Allocate channel d1 type disk.
Restore controlfile from ‘d:\backup\CTL_TEST_0_1_6555’.
Release channel d1 .
Alter database mount.
RMAN> run {
set until time "TO_DATE(’08/08/2007 10:30:00’,’MM/DD/YYYY HH24:MI:SS’)".
shutdown immediate.
startup mount.
allocate channel d1 type disk.
restore database.
recover database.
release channel d1.
alter database open resetlogs.
}

相关文章


WindowsVista系列技巧之系统桌面应用
命令解决无法格式化Vista安装分区问题
甲骨文公司推出通用记录管理10g第三版
ORACLE表空间的备份与恢复方法
ORACLE整体数据库的备份与恢复方法
toad在RAC环境下无法调试oracle存储过程的解决办法
oracle10g上启动实例报警
oracle控制文件的备份与恢复方法
寻找没有使用的索引
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛