20101122日志-latch free竞争、归档日志损坏案例


1、Latch free竞争
http://www.eygle.com/archives/2010/11/sap_basis_project.html
知识点: oracle10g图形化管理界面
等待事件学习——latch free、latch: session allocation
1)session  allocation 这个latch根据字面描述直接就定位到  连接的问题 或者并行查询问题,诊断方向很明确,最后以修改 索引 并行度解决问题。
2)在10g以前,latch free,同enqueue一样,是一个等待汇总。从10g开始,这个等待被分解。比如:
NAME                                                        WAIT_CLASSS
----------                                            -------------------
latch: cache buffers chains         Concurrency
latch: redo writing                         Configuration
latch: redo copy                                 Configuration
latch: Undo Hint Latch                     Concurrency
latch: In memory undo latch         Concurrency
latch: MQL Tracking Latch             Concurrency
latch: row cache objects                 Concurrency
latch: shared pool                             Concurrency
latch: library cache                         Concurrency
latch: library cache lock             Concurrency

latch学习——dml lock allocation、resmgr:active threads
1)dml lock allocation
Description:
This latch protects the list of State Objects (dml locks). Every time a transaction modifies a table, a DML lock is gotten and released when the change is committed. The number of State Objects for dml locks is determined by the init.ora
2)resmgr:active threads
resmgr:active threads 资源管理的竞争极高,虽然数据库中没有显示的设置任何资源计划。后来这个问题通过设置隐含参数禁用资源计划得以解决。
resource_manager_plan 进程和会话 如果指定该值,资源管理器将激活计划和例程的所有子项 (子计划、指令和使用者组)。如果不指定,资源管理器将被禁用,但使用 ALTER SYSTEM 命令还可以启用。

2、Oracle数据库恢复:归档日志损坏案例一则
http://www.eygle.com/archives/2010/11/recover_archivelog_corruption.html
http://www.eygle.com/archives/2010/11/oracle_erp_recovery_case.html
知识点:
如果归档日志损坏了,其实我们仍然有办法跳过去,继续尝试恢复其他日志,这时候只能放弃部分数据,由前台重新提交数据了。
查看日志文件的内容,通过最简单的命令将日志文件中的内容输出出来:strings arch_1_37288_632509987.dbf > log.txt
归档日志损坏的原因:归档日志文件被写入了大量的跟踪文件内容,其中开头部分就是一个跟踪文件的全部信息。当操作系统在写出跟踪文件时,错误地覆盖掉了已经存在的归档文件,最后导致归档日志损坏。
Oracle是在进行mon_mods表的维护时出现了不一致,导致2662错误的出现。
mon_mods$详解:
http://www.eygle.com/archives/2009/09/mon_mods_is_use.html
mon_mods$ is used for DML monitoring
从Oracle的代码里可以看到这个表是进行DML跟踪的,Oracle的自动统计数据收集功能会据此判断哪些表的数据发生了变化,需要进行重新的信息收集。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/95233/viewspace-678722/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/95233/viewspace-678722/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值