又是windown服务器断电引起的ora-00333

来源:这里教程网 时间:2026-03-03 20:49:07 作者:

问题描述

生产环境是 windowns Oracle11g 11203 版本的单机数据库。(建议oralce数据库千万不要装在widown上) 服务器在断电后重启服务器后,数据无法启动,日志介质损坏:


 SQL
>
 startup

ORACLE instance started
.

.........

ORA
-
00333
:
 
redo
 log read error block 
8194
 count 
8192

SQL
>
 
select
 
group
#,sequence#,archived,status from v$log;


 


 GROUP
#  SEQUENCE# ARC STATUS


----------
 
----------
 
---
 
----------------


              
1
     
517247
 NO  CURRENT


              
3
     
517246
 NO  INACTIVE


              
2
     
517245
 NO  INACTIVE

alter 日志报错如下图:

故障处理过

但是这个数据库没有备份,没有开归档,只能使用非常规恢复!

1、 通过spfile创建生成pfile

SQL> create pfile from spfile;

File created.

2、修改pfile中

同时修改undo参数,通常事情是redo出问题了,那就意味着有事务没提交完,那undo必然不一致,所以干脆把undo也改了 initorcl.ora


*.
_allow_resetlogs_corruption
=
TRUE

*.
undo_management
=
'MANUAL'

*.
rollback_segments
=
'SYSTEM'

3、使用PFILE启动数据库同时进行recover操作


sqlplus 
/
 
as
 sysdba

SQL
>
 startup  mount pfile
=
'e:\app\initorcl.ora'

SQL
>
 RECOVER DATABASE 
until
 cancel
;
 
>>>进行自动
recover
到时间点

指定日志:
 
{<
RET
>=
suggested 
|
 filename 
|
 AUTO 
|
 CANCEL
}

cancel

4、打开数据库


SQL
>
 alter database open resetlogs
;
 

alter database open resetlogs

ORA
-
00600Q
 
:
 
internal
 error code
,
 arguments
:
 
[
2662
,
 
[
2
],[
1094161685
,[
0
],[
1094218279
],[
8388625
],
 

此报错是数据块SCN号小于当前SCN号,用ADJUST SCN调整SCN号。

5、参数并用启动


SQL
>
 startup  mount pfile
=
'e:\app\initorcl.ora'

SQL
>
 alter session  
set
 events 
'10015 trace name ADJUST SCN level 1'
;
 

 SQL
>
 alter database open resetlogs
;
 

 

6、新建一个UNDO表空间


SQL
>
 create undo tablespace UNDOTBS2 datafile  
''
E
:
\APP\ADMINSTRATOR\ORDATA\ORCL\UNDOTBS2
.
DBF
'

SIZE 5G;

Tablespace created.

7、删除旧的UNDO表空间、修改pfile并创建spfile


_allow_resetlogs_corruption
=
TRUE 
---去掉

*.
undo_management
=
'auto'

 
*.
undo_tablespace
=
UNDOTBS2

SQL
>
 drop tablespace UNDOTBS including contents 
and
 datafiles
;

Tablespace
 dropped
.

SQL
>
 create spfile form pfile
;

8、关闭数据库实例


SQL
>
 shutdown immediate
;

Database
 closed
.


Database
 dismounted
.


ORACLE instance shut down
.

9、启动数据库实例(使用spfile)


SQL
>
 startup
;

ORACLE instance started
.

Total
 
System
 
Global
 
Area
 
1.6777E+10
 bytes

Fixed
 
Size
                  
2113368
 bytes

Variable
 
Size
            
9982443688
 bytes

Database
 
Buffers
         
6777995264
 bytes

Redo
 
Buffers
               
14663680
 bytes

Database
 mounted
.

Database
 opened
.

至此数据库无报错。

10、总节

1,在数据库异常修复时,建议进行备份操作;

2,建议对数据库开启归档操作;

3,建议定期对数据库进行备份操作。

相关推荐