【转载】只有.dbf数据文件进行数据库恢复
此篇文章为转载,来自 “ 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数据文件进行数据库恢复的更多相关文章
- DBF 文件 ORACLE 数据库恢复
DBF 文件 ORACLE 数据库恢复 清·魏源<庸易通义>:"至道问学之有知无行,分温故为存心,知新为致知,而敦厚为存心,崇礼为致知,此皆百密一疏." 起因 在我们的 ...
- delphi 创建DBASE和FOXPRO两类DBF数据文件的差异
delphi 创建DBASE和FOXPRO两类DBF数据文件的差异,主要有几点: 1.创建方法不同 DBASE的创建方法: Self.Table1.Close; Self.Table1.Active ...
- oracle 11g dbf数据文件从C盘迁移到D盘
服务器系统为 windows 2008 R2 64位,由于C盘空间将满,要将C盘的oracle的DBF数据文件迁移到D盘下,步骤如下: 1.输入cmd,启动 cmd.exe窗口 2.输入 sqlplu ...
- 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 ...
- 非归档数据文件offline的恢复
本文主要介绍非归档模式下offline数据文件的恢复,测试过程如下: SQL> select * from v$version where rownum<3; BANNER ------- ...
- 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 ...
- sql数据文件导入数据库
1.首先通过xshell连接数据库服务器,执行命令mysql -u root -p 命令,按照提示输入密码.连接上数据库. 2.在连接终端上执行命令create database JD_Model; ...
- RMAN数据库恢复之恢复表空间和数据文件
执行表空间或数据文件恢复时,数据库既可以是MOUNT状态,也可以是OPEN状态.1.恢复表空间在执行恢复之前,如果被操作的表空间未处理OFFLINE状态,必须首先通过ALTER TABLESPACE… ...
- dataguard从库数据库丢失恢复例子(模拟丢失数据文件)
准备工作,使用如下脚本进行数据库的全备份[oracle@localhost ~]$ more rman_backup.sh #!/bin/sh RMAN_OUTPUT_LOG=/home/oracle ...
- Oracle数据文件在open状态被删除的恢复记录
1.查看当前状态: SQL> select status from v$instance; STATUS------------OPEN SQL> show parameter name; ...
随机推荐
- modelsim常用操作
modelsim常用操作 1.库的定义(library) modelsim是比较常用的仿真软件,主要用于数字电路的仿真,可以实现高效的前后仿真.仿真,就需要几个关键的元素:激励.设计模块.设计模块的约 ...
- KingbaseES V8R3 集群运维案例 -- cluster.log无日志输出问题诊断
案例说明: KingbaseES V8R3集群正常运行期间,现场发现cluster.log日志无任何信息输出,针对这一问题做了复现及提出解决方案.后现场检查发现,cluster.log文件曾被删除: ...
- Websphere更新应用文件
说明: 由于war包中存在安全漏洞或者需要变更里面的某个jar包,此处列举了两种更新方法,不需要重启服务器,只需重启应用. Websphere对部署好的应用更新jar包方法如下: 方式一.手动替换 ...
- openGauss2.1.0在openEuler 20.03 LTS SP2 安装后,yum无法使用的问题解决
openGauss2.1.0 在 openEuler 20.03 LTS SP2 安装后,yum 无法使用的问题解决 一.环境描述 操作系统: openEuler 20.03 LTS openEule ...
- 从 Oracle 到 MySQL 数据库的迁移之旅
目录 引言 一.前期准备工作 1.搭建新的MySQL数据库 2 .建立相应的数据表 2.1 数据库兼容性分析 2.1.1 字段类型兼容性分析 2.1.2 函数兼容性分析 2.1.3 是否使用存储过程? ...
- 优先队列的基本实现【数据结构与算法—TypeScript 实现】
笔记整理自 coderwhy 『TypeScript 高阶数据结构与算法』课程 特性 效率比普通队列高 每个出队元素拥有最高优先级 可以用 数组.链表 等数据结构实现,但是 堆结构 是最常用的实现方式 ...
- gRPC入门学习之旅(六)
gRPC入门学习之旅(一) gRPC入门学习之旅(二) gRPC入门学习之旅(三) gRPC入门学习之旅(四) gRPC入门学习之旅(五) 3.3.客户端编译生成GRPC类 1. 在"解决方 ...
- 前端与 HTML
0x1 前端 什么是前端 解决图形用户界面(GUI)人机交互的问题 跨终端 PC/移动浏览器 客户端/小程序 VR/AR 等 Web 技术栈 一句话总结前端工程师的工作:使用 Web 技术栈解决多端 ...
- UML 哲学之道——领域模型[四]
前言 简单整理一下领域模型. 正文 领域模型是对领域内的概念类或现实中的对象的可视化表示 领域模型也称概念模型.领域对象模型和分析对象模型 领域模型是可以在业务建模科目中创建的制品之一 领域模型是up ...
- python mmsql连接支持
前言 因为我使用的是mmsql数据库,因为遇到一点坑,所以发布出来. 正文 准备工作: https://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql 下载对应 ...