rman备份方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

以下都是使用rman增量备份,主要是从数据库大小和备份还原所用时间两个方面考虑。

0级备份表示数据库的全备份,默认不包括只读表空间。

1级备份表示小于等于1级备份以来的数据库变化情况。

2级备份表示小于等于2级别分以来数据库的变化情况。

3级,4级的意思和1级相似。

1、一月一次0级备份,两周一次1级备份,一周一次2级备份,每天一次3级备份。

此备份方案将备份时间分散,可以说是节省了备份的时间,而且节省了许多存储备份的空间,但是这造成还原时间增加了许多。

2、两周一次0级备份,一周一次1级备份,每天一次2级备份。

此备份方案相对方案2在备份时间上增长,还原时间缩短,存储备份的空间也相对有少量的增加。

3、一周一次0级备份,每天一次1级备份。

此方案平凡的对数据库进行全备份,占用操作系统的资源相对方案2和方案3大了很多,而且占用更多存储空间,但是此方案节省了很多恢复的时间。

数据库的备份方案选择主要调节备份和还原所用时间之间的平衡,使其对生产系统的影响降到最小。如果备份时间过长会长时间的占用I/O和内存资源,造成生产环境文件读取速度慢;如果还原时间太长,则拖延了系统恢复后正常上线的时间。对于现在的数据库系统,案2和方案3在备份时间上和方案4相差无几,在备份存储上比方案4节省不少,但是在还原时间上却大大超过方案4。

为了数据的安全性,建议不用方案1作为主要备份。而对于2,3,4,在实际生产环境中,根据现在数据库大小和每天产生的数据量大小的估计,方案4最适合。虽然平凡的0级备份对操作系统的资源占用很大,但是从测试的情况看,每次0级备份所发的时间是20分钟左右,1级备份所用的时间是6分钟左右,而且每次0级备份都在周末比较空闲的00:00进行,对生产环境的影响可以忽略不计。在备份存储方面,一次0级备份占用空间30G,每天1级备份占用空间是600M左右,一周的全部备份文件大小在120G左右,E盘存储空间大小正好适合于两周数据的存储,可以在1-2周手动的清理过期的备份集一次。

所以综合考虑,方案4最适合现在的生产环境。不过当数据库大小增加到200G以上时,0级备份时间与还原时间分配不平衡时,可以换用方案3;当数据库大小增加到1T以上时,可以考虑用方案2或者制定其他的方案。

一、备份方法。

如果恢复目录已经创建,执行第六步就行。

1、启动数据库归档

Startup mount

Alter database open archivelog;

2、创建工具表空间。

Create tablespace tools datafile …数据文件路径‟ size 50m;

3、创建rman用户

Create user rman identified by rman0501 default tablespace tools temporary tablespace temp;

4、给rman用户授予权限

Grant resource,connect,recovery_catalog_owner to rman;

5、创建恢复目录

Rman target / catalog rman/rman0501

Create catalog tablespace tools;

6、注册数据库

Register database;

6、编写备份执行脚本

0级备份文件backup_0.rcv

1级备份文件backup_1.rcv

2级备份文件backup_2.rcv

批处理文件backup_0.bat, backup_1.bat, backup_2.bat

用方案2定制的定时任务命令

每周日运行一次0 级备份

Schtasks /create /tn “backup_0” /tr backup_0.bat(绝对路径) /sc weekly /d SUN /st 01:00

每天运行一次1级备份

Schtasks /create /tn “backup_1” /tr backup_1.bat /sc daily /st 23:59

每隔两周手动清理一次数据

查看过期的备份

Report obsolete

留下上一周备份,上一周以前的备份全部删除

Delete backupset id1,id2…

二、还原数据库

1、完全恢复

用于数据出现崩溃后,无法启动的情况。

编写恢复脚本

recovery.rcv

执行批处理

recovery.bat

2、不完全恢复,用于因误操作导致表或数据别删除的情况。

出现这种情况请立即关闭应用。

在nrecovery.rcv中设置需要恢复到的时间点。如果不知道是哪个时间点。就启动数据库执行:

启动命令模式

Conn / as sysdba

Select …exec dbms_logmnr.add_logfile(…‟‟||member||‟‟‟) from v$logfiles;

执行以上的查询结果。

Exec dbms_logmnr.start_logmnr

Select scn,sql_redo from v$logmnr_contents where sql_redo like …%delete 或者drop%‟;

Exec dbms_logmnr_end_logmnr

将recovery.rcv中的set until time 改成set until scn …以上查询出来的‟

执行nrecovery.bat

最后在rman中reset database; 同步数据库。

运行过程中如果出现ora-01861错误,则进入注册表在hkey_local_machines/oftware/oraclehome0下新建字串名为nls_date_format,定义时间格式为

相关文档
最新文档