设为首页 收藏本站
查看: 542|回复: 0

[经验分享] [20150601]模拟ora

[复制链接]
累计签到:4 天
连续签到:1 天
发表于 2015-12-19 16:08:50 | 显示全部楼层 |阅读模式
  [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>  
  --启动数据库到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   
  *   
  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>
  Variable>  Database Buffers 201326592 bytes   
  Redo Buffers 10498048 bytes   
  Database mounted.

  SYS@test>>
  Database>  SYS@test> select * from scott.deptx;   
  DEPTNO DNAME LOC   
  ------------ -------------- -------------   
  10 ACCOUNTING NEW YORK   
  20 RESEARCH DALLAS   
  30 SALES CHICAGO   
  40 OPERATIONS BOSTON

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-153430-1-1.html 上篇帖子: DBCA报错 ORA 下篇帖子: ORA
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表