服务器异常断电后,
错误一:日志文件有错,即启动时报错redo03.log文件不存在,
网上一堆教程,如:1,修改数据库不使用此日志文件,2,如果开着归档的话,可以恢复此日志文件,
过程繁琐,最后找到以下方法可解决。
直接修改参数,强制不去检测日志文件,
语句如下:
SQL>ALTER SYSTEM SET _allow_resetlogs_corruption=TRUE SCOPE=SPFILE;
SQL>startup;
错误二:数据库正常启动,但客户端连接时报错 ORA-00600: internal error code, arguments: [4194]
解决方法如下:
1,查看alertlog日志目录
SQL> show parameter dump;
2,查找到alert目录下的log文件后,查看报错
结果如下:
<txt>Doing block recovery for file 3 block 272
</txt>
3,查找损坏的数据文件
SQL> select * from dba_data_files where file_id=3;
结果为:即此表空间的数据库文件损坏。
undotbs01 /URP/oracle/oradata/urpjw/undotbs01.dbf
4,开始修复:
a,设置undo表空间的管理方式为:手工,
b,缺省undotbs 为空,
c,新建undotbs02表空间,新建数据文件。
d,设置undo表空间的管理方式为:自动,
e,缺省undotbs 为新建的undo表空间,
语句如下:
SQL> alter system set undo_management = manual scope=spfile;
系统已更改。
SQL> alter system set undo_tablespace='' scope=spfile;
系统已更改。
SQL> create undo tablespace undotbs2 datafile '/URP/oracle/oradata/urpjw/undotbs02.dbf' size 1000M;
表空间已创建。
SQL> alter system set undo_management =auto scope=spfile;
系统已更改。
SQL> alter system set undo_tablespace = undotbs2 scope=spfile;
系统已更改。
SQL>
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 1.3429E+10 bytes
Fixed Size 2217992 bytes
Variable Size 1.0402E+10 bytes
Database Buffers 2952790016 bytes
Redo Buffers 71770112 bytes
数据库装载完毕。
数据库已经打开。