Oracle 通过表空间文件进行数据库恢复
操作系统:WindowsXP2
数据库:oracle 10g
由于数据库服务器崩溃,造成了无法进入系统进行数据库备份,只能从光盘的PE系统把oracle相关文件拷贝出来。对于拷贝出来的文件在测试机上进行一次不完全恢复,具体流程如下所示:
1、 安装oracle 10g服务端(由于测试机上已安装,所以省略这一步)
2、 以sysdba身份进行备份控件文件到udmp目录的trace文件(语句:alter database backup controlfile to trace)
3、 Shutdown immediate停止数据库,备份当前~\oracle\product\10.2.0\oradata目录中的文件,接着删除这些文件并把需恢复的源文件拷贝到此目录下。如EXAMPLE01.DBF、SYSAUX01.DBF等等(只要DBF就可以了,日志和控制文件不要)。
4、 以sysdba进入并执行startup nomount。把数据库启动到nomount状态。
5、 从第2步备份出来trace文件中拷贝CREATE CONTROLFILE部分语句来重建控制文件。此处应根据实际情况增删表空间文件记录,如以下黑体部分则为新增记录。
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG' SIZE 50M,
GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG' SIZE 50M,
GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\JSDC.DBF'
CHARACTER SET ZHS16GBK
;
6、 Shutdown immediate
7、 在admin\pfile目录下的init.ora里加入隐含参数:
_allow_resetlogs_corruption=true
_allow_terminal_recovery_corruption=true
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、 full export备份数据库。
15、 alter system set "_allow_resetlogs_corruption"=false scope=spfile; --把隐含参数改回
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22962593/viewspace-674500/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22962593/viewspace-674500/