此篇文章为转载,来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26015009/viewspace-714742/

个人mark下,在之后dbf的情况下,如何不完整恢复,拿出数据。

由于数据库服务器崩溃,造成了无法进入系统进行数据库备份,只能把oracle相关文件拷贝出来。对于拷贝出来的文件在测试机上进行一次不完全恢复,具体流程如下所示:

1、安装oracle 10g服务端并创建一个与要进行恢复的数据库相同名称的实例(db_name,sid,字符集一样,因为在创建控制文件时,会判断你要恢复的dbf文件中文件头信息中的数据库名是否与所在的实例名是否一样)

2、以sysdba身份进行备份控件文件到udmp目录的trace文件(语句:alter database backup controlfile to trace)

3、Shutdown immediate停止数据库,备份当前~\oracle\product\10.2.0\oradata目录中的文件,接着删除这些文件并把需恢复的数据库的所有.dbf文件拷到此目录下。其中 system01.dbf,sysaux01.dbf和存储真实数据的.dbf文件是必要的

(只要DBF就可以了,日志和控制文件不要)。

4、以sysdba进入并执行startup nomount。把数据库启动到nomount状态。

5、从第2步备份出来trace文件中拷贝CREATE CONTROLFILE部分语句来重建控制文件。此处应根据实际情况增删表空间文件记录,如以下黑体部分则为新增记录。

CREATE CONTROLFILE set Database ocp Resetlogs

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1 'C:\oracle\product\10.2.0\oradata\ocp\RED001.LOG'SIZE 50M,

GROUP 2 'C:\oracle\product\10.2.0\oradata\ocp\RED002.LOG'SIZE 50M,

GROUP 3 'C:\oracle\product\10.2.0\oradata\ocpRED003.LOG'SIZE 50M

DATAFILE

'D:\oradata\SYSTEM01.DBF',--要恢复的数据所在的dbf文件

'D:\oradata\UNDOTBS01.DBF',--要恢复的数据所在的dbf文件

'D:\oradata\SYSAUX01.DBF',--要恢复的数据所在的dbf文件

'D:\oradata\USERS01.DBF',--要恢复的数据所在的dbf文件

'D:\oradata\EXAMPLE01.DBF',--要恢复的数据所在的dbf文件

'D:\oradata\HYGEIA01.DBF',--要恢复的数据所在的dbf文件

'D:\oradata\HYGEIA02.DBF',--要恢复的数据所在的dbf文件

'D:\oradata\HYGEIA03.DBF'--要恢复的数据所在的dbf文件

CHARACTER SET ZHS16GBK

6 alter database open resetlogs;

7 重新创建临时表空间

8 查看恢复后结果

第二种情况(其实要恢复数据库只要system01.dbf,sysaux01.dbf和存储真实数据的.dbf文件)

1、安装oracle 10g服务端并创建一个与要进行恢复的数据库相同名称的实例(db_name,sid,字符集一样,因为在创建控制文件时,会判断你要恢复的dbf文件中文件头信息中的数据库名是否与所在的实例名是否一样)

2、以sysdba身份进行备份控件文件到udmp目录的trace文件(语句:alter database backup controlfile to trace)

3、Shutdown immediate停止数据库,备份当前~\oracle\product\10.2.0\oradata目录中的文件,接着删除这些文件并把需恢复的数据库的所有.dbf文件拷到此目录下。其中 system01.dbf,sysaux01.dbf和存储真实数据的.dbf文件是必要的

(只要DBF就可以了,日志和控制文件不要)。

4、以sysdba进入并执行startup nomount。把数据库启动到nomount状态。

5、从第2步备份出来trace文件中拷贝CREATE CONTROLFILE部分语句来重建控制文件。此处应根据实际情况增删表空间文件记录,如以下黑体部分则为新增记录。

