一、简要说明(Oracle恢复管理器)
Oracle恢复管理器:是一个可执行程序,是一个前端的接口程序,它可发出命令在后台能调PLSQL块对数据库进行备份。
恢复管理器对数据库进行备份时,以oracle的8k为单位来扫描数据块的状态。
所以不需要做begin ....backup这个操作,由oracle对自己的核心文件以8k为单位进行拷贝,如果8k是坏的,则不进行拷贝。如果拷文件 先拷贝文件头,所以能保证文件头的块是第一个被拷贝的。不是cp做的,是oracle 用plsql自己对自己的物理文件进行拷贝动作。
因此备份时对数据库的影响比较低,因为没有开begin..backup,不会在备份过程中产生额外的redo,效率比热备份高一些。 本次简要模拟控制文件丢失 找回。
二、启动恢复管理器
输入命令:rman 登录:connect target /
connect 数据库类型(目标库target--想备份的数据库,恢复数据库,
辅助数据库--备份信息写入到辅助数据库 或远程节点的还原操作)
启动的同时进行登录:rman target /
三、rman命令
3.1 查看数据库中都有什么
RMAN> report schema;
作用:文件编号,大小,位置
3.2 使用rman对控制文件 镜像备份
建rman目录: mkdir rmanbk
外挂程序 rlwrap.rpm, 支持光标回退,命令回显
ssh root@192.168.3.14
安装:rpm -ivh rlwrap.rpm
RMAN> copy current controlfile to '/home/oracle/rmanbk/control01.ctl';
好处:不用自己记录备份信息,备份信息自动写入目标库的控制文件,通过命令可以查看做过哪些备份。
3.3查看控制文件的镜像备份
RMAN> list copy of controlfile;
3.
3.4模拟控制文件丢失,还原
1)丢失模拟
SQL> select name from v$controlfile;
SQL> shutdown immediate;
!rm -f /u01/app/oracle/oradata/ORCL/control01.ctl
!rm -f /u01/app/oracle/flash_recovery_area/ORCL/control02.ctl
startup force 此时因为控制文件丢失,遭遇ORA-00205异常
实例可以加载,但是无法mount数据库
2)使用rman还原丢失的控制文件
RMAN> restore controlfile from '/home/oracle/rmanbk/control01.ctl';
3)在rman中挂载数据库、恢复数据库
RMAN> alter database mount;
RMAN> recover database ;
RMAN> alter database open resetlogs ;
因为是不完全恢复,打开数据库时必须使用resetlogs选项。
检查结果:
自此,控制文件丢失还原已找到。数据库正常使用。