oracle ora-00333 修改案例

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

1.问题原因 数据库服务器由于断电引起,在alter database open是报  ORA-00333: redo log read error block 9167 count 1073, 相关环境如下:单实例windows oracle11.2.0.4,无备份,没开归档。 2. 处理

 备份数据文件、控制文件、redo文件select name  from v$datafile union select member from v$logfile unionselect name  from v$controlfile; 冷备份   修改隐含参数

启动到mount:执行 recover database until cancel;10 cancel同时查看数据文件:  SQL> col checkpoint_change# for 9999999999999999SQL> select file#,checkpoint_change# from v$datafile;可以看到数据库的SCN是一致的。 执行 recover database until cancel命令:Specify log: {<RET>=suggested | filename | AUTO | CANCEL}CANCEL  ------->选择cancelSQL> alter database open resetlogs;  执行open resetlogs报错创建pfile文件并启动数据库 创建pfile文件 修改pfile.ora,增加如下部分 _allow_resetlogs_corruption=TRUE *.undo_management='MANUAL' *.rollback_segments='SYSTEM' alter database open resetlogs ; o RA-00600: internal error code, arguments: [2662], [0], [6202286], [0], [6211768], [12582976], [], [], [], [], [], 

SQL>Selectcurrent_scn from v$database;

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

0 设置隐含参数_minimum_giga_scn select to_char(checkpoint_change#,'99999999999999') from v$database; 16060095276884 select  distinct(to_char(checkpoint_change#,'99999999999999'))  from v$datafile_header; (TO_CHAR(CHECKP --------------- 16060095276884 SQL> select 16060095276884/1024/1024/1024 from dual; 15060095276784/1024/1024/1024 ----------------------------- 15027.0930 修改pfile: _minimum_giga_scn=15027 现次启动数据库,顺利open,但有一堆JOB报错,估计掉电时正在跑JOB.也就解释了为啥周日掉电也会把数据库redo 搞垮。 SQL> alter system setjob_queue_processes=0; 导出全部做一个逻辑导出咯。 expdp system/systemdirectory=full dumpfile=dump_%u.dmp logfile=expo2023.log full=y parallel=10 导出时也报了一个错,说回滚段不可用,忘了把undo改成真正的undo了, SQL> create undo tablespace  undotbs2 datafile  size 4G; 修改pfile,改成成undotbs2;再次重启,OK。

相关推荐