数据库一般有两种常见故障介质损坏人为失误 防止介质损坏一般使用Data Guard等技术防止人为失误,可以使用Oracle闪回功能. 但是人
数据库一般有两种常见故障
介质损坏
人为失误
防止介质损坏一般使用Data Guard等技术
防止人为失误,可以使用Oracle闪回功能.
但是人为失误一旦不能通过闪回恢复,就需要使用Rman恢复了。
使用Rman恢复,想想那个恢复速度和自己窘迫的样子还有里三层外三层的老板,领导,同事..
为了避免这个情况,可以使用另外一台服务器,做一个Oracle的还原库.
主库每隔一段时间,将归档日志推送至还原库的指定目录(scp,rsync,我们使用的是小花狸监控软件)
还原库每隔一段时间,应用归档日志.
也就是说,还原库的数据总是落后于生产数据库.类似于一个延迟的DataGuard。
我们配置的还原库落后于生产数据库6-9个小时.
从还原库恢复人为错误,一般可以控制在30分钟之内.
而从Rman异机恢复,估计需要4-5个小时.
制作还原库一般有下面几个步骤
1.卸载还原库已经存在的数据库(如果还原库存在数据库实例)
shutdown abort;
startup mount exclusive restrict;
alter system enable restricted session;
drop database;
2.使用Rman备份生产数据库
CONFIGURE DEVICE TYPE DISK PARALLELISM 5 BACKUP TYPE TO BACKUPSET;
sql 'alter system archive log current';
BACKUP AS COMPRESSED BACKUPSET DATABASE ;
3.在$ORACLE_HOME/dbs目录下,新建一个文件(init$SID.ora)
文件内仅仅有一行SID的配置
db_name=mvbox
4.恢复spfile
先从Rman备份中,恢复spfile
[oracle@localhost/data/IP/2015_09_25]$rman target /
Recovery Manager: Release 10.2.0.4.0 - Production on Fri Sep 25 17:26:40 2015
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database (not started)
RMAN> startup nomount;
Oracle instance started
Total System