背景:这里提到的常规恢复指的是数据库有完备可用的RMAN物理备份。

实验环境:RHEL6.4 + Oracle 11.2.0.4 DG primary.

一、常规恢复之完全恢复:不丢失数据

一、常规恢复之完全恢复:不丢失数据

Oracle 数据库常规恢复的几个概念:

常规恢复之完全恢复:不丢失数据。

比如数据文件丢失,临时文件丢失,参数文件丢失。可以通过RMAN备份完全恢复数据库。

示例:Oracle Recovery 01 - 常规恢复之完全恢复

常规恢复之不完全恢复:部分数据丢失。

一般是有控制文件或是在线重做日志文件丢失。通过RMAN备份恢复,resetlogs会导致丢失数据。

示例:Oracle Recovery 02 - 常规恢复之不完全恢复

1.1 单个数据文件丢失或损坏

### 启动数据库报错: ###

SQL> startup
ORACLE instance started. Total System Global Area 1620115456 bytes
Fixed Size 2253704 bytes
Variable Size 905972856 bytes
Database Buffers 704643072 bytes
Redo Buffers 7245824 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 15 - see DBWR trace file
ORA-01110: data file 15: '+DATA1/jyzhao/datafile/dbs_d_jingyu.259.886871319'

恢复方法:

RMAN>
restore datafile 15;
recover datafile 15;
sql 'alter database datafile 15 online';
sql 'alter database open';

1.2 所有数据文件丢失或损坏

### 启动数据库报错: ###

SQL> startup
ORACLE instance started. Total System Global Area 1620115456 bytes
Fixed Size 2253704 bytes
Variable Size 905972856 bytes
Database Buffers 704643072 bytes
Redo Buffers 7245824 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '+DATA1/jyzhao/datafile/system.278.886441901'

恢复方法:

RMAN>
restore database;
recover database;
sql 'alter database open';

1.3 参数文件丢失或损坏

### 启动数据库报错: ###

SQL> startup
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+DATA1/jyzhao/spfilejyzhao.ora'
ORA-17503: ksfdopn:2 Failed to open file +DATA1/jyzhao/spfilejyzhao.ora
ORA-15056: additional error message
ORA-17503: ksfdopn:2 Failed to open file +DATA1/jyzhao/spfilejyzhao.ora
ORA-15173: entry 'spfilejyzhao.ora' does not exist in directory 'jyzhao'
ORA-06512: at line 4

恢复方法:

1)vi编辑初始化参数文件,指定db_name, control_files,compatible

vi /u01/app/oracle/product/11.2.0/db_1/dbs/init86.ora

db_name='jyzhao'
control_files = '+DATA1/JYZHAO/CONTROLFILE/Current.260.874084673'
compatible ='11.2.0.4'

2)启动到mount状态

SQL> startup mount pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/init86.ora'

3)RMAN恢复spfile文件

RMAN> restore spfile from autobackup;

4)关库重新用恢复的spfile文件启动数据库

SQL> shutdown abort
SQL> startup

1.4 参数文件,数据文件丢失或损坏

启动数据库报错:

综合考虑1.3,1.2,1.1的内容。

恢复方法:

先按照1.3恢复参数文件,再根据实际情况选择1.1或1.2。

1.5 临时文件丢失或损坏

重启库之后自动重建临时文件并成功open数据库。
可以在alert.log看到如下一段日志:

[8440] Successfully onlined Undo Tablespace 2.
Undo initialization finished serial:0 start:348324004 end:348324254 diff:250 (2 seconds)
Verifying file header compatibility for 11g tablespace encryption..
Verifying 11g file header compatibility for tablespace encryption completed
SMON: enabling tx recovery
Re-creating tempfile +DATA1/jyzhao/tempfile/temp.264.874084679 as +DATA1/jyzhao/tempfile/temp.264.887107953
Database Characterset is ZHS16GBK
No Resource Manager plan active
Archived Log entry 1162 added for thread 1 sequence 883 ID 0x93779c13 dest 1:
ARC1: Standby redo logfile selected for thread 1 sequence 883 for destination LOG_ARCHIVE_DEST_2
replication_dependency_tracking turned off (no async multimaster replication found)
Starting background process QMNC
Fri Aug 07 10:52:33 2015
QMNC started with pid=38, OS id=8605
ARC3: Archival started
ARC0: STARTING ARCH PROCESSES COMPLETE
Completed: ALTER DATABASE OPEN

