oracle 10015 trace name adjust_scn level level_num一,在数据库无法打开,mount状态下通过10015事件推进scn
alter session set events '10015 trace name adjust_scn level level_num'
当前日志文件损坏修复可能遇到的问题。1,将undo改变成手工管理的,2,然后设置隐含参数
_allow_resetlogs_corruption = true 和 _corrupted_rollback_segments
因为redo损坏的时候,undo数据也大都不一致了。3,open resetlogs之前,先使用recover database using backup controlfile until cancel;
如果此时又遇到600错误,就使用ADJUST_SCN事件来调整当前的SCN,如果SCN相差不多,
可以通过多次重起数据库解决。如果scn相差比较多,4,可以使用10015 event:
alter session set events '10015 trace name adjust_scn level 1';
如果SCN相差比较多,可以设置level 2,。。。level 10等 (level 1为增进SCN 10亿 (1 billion) (1024*1024*1024),通常Level 1已经足够。也可以根据实际情况适当调整。)
参考这里
How to calculate adjust SCN level
Posted in Oracle RDMS on November 19th, 2006
本文对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], [], []
ORA-00600: internal error code, arguments: [2662], [a], [b],         [c], [d],         [e],       [], []
这个报错参数的含义在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。5,通过这几个参数根据一定的规则可以计算出我们需要的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就应该足够了。
alter session set events '10015 trace name adjust_scn level 1';二,当数据库在open状态时:
1.通过immediate trace name方式(在数据库Open状态下)
alter session set events 'IMMEDIATE trace name ADJUST_SCN level x';2,看另外一个例子的报错信息,我们再来计算一次。
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
因此在这个例子中我们应该执行
alter session set events 'IMMEDIATE trace name ADJUST_SCN level 34625';3,另外一种计算方法:
然后重启在mount状态下,采用10015来adjust_scn。
首先计算所需要的level,将数据文件scn除以1073741824,得出的数字加1,再取整,即得出所需要的level.
公式如下:level_num=(1024*1024*1024*4*Arg [c])+Arg [d])/1024*1024*1024
然后alter session set events '10015 trace name adjust_scn level level_num';注意:2012年1月后的PSU中包含隐含参数_external_scnrejection_threshold_hours,此时隐含参数和10015事件会失效。 

oracle 推进scn号相关推荐

  1. Oracle推进SCN系列:使用oradebug在mount状态下推进SCN

    环境:RHEL 6.5(x86-64) + Oracle 11.2.0.4 声明:推进SCN属于非常规恢复范畴,不建议非专业人员操作,否则后果自负. 需求:我这里演示下推进SCN 10W数量级,实际需 ...

  2. 手动修改oracle scn号,SCN(系统改变号)

    1. scn: system change number 用以标识数据库在某个确切时刻提交的版本. 数据库的内部逻辑时钟. 每个数据库都有一个全局的SCN生成器. 它会随着外部变化的加快而加快变化,在 ...

  3. oracle中scn(系统改变号)

    系统scn:                 select checkpoint_change# from v$database; 文件scn:                 select name ...

  4. oracle技术之检查点及SCN号(一)

    一.CHECKPIONT分为三类: 1)局部CHECKPIONT: 单个实例执行数据库所有数据文件的一个CHECKPIONT操作,属于此实例的全部脏缓存区写入数据文件. 触发命令:SQL>alt ...

  5. oracle scn参数,【学习笔记】Oracle数据库使用_MINIMUM_GIGA_SCN推进SCN案例

    天萃荷净 Oracle研究中心学习笔记:分享一篇关于Oracle数据库SCN故障解决办法,使用_MINIMUM_GIGA_SCN推进SCN案例. 最近帮朋友弄一个WIN环境的数据库,需要增加SCN值, ...

  6. 手动修改oracle scn号,使用Oradebug修改Oracle SCN

    Oracle SCN对于数据库运行.维护而言是至关重要的因素.在启动从mount到open过程中,主要是各种文件的SCN进行比较的行为.通常情况下,我们是不需要介入到Oracle SCN的取值和设置, ...

  7. oracle的scn增量备份,【Oracle】基于SCN的增量备份修复DataGuard GAP

    1. 首先来模拟 Gap 的产生 1.1. 备库关闭: SYS@dgtest_sshutdown immediate; 1.2. 主库切换日志 SYS@dgtestselect SEQUENCE#,A ...

  8. 获取当前scn号scn1_Checkpoint和SCN的解析

    Checkpoint 很多人都把checkpoint的概念给复杂化了,其实checkpoint这个数据库概念引入的真正意义就是用来减少在数据库恢复过程中所花的时间(instance recovery) ...

  9. oracle数据库6月之后的数据,Oracle数据库SCN存在可能在2019年6月导致宕机问题

    当前的问题 Oracle日前发布了两个公告在其官网上,简单描述为对应的数据库都需要打上对应的最小补丁,否则在2019年6月的时候可能会导致大范围宕机的情况. SCN是System Change Num ...

最新文章

  1. 入选 Forrester 领导者象限,阿里云 Serverless 产品能力全球第一
  2. Ant Design Pro入门之部署安装
  3. 前端学习(171):注释元素
  4. Direct3D中的绘制(3)
  5. 数学和古典诗词的意境
  6. java 读取控制台_Java从控制台读入数据的几种方法总结
  7. Sublime中查找重复行的正则表达式
  8. APT攻防整理-攻击方法/工具
  9. 计算机病毒没有文件名是靠什么识别的,电脑病毒文件怎么样识别
  10. 【VHDL】半减器和全减器的设计
  11. Android集成华为、小米、OPPO、VIVO、极光推送
  12. 使用Zend Expressive快速进行企业应用开发
  13. 23andMe宣称其基因报告可以检测2型糖尿病患病风险
  14. 常见嵌入式WEB服务器
  15. java中的解耦_java-了解如何解耦
  16. srsLTE系统安装教程
  17. 华盛顿大学计算机语言学,华盛顿大学人工智能专业排名2020年
  18. 网络分析仪测试线损_求e5071c网络分析仪校50欧姆阻抗与线损方法,标准...
  19. 【Endnote】在论文中插入参考文献,并将插入参考文献的序号格式改为[1] [2] [3] 或1,2,3
  20. docker(一):基本组成与常用命令

热门文章

  1. “21 天好习惯”第一期-4
  2. 网页爬虫之页面解析-BeautifulSoup/XPath/pyquery使用
  3. Python3的函数的详解
  4. 中文自动文本摘要生成指标计算,Rouge/Bleu/BertScore/QA代码实现
  5. 二叉树非递归遍历的一点理解
  6. 【FFMPEG】H264码流的两种组织方式:AnnexB和AVCC
  7. 谈谈对Python爬虫的理解
  8. 什么是SSL安全证书
  9. vuecli 实现导航切换
  10. mos管的rc吸收电路计算_RC吸收电路