误删Oracle数据库实例的控制文件
2010-10-17 15:56
337 查看
前两天我在备份数据时,发现C:\oracle\product\10.2.0\oradata\GXSN\TEMP01.DBF文件大小竟然为23G多,完全消耗掉C盘空间,匆忙间我以为oradata/GXSN整个文件夹下文件为临时文件,将其完全删除。
因为Oracle的数据文件都存放在E盘下,不知道oradata/GXSN存放的是控制文件,造成数据库无法使用。我通过查询相关资料想重建控制文件,但发现重建控制文件是在ORACLE控制文件已经备份的前提下的,我之前没有备份过Oracle的控制文件,所以无法恢复。
在整个解决问题的过程中,我曾尝试了多种思路。虽然失败,但锻炼了解决问题的能力,也总结了一些经验。
0.求助Oracle中国技术支持,竟然周末无人服务,需要等待工作日。(失败)
1.使用EasyRecovery恢复删除的控制文件,因为服务器的E盘较大,达到3T,EasyRecovery无法使用。又使用了其他数据恢复软件,都无法恢复删除的数据。(失败)
2.查询相关资料,尝试重建控制文件。(失败)
CREATE CONTROLFILE reuse set DATABASE orcl RESETLOGS noARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 3
MAXDATAFILES 32
MAXINSTANCES 16
MAXLOGHISTORY 1600
LOGFILE
group 1 ('E:\oracle\product\10.2.0\oradata\orcl\redo01.log') size 100k ,
group 2 ('E:\oracle\product\10.2.0\oradata\orcl\redo02.log') size 100k,
group 3 ('E:\oracle\product\10.2.0\oradata\orcl\redo03.log') size 100k,
datafile
'E:\oracle\product\10.2.0\oradata\orcl\users01.dbf',
'E:\oracle\product\10.2.0\oradata\orcl\undotbs01.dbf',
'E:\oracle\product\10.2.0\oradata\orcl\system01.dbf',
'E:\oracle\product\10.2.0\oradata\orcl\sysaux01.dbf',
'E:\oracle\product\10.2.0\oradata\orcl\example01.dbf';
3.在别的机器上创建相同的GXSN数据库,然后将其下面的控制文件导入服务器的数据库下,但发现失败。
4.在服务器上新建ORACLE服务实例,生成相应的控制文件,将其下面的控制文件导入的数据库GXSN下,但发现失败。
5.将新建的数据库实例删除,原来的数据库在CMD控制台上使用SQLPLUS无法连接
sqlplus /nolog
conn /as sysdba
出现ORA-12360:TNS:协议适配器错误
无语了,竟然无法连接到原数据库实例上了。
两三T的数据只能重新录入,这次自己的失误,真的是损失惨重!自己以后在心态浮躁时一定要冷静点,不可急躁。自己在ORACLE的学习上需更深一步,免得再犯如此低级的严重错误!
因为Oracle的数据文件都存放在E盘下,不知道oradata/GXSN存放的是控制文件,造成数据库无法使用。我通过查询相关资料想重建控制文件,但发现重建控制文件是在ORACLE控制文件已经备份的前提下的,我之前没有备份过Oracle的控制文件,所以无法恢复。
在整个解决问题的过程中,我曾尝试了多种思路。虽然失败,但锻炼了解决问题的能力,也总结了一些经验。
0.求助Oracle中国技术支持,竟然周末无人服务,需要等待工作日。(失败)
1.使用EasyRecovery恢复删除的控制文件,因为服务器的E盘较大,达到3T,EasyRecovery无法使用。又使用了其他数据恢复软件,都无法恢复删除的数据。(失败)
2.查询相关资料,尝试重建控制文件。(失败)
CREATE CONTROLFILE reuse set DATABASE orcl RESETLOGS noARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 3
MAXDATAFILES 32
MAXINSTANCES 16
MAXLOGHISTORY 1600
LOGFILE
group 1 ('E:\oracle\product\10.2.0\oradata\orcl\redo01.log') size 100k ,
group 2 ('E:\oracle\product\10.2.0\oradata\orcl\redo02.log') size 100k,
group 3 ('E:\oracle\product\10.2.0\oradata\orcl\redo03.log') size 100k,
datafile
'E:\oracle\product\10.2.0\oradata\orcl\users01.dbf',
'E:\oracle\product\10.2.0\oradata\orcl\undotbs01.dbf',
'E:\oracle\product\10.2.0\oradata\orcl\system01.dbf',
'E:\oracle\product\10.2.0\oradata\orcl\sysaux01.dbf',
'E:\oracle\product\10.2.0\oradata\orcl\example01.dbf';
3.在别的机器上创建相同的GXSN数据库,然后将其下面的控制文件导入服务器的数据库下,但发现失败。
4.在服务器上新建ORACLE服务实例,生成相应的控制文件,将其下面的控制文件导入的数据库GXSN下,但发现失败。
5.将新建的数据库实例删除,原来的数据库在CMD控制台上使用SQLPLUS无法连接
sqlplus /nolog
conn /as sysdba
出现ORA-12360:TNS:协议适配器错误
无语了,竟然无法连接到原数据库实例上了。
两三T的数据只能重新录入,这次自己的失误,真的是损失惨重!自己以后在心态浮躁时一定要冷静点,不可急躁。自己在ORACLE的学习上需更深一步,免得再犯如此低级的严重错误!
相关文章推荐
- oracle数据库的实例、表空间、用户、数据文件等概念
- 单实例迁移时发生报错:ORA-00214控制文件版本不一致的处理方法
- oracle数据库中重要的文件(控制文件、数据文件、重写日志文件、归档日志文件、初始化参数文件)
- Oracle数据库中的控制文件管理以及常用参数设置
- oracle数据库表空间文件收缩实例
- 误删数据库所有文件(包括数据文件、控制文件、日志文件等)后恢复
- 移动控制文件实例
- 解决数据库实例启动ORA-00205或控制文件损坏错误
- oracle数据库丢失数据文件、控制文件、重做日志文件、初始化文件恢复方法
- Unix/Linux下删除Oracle控制文件Controlfile为什么实例Instance没有立即奔溃?
- oracle数据库表空间文件收缩实例
- Oracle数据库中的控制文件管理以及常用参数设置
- Oracle相关文件查找,实例名,控制文件,数据文件,日志文件,密码文件等
- 解决数据库实例启动ORA-00205或控制文件损坏错误
- 实例:Linux EXT3文件系统下成功恢复误删的文件
- 自动生成导入oracle数据库的控制文件---[*.ctl]
- 查看oracle数据库的数据文件及控制文件存放位置
- 接“控制文件丢失实例并不会崩溃”——恢复控制文件,打开数据库
- Oracle重建控制文件的实例教程
- oracle数据库表空间文件收缩实例