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/