尚未能理解,转在这里可以给其它需要的人增加获得这篇信息的机会,也欢迎讨论

上一篇 / 下一篇  2008-01-17 15:30:36 / 个人分类:10g恢复

转自:http://www.dbform.com/html/2006/208.html

How to calculate adjust SCN level

Published bykamusat 2:03 am underOracle RDBMS

本文对eygle的如何处理ORA-600 [2662]作一点补充。

通常我们对于ORA-600 [2662]错误的解决是通过10015 ADJUST_SCN事件来增进current SCN以达到比数据文件中最大的SCN还要大的目的,这样才可能启动数据库

eygle的例子中报错信息如下:
ORA-00600: internal error code, arguments: [2662], [0], [547743994], [0], [898092653], [8388617], [], []

这个报错参数的含义在metalink中如此描述的:
Arg [a] Current SCN WRAP
Arg [b] Current SCN BASE
Arg [c] dependent SCN WRAP
为了存储更大的SCN值,当SCN BASE到足够大并开始重置的时候,SCN WRAP将加1。
Arg [d] dependent SCN BASE
Arg [e] Where present this is the DBA where the dependent SCN came from.
也就是Arg [d] 的值是从哪个block中找到的,通常是一个data block address。

通过这几个参数根据一定的规则可以计算出我们需要的level。计算规则如下:
1.Arg [c] *4得出一个数值,假设为V_Wrap
2.如果Arg [d]=0,则V_Wrap值为需要的level
Arg [d] < 1073741824,V_Wrap+1为需要的level
Arg [d] < 2147483648,V_Wrap+2为需要的level
Arg [d] < 3221225472,V_Wrap+3为需要的level

仍旧看eygle的案例。
Arg [c] *4 = 0 * 4 = 0
Arg [d] = 898092653 < 1073741824
所以level = 0+1 = 1
因此其实eygle不需要增进level 10,level 1就应该足够了。

  1. altersessionsetevents'10015 trace name adjust_scn level 1';

看另外一个例子的报错信息,我们再来计算一次。
ORA-00600: internal error code, arguments: [2662], [0], [2179133], [8656], [70114056], [33855201], [], []

Arg [c] *4 = 8656 * 4 = 34624
Arg [d] = 70114056 < 1073741824
所以level = 34624 + 1 = 34625
因此在这个例子中我们应该执行


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2008-12-04  
 123456
78910111213
14151617181920
21222324252627
28293031   

我的存档

数据统计

  • 访问量: 83
  • 日志数: 2
  • 建立时间: 2008-01-17
  • 更新时间: 2008-01-17

RSS订阅

Open Toolbar