偶然的一次, 网友在t.askmaclean.com ASK Maclean Home提问了关于11.2 上一个ORA-600问题的解决途径,我们这里不讨论该ORA-600[kcratr_nab_less_than_odr]错误, 比这个错误本身更有趣的是 该600 trace中记录了一段对于前滚恢复rolling upgrade描述十分详细的KST trace。     很多网友肯定要问什么是KST? KST是9i以后引入的内部诊断机制Tracing Facility,每一个Oracle 进程都维护SGA中的一小块Trace buffer,并将自身的默认启用的一些event事件信息写入到Trace Buffer中(这些事件默认包括10280, 10401, 10441, 10442, 10425, 10427, 10429, 10434, 10666),可以使用内部视图x$trace观察这些信息,默认Trace Buffer不写到磁盘上,而只在SGA中维护,当Trace Buffer用完时将被重用。   了解了 KST的知识后,我们可以从容地阅读下面这段TRACE了:      
Trace Bucket Dump Begin: default bucket for process 19 (osid: 29785)
TIME(*=approx):SEQ:COMPONENT:FILE@LINE:FUNCTION:SECT/DUMP: [EVENT#:PID:SID] DATA
  以上是KST Trace的 头部 COMPONENT 组件名 例如 db_trace 、CACHE_RCV,这里的CACHE_RCV意为 cache recovery,实际上是我们所说的前滚rolling forward。 FILE@LINE