CREATE CONTROLFILE set Database ocp resetlogs

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1 'D:\oracle\product\10.2.0\oradata\ocp\RED001.LOG'SIZE 50M,

GROUP 2 'D:\oracle\product\10.2.0\oradata\ocp\RED002.LOG'SIZE 50M,

GROUP 3 'D:\oracle\product\10.2.0\oradata\ocp\RED003.LOG'SIZE 50M

DATAFILE

'D:\oracle\product\10.2.0\oradata\ocp\SYSTEM01.DBF',--损坏的数据库的system表空间的数据文件

'D:\oracle\product\10.2.0\oradata\ocp\SYSAUX01.DBF',--损坏的数据库的sysaux表空间的数据文件

'D:\oracle\product\10.2.0\oradata\ocp\HYGEIA01.DBF',--要恢复的数据所在的dbf文件

'D:\oracle\product\10.2.0\oradata\ocp\HYGEIA02.DBF', --要恢复的数据所在的dbf文件

'D:\oracle\product\10.2.0\oradata\ocp\HYGEIA03.DBF' --要恢复的数据所在的dbf文件

CHARACTER SET ZHS16GBK

6、Shutdown immediate

7、在admin\pfile目录下的init.ora里加入隐含参数:

_allow_resetlogs_corruption=true

_allow_terminal_recovery_corruption=true

undo_tablespace='SYSTEM'

undo_management='MANUAL'

8、执行startup pfile='D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora(文件名和目录按照实际情况而定)' mount force;

9、Recover database\ recover database until cancel进行介质恢复。

10、 Alter database open resetlogs打开数据库可能不成功:此处出现了ORA-03113 " ORA-03113: 通信通道的文件结尾"的错误提示。

11、 重新启动数据库(startup) ,结果出现以下错误提示:

ora-01113:文件1需要介质恢复

ora-01110:数据文件1:'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF'

12、 从新恢复表空间文件recover datafile D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF(其它表空间文件可能也需要恢复)

13、 alter database open; 数据库已更新

14.重新创建UNDOTBS1表空间

create undo tablespace undotbs1 DATAFILE

'D:\oracle\product\10.2.0\oradata\orcl\undotbs01.dbf' SIZE 200M

15、Shutdown immediate

16、在admin\pfile目录下的init.ora里加入隐含参数:

删除_allow_resetlogs_corruption=true

删除_allow_terminal_recovery_corruption=true

undo_tablespace='UNDOTBS1'

undo_management='AUTO'

17.startup pfile='D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora

18、 full export备份数据库。

19 重新创建临时表空间

20 查看恢复后结果

【转载】只有.dbf数据文件进行数据库恢复的更多相关文章

  1. DBF 文件 ORACLE 数据库恢复

    DBF 文件 ORACLE 数据库恢复 清·魏源<庸易通义>:"至道问学之有知无行,分温故为存心,知新为致知,而敦厚为存心,崇礼为致知,此皆百密一疏." 起因 在我们的 ...

  2. delphi 创建DBASE和FOXPRO两类DBF数据文件的差异

    delphi 创建DBASE和FOXPRO两类DBF数据文件的差异,主要有几点: 1.创建方法不同 DBASE的创建方法: Self.Table1.Close; Self.Table1.Active ...

  3. oracle 11g dbf数据文件从C盘迁移到D盘

    服务器系统为 windows 2008 R2 64位,由于C盘空间将满,要将C盘的oracle的DBF数据文件迁移到D盘下,步骤如下: 1.输入cmd,启动 cmd.exe窗口 2.输入 sqlplu ...

  4. linux删除数据文件无备份恢复

    参考 : http://www.lunar2013.com/2013/06/linux-%E8%AF%AF%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%E6%81%A2%E ...

  5. 非归档数据文件offline的恢复

    本文主要介绍非归档模式下offline数据文件的恢复,测试过程如下: SQL> select * from v$version where rownum<3; BANNER ------- ...

  6. 1、通过CP数据文件的方式恢复MySQL 从库 启动后报错:Last_IO_Errno: 1236:A slave with the same server_uuid/server_id as this slave has connected to the master;

    1.问题: MySQL从库中查看主从状态: show slave status\G,发现出现IO的报错: Last_IO_Errno: Last_IO_Error: Got fatal error f ...

  7. sql数据文件导入数据库

    1.首先通过xshell连接数据库服务器,执行命令mysql -u root -p 命令,按照提示输入密码.连接上数据库. 2.在连接终端上执行命令create database JD_Model; ...

  8. RMAN数据库恢复之恢复表空间和数据文件

    执行表空间或数据文件恢复时,数据库既可以是MOUNT状态,也可以是OPEN状态.1.恢复表空间在执行恢复之前,如果被操作的表空间未处理OFFLINE状态,必须首先通过ALTER TABLESPACE… ...

  9. dataguard从库数据库丢失恢复例子(模拟丢失数据文件)

    准备工作,使用如下脚本进行数据库的全备份[oracle@localhost ~]$ more rman_backup.sh #!/bin/sh RMAN_OUTPUT_LOG=/home/oracle ...

  10. Oracle数据文件在open状态被删除的恢复记录

    1.查看当前状态: SQL> select status from v$instance; STATUS------------OPEN SQL> show parameter name; ...

