一,环境准备

❤ 拥有全量备份文件

删除了很多文件,还留着控制文件和spfile

查看这些文件的位置

数据文件

oracle 备份恢复篇(五)---rman 剩下控制文件和spfile_控制文件

查看控制文件

oracle 备份恢复篇(五)---rman 剩下控制文件和spfile_控制文件_02

 spfile

oracle 备份恢复篇(五)---rman 剩下控制文件和spfile_数据库_03oracle 备份恢复篇(五)---rman 剩下控制文件和spfile_数据文件_04

select * from v$controlfile;


select name from v$datafile


select * from v$logfile;



SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME ='spfile';

Show parameter spfile

View Code

oracle 备份恢复篇(五)---rman 剩下控制文件和spfile_数据文件_05

logfile

oracle 备份恢复篇(五)---rman 剩下控制文件和spfile_数据库_06

了解了位置那就开始删除了

 删库删表千万条,安全备份第一条

运维操作不规范.背上背包泪两行.

oracle 备份恢复篇(五)---rman 剩下控制文件和spfile_控制文件_07

文件都在一堆,一个一个删是不可能的了

oracle 备份恢复篇(五)---rman 剩下控制文件和spfile_数据库_08

一键搞定

 起不来了,有一点熟悉的报错的样子oracle 备份恢复篇(五)---rman 剩下控制文件和spfile_数据库_09

二,恢复操作

由于控制文件还在启动数据库到mount状态

oracle 备份恢复篇(五)---rman 剩下控制文件和spfile_数据库_10

restore database;恢复数据oracle 备份恢复篇(五)---rman 剩下控制文件和spfile_数据库_11

一模一样的操作.....怎么感觉一样啊???这操作?没区别码这不是?

恢复归档日志,重置redo,就可以用数据库啦

oracle 备份恢复篇(五)---rman 剩下控制文件和spfile_数据库_12

等等----出现了什么?

oracle 备份恢复篇(五)---rman 剩下控制文件和spfile_数据库_13

报错了..我把redo日志给删除了,他就报错找不到

联机恢复重做日志

登入数据库 

输入命令

recover database until cancel;

会进入提示让你选择: 你输入cancel即可

alter database open resetlogs;

oracle 备份恢复篇(五)---rman 剩下控制文件和spfile_控制文件_14

    最后打开数据库就完成恢复了