dbfplus oracle_oracle通过DBF恢复数据

前一段客户运行的项目数据库突然崩溃,并且没有进行数据备份。解决办法:

1,安装oracle

10g数据库并创建一个要恢复的数据库相同一的实例(注意:最好是新安装的数据库,并且安装的数据库尽量和要恢复的数据库的版本一致,并且实例必须一致,再次注意要创建一个相同的表空间);

2,以sysdba身份登录:对控制文件进行备份;

sqlplus /nolog;(此处不能加分号,否则黑屏窗口会一闪而过)

conn /as sysdba;登录

2,备份控件文件到udmp目录的trace文件 alter database backup controlfile to

trace;

找到oracle的安装目录:..\oracle\product\10.2.0\db_1\admin\实例名\udump文件夹下(其中10.1的文件路径为

E:\oracle\product\10.1.0\admin\orcl,此处可在oracle的文件夹下搜索.trc进行查找),按修改时间降序,找到最近的trace文件。备份好。

3,shutdown

immediate停止数据库实例;

4,备份..\oracle\product\10.2.0\oradata目录下的该实例文件夹(例如:orcl),接着将该实例文件夹删除(必须是全部删除吧要恢复的实例文件夹放到此位置,不能只把要恢复的DBF直接替换原来orcl,否则创建控制文件时会报如下错误),把需恢复的数据库的oradata目录下所有文件拷到此目录下。

5,以sysdba进入并执行startup

nomount。把数据库启动到nomount状态。

6,从第2步备份出来trace文件中拷贝CREATE

CONTROLFILE部分语句来重建控制文件:

注意:1,改为ARCHIVELOG;2,增加你的DBF文件,只增加*_DATA.DBF,*_TEMP.DBF不能在这添加

此处应根据实际情况增删表空间文件记录,如以下黑体部分则为新增记录。

CREATE CONTROLFILE REUSE DATABASE "ORCL"

NORESETLOGS ARCHIVELOG

MAXLOGFILES

16

MAXLOGMEMBERS 3

MAXDATAFILES

100

MAXINSTANCES

8

MAXLOGHISTORY 454

LOGFILE

GROUP 1

'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\REDO01.LOG' SIZE 10M,

GROUP 2

'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\REDO02.LOG' SIZE 10M,

GROUP 3

'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\REDO03.LOG' SIZE 10M

-- STANDBY LOGFILE

DATAFILE

'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\SYSTEM01.DBF',

'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS01.DBF',

'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\SYSAUX01.DBF',

'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\USERS01.DBF',

'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\EXAMPLE01.DBF',

'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\YC_DATA.DBF',

'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\PE_DATA.DBF',

'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\HS.ORA'

CHARACTER SET ZHS16GBK

;

7,RECOVER

DATABASE;

(这个地方错误暂时不用理会。)

8ALTER

DATABASE OPEN;

恢复完成,登录数据库进行测试。

(设置sqlplus粘贴)

2017-3-3补充

如果在第6步创建控制文件时出现以下错误,

将noresetlog改成resetlog,

进行下一步

这一步错误可以不用考虑,进行下一步

出现这个问题,参考http://blog.csdn.net/langcai1981/article/details/7873387,

指定日志文件,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值