随机推荐

  1. 【问题解决1】fatal error: X11/XXXX.h: No such file or directory

    问题现象 编译鸿蒙代码时,报如下类似的错误: 错误1: 错误2: 解决方法 step 1:安装依赖文件 sudo apt-get install apt-file sudo apt-file upda ...

  2. WPF如何封装一个可扩展的Window

    前言 WPF中Window相信大家都很熟悉,有时我们有一些自定义需求默认Window是无法满足的,比如在标题栏上放一些自己东西,这个时候我们就需要写一个自己的Window,实现起来也很简单,只要给Wi ...

  3. kafka主题、消费者、生产者命令行操作

    十二.Kafka (1)Topic 1)查看当前服务器中的所有topic bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --list 2) ...

  4. 浅谈ET框架--ECS设计核心(一)

    ET框架的ECS设计核心可以总结为一句话,那就是: 继承转组件,多态转分发 OOP设计里的继承更换为组件Component模式,多态转成分发模式. 框架代码里头的案例: 数值组件挂载Entity上. ...

  5. #KD-Tree#洛谷 4849 寻找宝藏

    题目传送门 题目大意 在一个四维坐标系中,给定 \(n\) 个点,问有多少种选择点的方案, 使得这些点排序后任意坐标单调不降,并且选择的点权和最大,同时输出最大值 分析 设 \(f[i]\) 表示最后 ...

  6. #最大流#WOJ 124 Football Coach

    题目 有\(n\)支球队,互相之间已经进行了一些比赛.现在还有\(m\)场比赛未进行, 每场比赛胜者得2分,平局各得1分,负者不得分. 问是否存在一种方法使得球队\(n\)的得分比其他\(n-1\)支 ...

  7. std::thread 五:打包任务(packaged_task)

    #include <iostream> #include <thread> #include <mutex> #include <list> #incl ...

  8. mybatis 手写分页

    mybatis 手动分页查询 .xml文件 SELECT .... FROM dip_pack_box AS t1 LEFT JOIN dip_pack_content AS t2 ON t1.id ...

  9. 「译文」深入了解Kubernetes和Nomad

    ️原文链接: https://www.cncf.io/blog/2023/10/23/introduction-a-closer-look-at-kubernetes-and-nomad/ ✍️作者: ...

  10. UML 哲学之道——启航篇[一]

    前言 简单去介绍一下uml的哲学之道也是自我整理之道. 正文 什么是uml,全程是统一建模语言(unified modeling language),简单的说就是用图形来表示文档. 是描述构造和文档化 ...