[20150601]模拟ora-00600[2608]错误.txt
[20150601]模拟ora-00600[2608]错误.txt
--前几天在测试使用bbed解决丢失的归档,链接:
http://blog.itpub.net/267265/viewspace-1676438/ [20150529]使用bbed解决丢失的归档.txt
--出现如下错误:
ORA-00600: internal error code, arguments: [2608], [1], [2], [4101877000], [2], [4101877009], [], []
--不过后续的我做的操作在也没有出现这个错误.上午看了刘工的链接:
http://www.askmaclean.com/archives/oracle%E5%86%85%E9%83%A8%E9%94%99%E8%AF%AFora-00600-2608%E4%B8%80%E4%BE%8B.html
--自己重复模拟看看:
该ORA-00600[2608]可能由数据文件头中记录的checkpoint scn过小造成,Oracle会将该checkpoint scn与块中的resetlogs scn以及控制
文件中记录的日志文件的Low scn相比较,若文件头中的checkpoint scn远小于对比值,那么就会出现ORA-00600[2608]内部错误。
下面我们通过修改数据文件头中kcvfhckp结构中记录的checkpoint scn到一个较小值,来模拟出发ORA-00600[2608]内部错误:
1.测试环境:
SYS@test> @ &r/ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- ----------------------------------------------------------------
x86_64/Linux 2.4.xx 10.2.0.4.0 Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
--启动数据库到mount状态.
SYS@test> SELECT file#, CHECKPOINT_CHANGE#, UNRECOVERABLE_CHANGE# ,LAST_CHANGE#, OFFLINE_CHANGE#, ONLINE_CHANGE#,status FROM v$datafile;
FILE# CHECKPOINT_CHANGE# UNRECOVERABLE_CHANGE# LAST_CHANGE# OFFLINE_CHANGE# ONLINE_CHANGE# STATUS
------------ ------------------ --------------------- ------------ --------------- -------------- ----------
1 12691983312 0 12691983312 0 0 SYSTEM
2 12691983312 0 12691983312 0 0 ONLINE
3 12691983312 0 12691983312 0 0 ONLINE
4 12691983312 0 12691983312 0 0 ONLINE
5 12691983312 0 12691983312 0 0 ONLINE
6 12691983312 0 12691983312 12691975496 12691983100 ONLINE
6 rows selected.
SYS@test> SELECT file#, CHECKPOINT_CHANGE#, CREATION_CHANGE# , RESETLOGS_CHANGE#,status, CHECKPOINT_COUNT,fuzzy FROM v$datafile_header;
FILE# CHECKPOINT_CHANGE# CREATION_CHANGE# RESETLOGS_CHANGE# STATUS CHECKPOINT_COUNT FUZ
------------ ------------------ ---------------- ----------------- ---------- ---------------- ---
1 12691983312 5 12691748925 ONLINE 868465271 NO
2 12691983312 600647 12691748925 ONLINE 868465271 NO
3 12691983312 6678 12691748925 ONLINE 868465271 NO
4 12691983312 10685 12691748925 ONLINE 868465274 NO
5 12691983312 625439 12691748925 ONLINE 868465271 NO
6 12691983312 11997383136 12691748925 ONLINE 292 NO
6 rows selected.
SYS@test> @ &r/logfile
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME GROUP# STATUS TYPE MEMBER IS_
------ ------- --------- ----------- ------- --- ---------- ------------- ------------------- ------ ---------- ---------- ----------------------------- ---
1 1 40 52428800 1 YES INACTIVE 12691887202 2015-05-30 04:05:39 1 ONLINE /mnt/ramdisk/test/redo01.log NO
2 1 41 52428800 1 NO CURRENT 12691935321 2015-05-31 10:08:21 2 ONLINE /mnt/ramdisk/test/redo02.log NO
3 1 39 52428800 1 YES INACTIVE 12691855595 2015-05-29 10:32:22 3 ONLINE /mnt/ramdisk/test/redo03.log NO
--当前数据文件6的scn是12691983312.
12691983312-2^33=4102048720
4102048720 = 0xf4804bd0
0xf4700000 = 4100980736
4100980736+2^33=12690915328
修改为 0xf4700000
--RESETLOGS_CHANGE#
12691748925-2^33=4101814333
4101814333 = 0xf47cb83d
----我准备将scn最后4位修改为f4804bd0=>0xf4700000看看(比RESETLOGS_CHANGE#小).(注意我的测试环境wrap=2,要扣除2^32*2)
2.bbed修改:
BBED> set dba 6,1
DBA 0x01800001 (25165825 6,1)
BBED> p kcvfh.kcvfhrls
struct kcvfhrls, 8 bytes @116
ub4 kscnbas @116 0xf47cb83d
ub2 kscnwrp @120 0x0002
--resetlogset scn,与前面的正好对上.
f47cb83d = 4101814333
4101814333+2^33=12691748925
-----
BBED> p kcvfh.kcvfhckp
struct kcvfhckp, 36 bytes @484
struct kcvcpscn, 8 bytes @484
ub4 kscnbas @484 0xf4804bd0
ub2 kscnwrp @488 0x0002
ub4 kcvcptim @492 0x3486c9dc
ub2 kcvcpthr @496 0x0001
union u, 12 bytes @500
struct kcvcprba, 12 bytes @500
ub4 kcrbaseq @500 0x00000029
ub4 kcrbabno @504 0x00012fa6
ub2 kcrbabof @508 0x0010
ub1 kcvcpetb[0] @512 0x02
ub1 kcvcpetb[1] @513 0x00
ub1 kcvcpetb[2] @514 0x00
ub1 kcvcpetb[3] @515 0x00
ub1 kcvcpetb[4] @516 0x00
ub1 kcvcpetb[5] @517 0x00
ub1 kcvcpetb[6] @518 0x00
ub1 kcvcpetb[7] @519 0x00
BBED> p kcvfh.kcvfhckp.kcvcpscn.kscnbas
ub4 kscnbas @484 0xf4804bd0
--要颠倒1下.
BBED> modify /x 0000
...
BBED> p kcvfh.kcvfhckp.kcvcpscn.kscnbas
ub4 kscnbas @484 0xf4800000
BBED> set offset +2
OFFSET 486
BBED> modify /x 70f4
...
BBED> p kcvfh.kcvfhckp.kcvcpscn.kscnbas
ub4 kscnbas @484 0xf4800000
BBED> p kcvfh.kcvfhckp.kcvcpscn.kscnbas
ub4 kscnbas @484 0xf4700000
BBED> sum apply ;
Check value for File 6, Block 1:
current = 0x28e6, required = 0x28e6
3.开始测试:
SYS@test> SELECT file#, CHECKPOINT_CHANGE#, UNRECOVERABLE_CHANGE# ,LAST_CHANGE#, OFFLINE_CHANGE#, ONLINE_CHANGE#,status FROM v$datafile;
FILE# CHECKPOINT_CHANGE# UNRECOVERABLE_CHANGE# LAST_CHANGE# OFFLINE_CHANGE# ONLINE_CHANGE# STATUS
------------ ------------------ --------------------- ------------ --------------- -------------- ----------
1 12691983312 0 12691983312 0 0 SYSTEM
2 12691983312 0 12691983312 0 0 ONLINE
3 12691983312 0 12691983312 0 0 ONLINE
4 12691983312 0 12691983312 0 0 ONLINE
5 12691983312 0 12691983312 0 0 ONLINE
6 12691983312 0 12691983312 12691975496 12691983100 ONLINE
6 rows selected.
SYS@test> SELECT file#, CHECKPOINT_CHANGE#, CREATION_CHANGE# , RESETLOGS_CHANGE#,status, CHECKPOINT_COUNT,fuzzy FROM v$datafile_header;
FILE# CHECKPOINT_CHANGE# CREATION_CHANGE# RESETLOGS_CHANGE# STATUS CHECKPOINT_COUNT FUZ
------------ ------------------ ---------------- ----------------- ---------- ---------------- ---
1 12691983312 5 12691748925 ONLINE 868465271 NO
2 12691983312 600647 12691748925 ONLINE 868465271 NO
3 12691983312 6678 12691748925 ONLINE 868465271 NO
4 12691983312 10685 12691748925 ONLINE 868465274 NO
5 12691983312 625439 12691748925 ONLINE 868465271 NO
6 12690915328 11997383136 12691748925 ONLINE 292 NO
6 rows selected.
SYS@test> alter database open ;
alter database open
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [3619], [1], [0], [], [], [], [], []
SYS@test> select open_mode from v$database ;
OPEN_MODE
----------
MOUNTED
SYS@test> recover datafile 6;
ORA-00283: recovery session canceled due to errors
ORA-00600: internal error code, arguments: [2608], [2], [2], [4100980736], [2], [4102000729], [], []
--第2个参数2,标识log group#(我猜测的)
--第3个参数wrap,第4个参数base scn. 文件头CHECKPOINT_CHANGE#.
--第5个参数wrap,第6个参数base scn. 这个值是log group# =2 ,FIRST_CHANGE#.
2^33+4100980736=12690915328
2^33+4102000729=12691935321
4.还原现场:
BBED> set dba 6,1
DBA 0x01800001 (25165825 6,1)
BBED> p kcvfh.kcvfhckp.kcvcpscn.kscnbas
ub4 kscnbas @484 0xf4700000
BBED> modify /x d04b
..
BBED> set offset +2
OFFSET 486
BBED> modify /x 80f4
BBED> p kcvfh.kcvfhckp.kcvcpscn.kscnbas
ub4 kscnbas @484 0xf4804bd0
BBED> sum apply ;
Check value for File 6, Block 1:
current = 0x254d, required = 0x254d
SYS@test> SELECT file#, CHECKPOINT_CHANGE#, UNRECOVERABLE_CHANGE# ,LAST_CHANGE#, OFFLINE_CHANGE#, ONLINE_CHANGE#,status FROM v$datafile;
FILE# CHECKPOINT_CHANGE# UNRECOVERABLE_CHANGE# LAST_CHANGE# OFFLINE_CHANGE# ONLINE_CHANGE# STATUS
------------ ------------------ --------------------- ------------ --------------- -------------- ----------
1 12691983312 0 12691983312 0 0 SYSTEM
2 12691983312 0 12691983312 0 0 ONLINE
3 12691983312 0 12691983312 0 0 ONLINE
4 12691983312 0 12691983312 0 0 ONLINE
5 12691983312 0 12691983312 0 0 ONLINE
6 12691983312 0 12691983312 12691975496 12691983100 ONLINE
6 rows selected.
SYS@test> SELECT file#, CHECKPOINT_CHANGE#, CREATION_CHANGE# , RESETLOGS_CHANGE#,status, CHECKPOINT_COUNT,fuzzy FROM v$datafile_header;
FILE# CHECKPOINT_CHANGE# CREATION_CHANGE# RESETLOGS_CHANGE# STATUS CHECKPOINT_COUNT FUZ
------------ ------------------ ---------------- ----------------- ---------- ---------------- ---
1 12691983312 5 12691748925 ONLINE 868465271 NO
2 12691983312 600647 12691748925 ONLINE 868465271 NO
3 12691983312 6678 12691748925 ONLINE 868465271 NO
4 12691983312 10685 12691748925 ONLINE 868465274 NO
5 12691983312 625439 12691748925 ONLINE 868465271 NO
6 12691983312 11997383136 12691748925 ONLINE 292 NO
6 rows selected.
SYS@test> shutdown immediate ;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SYS@test> startup mount
ORACLE instance started.
Total System Global Area 473956352 bytes
Fixed Size 2084776 bytes
Variable Size 260046936 bytes
Database Buffers 201326592 bytes
Redo Buffers 10498048 bytes
Database mounted.
SYS@test> alter database open ;
Database altered.
SYS@test> select * from scott.deptx;
DEPTNO DNAME LOC
------------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
[20150601]模拟ora-00600[2608]错误.txt相关推荐
- [20160910]低级错误.txt
[20160910]低级错误.txt --记录一个低级错误,要在表ms_yyhy中增加一个字段fyxh,并且要与同步ms_ysks.fyxh相关记录保持一直. --我同事在测试环境下,执行如下: UP ...
- 【BBED】BBED模拟并修复ORA-08102错误
[BBED]BBED模拟并修复ORA-08102错误 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ...
- [20190415]ora-02049错误.txt
[20190415]ora-02049错误.txt --//前几天遇到的问题,这几天探究latch,没有马上解决彻底,今天在看看, --//很古老的旧系统(192.168.xxx.xx)出现问题,or ...
- BBED模拟并修复ORA-08102错误
1.3 本文简介 这几天一个朋友问我有关ORA-08102的错误,而且是关于OBJ$表上的I_OBJ4索引.这些系统对象的索引,不能采用重建或设置事件的方式来修复该错误.模模糊糊的记得很早以前看过使 ...
- [20180428]DNS与ORA-12154错误.txt
[20180428]DNS与ORA-12154错误.txt --//今天建立并测试DNS,使用名字代替IP登录数据库,遇到ORA-12154错误,做一个记录: 1.环境: --//首先我建立dns使用 ...
- oracle创建orcl失败,prcr-1079:failed to start resource ora.orcl.db错误的解决办法
使用DBCA创建数据库,到90%多的时候就报错 prcr-1079:failed to start resource ora.orcl.db CRS-2674:start of 'ora.orcl.d ...
- 模拟炒股服务器响应错误,模拟炒股常见问题
1.问:模拟炒股开市时间到几点? 答:按照交易所的规定,模拟炒股实时交易时间为上午09:31--11:29.下午13:01--14:59.系统清算时间为每日下午15:00--17:00.非交易时间可以 ...
- 修正《啊哈算法》上模拟链表算法的错误
算法描述: 在<啊哈算法>上有介绍模拟链表的实现.链表这种数据结构可以通过数组来实现,我们需要两个数组,其中一个数组data存放数据,即数据域.另外一个数组right用来存放每一个数的 ...
- ORA 各种oraclesql错误
ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020 ...
最新文章
- Thread系列——Thread.Sleep(0)
- 小议Python3的原生协程机制
- Java数组在内存中是如何存放的
- hotelling变换_基于Hotelling-T²的偏最小二乘(PLS)中的变量选择
- Jquery常用正则验证
- 101与金根回顾敏捷个人:(13)敏捷个人和敏捷开发
- 单片机的 FIFO循环队列实现
- CentOS上安装Docker (图解)
- 回车 触发 提交事件
- linux 每日学一点《Linux挂载NTFS分区方法》
- Java全栈工程实践
- 学计算机专业工作总结,计算机专业学生个人实习工作总结范文
- USGS批量下载影像(Sentinel2/哨兵2/Landsat)数据、bda程序安装-(史上最全讲解)
- matlab画任意正多边形,MATLAB——patch绘制多边形
- JS设置请在微信客户端打开链接提示页面
- a类计算机机房建设标准,A类机房建设标准和B类机房建设标准有什么差别
- 免费的小程序微商城系统它不香吗?
- 网络状态显示小地球不要慌!
- ssm使用Transport.send发送邮件(带附件)
- 有效控制物流运输过程成本10项措施