[转]如何阅读systemstate dump

转自老白的<oracle rac 日记>一书, dump systemstate产生的跟踪文件包含了系统中所有进程的进程状态等信息。每个进程对应跟踪文件中的一段内容,反映该进程的状态信息,包括进程信息,会话信息,enqueues信息(主要是lock的信息),缓冲区的信息和该进程在SGA区中持有的(held)对象的状态等信息。dump systemstate产生的跟踪文件是从dump那一刻开始到dump任务完成之间一段事件内的系统内所有进程的信息。 那么通常在什么情况下使用systemstate比较合适呢? Oracle推荐的使用systemstate事件的几种情况是: 数据库hang住了 数据库很慢 进程正在hang 数据库出现某些错误 资源争用   dump systemstate的语法为: ALTER SESSION SET EVENTS 'immediate trace name systemstate level 10'; 也可以使用ORADEBUG实现这个功能: sqlplus -prelim / as sysdba oradebug setmypid oradebug unlimit; oradebug dump systemstate 10 如果希望在数据库发生某种错误时调用systemstate事件,可以在参数文件(spfile或者pfile)中设置event参数, 例如,当系统发生死锁(出现ORA-00060错误)时dump systemstate: event = "60 trace name systemstate level 10"   LEVEL参数: 10

你可能感兴趣的:(cache,Lock,dump,library,handle,oradebug)