200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > dbf文件怎么还原到oracle中 oracle dbf文件恢复数据

dbf文件怎么还原到oracle中 oracle dbf文件恢复数据

时间:2023-04-25 21:13:52

相关推荐

dbf文件怎么还原到oracle中 oracle dbf文件恢复数据

ORACLE

恢复等所有涉及到的与数据库变更相关的操作前,一定要对数据库进行备份!!!!!!。

1、安装oracle

11服务端并创建一个与要进行恢复的数据库相同名称的实例(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 REUSE DATABASE ORCL NORESETLOGS

NOARCHIVELOG

--CREATE CONTROLFILE

set Database ORCL

Resetlogs

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1

'D:\APP\ZY\ORADATA\ORCL\REDO01.LOG' SIZE 50M

BLOCKSIZE 512,

GROUP 2

'D:\APP\ZY\ORADATA\ORCL\REDO02.LOG' SIZE 50M

BLOCKSIZE 512,

GROUP 3

'D:\APP\ZY\ORADATA\ORCL\REDO03.LOG' SIZE 50M

BLOCKSIZE 512

--

STANDBY LOGFILE

DATAFILE

'D:\APP\ZY\ORADATA\ORCL\SYSTEM01.DBF',

'D:\APP\ZY\ORADATA\ORCL\SYSAUX01.DBF',

'D:\APP\ZY\ORADATA\ORCL\UNDOTBS01.DBF',

'D:\APP\ZY\ORADATA\ORCL\USERS01.DBF'

,'H:\oracle\oradata\CCGAS_DATA.DBF'

CHARACTER SET

ZHS16GBK

;

SQL> alter database open;

alter

database open

*

第 1

行出现错误:

ORA-01113: 文件 6 需要介质恢复

ORA-01110: 数据文件 6: 'H:\ORACLE\ORADATA\CCGAS_DATA.DBF'

SQL> recover

datafile

'H:\ORACLE\ORADATA\CCGAS_DATA.DBF'

完成介质恢复。

SQL> alter database

open;

数据库已更改。

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 查看恢复后结果

转自:/26015009/viewspace-714742/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。