Oracle Recovery 01 - 常规恢复之完全恢复的更多相关文章

  1. Oracle Recovery 02 - 常规恢复之不完全恢复

    背景:这里提到的常规恢复指的是数据库有完备可用的RMAN物理备份. 实验环境:RHEL6.4 + Oracle 11.2.0.4 单实例. 二.常规恢复之不完全恢复:部分数据丢失 2.1 重做日志文件 ...

  2. 本文将详细介绍oracle 10g OEM常规错误

    本文将详细介绍oracle 10g OEM常规错误-------Unknown host specified解决方法,需要了解的朋友可以参考下 详细出处参考:http://www.jb51.net/a ...

  3. Oracle 基于 RMAN 的不完全恢复(incomplete recovery by RMAN)

    Oracle 数据库可以实现数据库不完全恢复与完全恢复.完全恢复是将数据库恢复到最新时刻,也就是无损恢复,保证数据库无丢失的恢复.而不完全恢复则是根据需要特意将数据库恢复到某个过去的特定时间点或特定的 ...

  4. Oracle RMAN 备份及不完全恢复(删除archievelog)

    RMAN备份命令 backup Database format='/home/oracle/backup/bak_full_%U_%T' tag='bak_full'; sql 'alter syst ...

  5. Oracle实用-01:绑定变量

    数据库虽然在学校系统学习过,但是在工作中真正使用起来收获又是不一样的,今天起打算将项目中使用到的技术再分享出来,不以书本的顺序,只从碰到的问题为顺序. 虽然不是纯粹的数据库工程师,但是每个程序员总免不 ...

  6. Oracle笔记 #01# 简单分页

    rownum是Oracle为查询结果分配的有序编号(总是从1~n).言下之意,rownum字段本来并不存在于表中,而是经查询后才分配的. 举一个例子: SELECT rownum, name, pri ...

  7. Oracle recovery manager failed to restore

    解决办法: 1:清理过期失效的备份, 2:增加recovery_file_dest_size参数值即可: SQL> show parameter db_recover NAME          ...

  8. Oracle基础 01 表空间 tablespace

    --查看表空间 select * from dba_tablespaces; select * from v$tablespace; select * from dba_data_files; --查 ...

  9. Oracle使用中的常规操作总结

    写一篇在使用Oracle过程中一些常用的操作,以便于忘记的时候查看 一.创建用户和给用户赋予权限 create user 用户名 identified by 密码; --12c一下版本 create ...

随机推荐

  1. iOS开发——post异步网络请求封装

    IOS中有许多网络请求的函数,同步的,异步的,通过delegate异步回调的. 在做一个项目的时候,上网看了很多别人的例子,发现都没有一个简单的,方便的异步请求的封装例子.我这里要给出的封装代码,是异 ...

  2. C++类型转换函数

    1.什么是类型转换函数 类型转换函数的作用是将一个类的对象转换成另一类型的数据. class testclass { private: int r; int m; public : testclass ...

  3. eclipse 下找不到或无法加载主类的解决办法

    有时候 Eclipse 会发神经,好端端的 project 就这么编译不了了,连 Hello World 都会报“找不到或无法加载主类”的错误,我已经遇到好几次了,以前是懒得深究就直接重建projec ...

  4. ASP.NET Core中显示自定义错误页面

    在 ASP.NET Core 中,默认情况下当发生500或404错误时,只返回http状态码,不返回任何内容,页面一片空白. 如果在 Startup.cs 的 Configure() 中加上 app. ...

  5. CSS3 制作一个边框向周围散开的按钮效果

    我们将要达到的是如下的效果(若效果未出现请刷新): 分析 主要还是运用CSS3的transition, animation, transform还有渐变背景等特性. 由于按钮在鼠标进入时有不同的样式, ...

  6. 《Entity Framework 6 Recipes》中文翻译系列 (35) ------ 第六章 继承与建模高级应用之TPH继承映射中使用复合条件

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 6-11  TPH继承映射中使用复合条件 问题 你想使用TPH为一张表建模,建模中使 ...

  7. 【原】安装Win7和Ubuntu双系统后,Win7耳机无声音的解决办法

    最近安装了Ubuntu的桌面版,作成了双系统,可是发现了一个问题:进入Win7后有时插耳机会没有声音,外放有声音.后来更新驱动也没有解决问题,最后在网上查到了解决办法. 产生原因:进入Ubuntu后, ...

  8. Docker实践:安装wordpress

    本文将示例如何使用Docker来安装wordpress.使用三种方法: 1.基于官方的wordpress镜像使用docker run实现: 2.基于官方的wordpress镜像使用fig命令编排工具实 ...

  9. 导入一些常用命令比如(rz),关闭防火墙外面可以访问

     yum -y install lrzsz-----------导入常用命令 我在虚拟机上面启动了一个项目 这个原因是防火墙造成的,关闭防火墙  iptables -L 查看下 service ipt ...

  10. Java Thread 的使用

    Java Thread 的使用 Java Thread 的 run() 与 start() 的区别 Java Thread 的 sleep() 和 wait() 的区别   一.线程的状态 在正式学习 ...