Oracle表空间文件损坏导致的数据库异常关闭并启动失败问题的解决方法
2010-10-25 14:18
1076 查看
Oracle表空间文件损坏导致的数据库异常关闭并启动失败问题的解决方法
问题记录:
通过业务不正常发现Oracle数据库异常关闭,尝试启动Oracle数据库失败。
SQL> startup force
ORACLE instance started.
Total System Global Area 1603411968 bytes
Fixed Size 2160112 bytes
Variable Size 1023412752 bytes
Database Buffers 570425344 bytes
Redo Buffers 7413760 bytes
Database mounted.
ORA-01113: file 15 needs media recovery
ORA-01110: data file 15: '/home/bill/oracledata/TBS_REPORT_DATA DATAFILE.bdf'
尝试查看数据库表空间文件,进入目录/home/bill/oracledata后执行ls命令无影响,应该是表空间文件损坏。
解决过程:
(1) 检查Oracle日志文件alter_ORACLE_SID.log
发现三个数据库表空间文件出现这个问题:
/home/bill/oracledata/TBS_REPORT_DATA DATAFILE.bdf
/home/bill/oracledata/TBS_REPORT_IDX.dbf
/home/bill/oracledata/TBS_REPORT_TMP.dbf
(2) 由于表空间文件用于测试环境,优先启动数据库是最主要的,暂不考虑表空间文件的恢复
把这三个文件offline再启动Oracle数据库:
alter database datafile '/home/bill/oracledata/TBS_REPORT_DATA DATAFILE.bdf' offline drop;
alter database datafile '/home/bill/oracledata/TBS_REPORT_IDX.dbf' offline drop; or
alter database datafile '/home/bill/oracledata/TBS_REPORT_IDX.dbf' offline;
alter database datafile '/home/bill/oracledata/TBS_REPORT_TMP.dbf' offline;
(3) 在offline TMP表空间时失败
报下面的错误:ORA-01516: nonexistent log file, datafile, or tempfile
尝试使用如下命令成功:alter database tempfile '/home/bill/oracledata/TBS_REPORT_TMP.dbf' drop including datafiles;
(4) 启动Oracle数据库
SQL> alter database open;
Database altered.
(5) 删除损坏的表空间文件成功
drop tablespace TBS_REPORT_IDX including CONTENTS and datafiles;
drop tablespace TBS_REPORT_TMP including CONTENTS and datafiles;
drop tablespace TBS_REPORT_DATA including CONTENTS and datafiles;
(6) 重启Oracle数据库成功,问题解决
SQL>shutdown immediate;
SQL>startup;
问题记录:
通过业务不正常发现Oracle数据库异常关闭,尝试启动Oracle数据库失败。
SQL> startup force
ORACLE instance started.
Total System Global Area 1603411968 bytes
Fixed Size 2160112 bytes
Variable Size 1023412752 bytes
Database Buffers 570425344 bytes
Redo Buffers 7413760 bytes
Database mounted.
ORA-01113: file 15 needs media recovery
ORA-01110: data file 15: '/home/bill/oracledata/TBS_REPORT_DATA DATAFILE.bdf'
尝试查看数据库表空间文件,进入目录/home/bill/oracledata后执行ls命令无影响,应该是表空间文件损坏。
解决过程:
(1) 检查Oracle日志文件alter_ORACLE_SID.log
发现三个数据库表空间文件出现这个问题:
/home/bill/oracledata/TBS_REPORT_DATA DATAFILE.bdf
/home/bill/oracledata/TBS_REPORT_IDX.dbf
/home/bill/oracledata/TBS_REPORT_TMP.dbf
(2) 由于表空间文件用于测试环境,优先启动数据库是最主要的,暂不考虑表空间文件的恢复
把这三个文件offline再启动Oracle数据库:
alter database datafile '/home/bill/oracledata/TBS_REPORT_DATA DATAFILE.bdf' offline drop;
alter database datafile '/home/bill/oracledata/TBS_REPORT_IDX.dbf' offline drop; or
alter database datafile '/home/bill/oracledata/TBS_REPORT_IDX.dbf' offline;
alter database datafile '/home/bill/oracledata/TBS_REPORT_TMP.dbf' offline;
(3) 在offline TMP表空间时失败
报下面的错误:ORA-01516: nonexistent log file, datafile, or tempfile
尝试使用如下命令成功:alter database tempfile '/home/bill/oracledata/TBS_REPORT_TMP.dbf' drop including datafiles;
(4) 启动Oracle数据库
SQL> alter database open;
Database altered.
(5) 删除损坏的表空间文件成功
drop tablespace TBS_REPORT_IDX including CONTENTS and datafiles;
drop tablespace TBS_REPORT_TMP including CONTENTS and datafiles;
drop tablespace TBS_REPORT_DATA including CONTENTS and datafiles;
(6) 重启Oracle数据库成功,问题解决
SQL>shutdown immediate;
SQL>startup;
相关文章推荐
- 完美解决mysql启动后随即关闭的问题(ibdata1文件损坏导致)
- mysql启动后随即关闭问题解决(ibdata1文件损坏导致)
- 文件系统损坏导致虚拟机无法正常启动的问题及解决方法
- 文件系统损坏导致虚拟机无法正常启动的问题及解决方法
- [虚拟机-系统重启]文件系统损坏导致虚拟机无法正常启动的问题及解决方法
- 关于IIS服务启动失败的问题:“IIS提示‘另一个程序正在使用此文件,进程无法访问’”,的解决方法
- ORA-01078和LRM-00109问题导致ORACLE启动失败解决方法
- eclipse在异常关闭后,导致无法启动workspace问题的解决
- Flex中采用主SWF文件加载子SWF文件中添加了Chart后,导致at mx.charts.chartClasses::ChartBase/initStyles()异常的问题解决方法
- eclipse在异常关闭后,导致无法启动workspace问题的解决
- eclipse在异常关闭后,导致无法启动workspace问题的解决
- 修改mysql的my.ini文件,导致mysql服务1067启动失败的解决方法
- visual studio 2010 “LNK1123: 转换到 COFF 期间失败: 文件无效或损坏” 问题解决方法
- ASE15.0.3升级时导致数据库不能启动问题的解决方法
- 因以下文件的损坏或者丢失导致windows无法启动解决方法
- eclipse在异常关闭后,导致无法启动workspace问题的解决
- CFileDialog改变文件路径导致的一系列问题(如无法安全删除u盘、访问相对路径失败)的解决方法
- RHEL5 fstab文件修改错误导致系统启动失败的解决方法
- MySQL中配置文件my.cnf因权限问题导致无法启动的解决方法
- eclipse在异常关闭后,导致无法启动workspace问题的解决