elixiat 发表于 2018-9-25 12:43:10

Oracle教程之Oracle 跟踪事件(二)

  三、内部事件号
  1、10013:用于监视事务恢复
  2、10015:转储UNDO SEGMENT头部
  event = "10015 trace name context forever"
  3、10029:用于给出会话期间的登陆信息
  4、10030:用于给出会话期间的注销信息
  5、10032:转储排序的统计信息
  6、10033:转储排序增长的统计信息
  7、10045:跟踪Freelist管理操作
  8、10046:跟踪SQL语句
  alter session set events '10046 trace name context forever, level 4'; --跟踪SQL语句并显示绑定变量
  alter session set events '10046 trace name context forever, level 8'; --跟踪SQL语句并显示等待事件
  9、10053:转储优化策略
  10、10059:模拟redo日志中的创建和清除错误
  11、10061:阻止SMON进程在启动时清除临时段
  12、10079:转储 SQL*NET统计信息
  13、10081:转储高水标记变化
  14、10104:转储Hash连接统计信息
  15、10128:转储分区休整信息
  16、10200:转储一致性读信息
  17、10201:转储一致性读中Undo应用
  18、10209:允许在控制文件中模拟错误
  19、10210:触发数据块检查事件
  event = "10210 trace name context forever, level 10"
  20、10211:触发索引检查事件
  21、10213:模拟在写控制文件后崩溃
  22、10214:模拟在控制文件中的写错误
  levelnumber从1-9表示产生错误的块号,大于等于10则每个控制文件将出错
  23、10215:模拟在控制文件中的读错误
  24、10220:转储Undo头部变化
  25、10221;转储Undo变化
  26、10224:转储索引的分隔与删除
  27、10225:转储基于字典管理的区间的变化
  28、10229:模拟在数据文件上的I/O错误
  29、10231:设置在全表扫描时忽略损坏的数据块
  alter session set events '10231 trace name context off'; -- 关闭会话期间的数据块检查
  event = "10231 trace name context forever, level 10" -- 对任何进程读入SGA的数据块进行检查
  30、10232:将设置为软损坏(DBMS_REPAIR包设置或DB_BLOCK_CHECKING为TRUE时设置)的数据块dump到跟踪文件
  31、10235:用于内存堆检查
  alter session set events '10235 trace name context forever, level 1';
  32、10241:转储远程SQL执行
  33、10246:跟踪PMON进程
  34、10248:跟踪dispatch进程
  35、10249:跟踪MTS进程
  36、10252:模拟写数据文件头部错误
  37、10253:模拟写redo日志文件错误
  38、10262:允许连接时存在内存泄漏
  alter session set events '10262 trace name context forever, level 300'; -- 允许存在300个字节的内存泄漏
  39、10270:转储共享游标
  40、10285:模拟控制文件头部损坏
  41、10286:模拟控制文件打开错误
  42、10287:模拟归档出错
  43、10357:调试直接路径机制
  44、10500:跟踪SMON进程
  45、10608:跟踪位图索引的创建
  46、10704:跟踪enqueues
  47、10706:跟踪全局enqueues
  48、10708:跟踪RAC的buffer cache
  49、10710:跟踪对位图索引的访问
  50、10711:跟踪位图索引合并操作
  51、10712:跟踪位图索引OR操作
  52、10713:跟踪位图索引AND操作
  53、10714:跟踪位图索引MINUS操作
  54、10715:跟踪位图索引向ROWID的转化
  55、10716:跟踪位图索引的压缩与解压
  56、10719:跟踪位图索引的修改
  57、10731:跟踪游标声明
  58、10928:跟踪PL/SQL执行
  59、10938:转储PL/SQL执行统计信息
  最后要说明的是,由于版本不同以上语法可能有些变化,但大多数还是可用的。
  四. 示例
  4.1查看当前trc 文件
  select
  u_dump.value || '/' ||
  db_name.value || '_ora_' ||
  v$process.spid ||
  nvl2(v$process.traceid, '_' || v$process.traceid, null )
  || '.trc' "Trace File"
  from
  v$parameter u_dump
  cross join v$parameter db_name
  cross join v$process
  join v$session
  on v$process.addr = v$session.paddr
  where
  u_dump.name = 'user_dump_dest' and
  db_name.name = 'db_name' and
  v$session.audsid=sys_context('userenv','sessionid');
  eg:
  /fsdb1/oracle/admin/newccs/udump/newccs_ora_4862050.trc
  4.2执行event
  alter session set events '10046 trace name context forever, level 1';
  select count(1) from all_tables;
  alter session set events '10046 trace name context off' ;
  4.3 在查看newccs_ora_4862050.trc
  $more newccs_ora_4862050.trc
  oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html

页: [1]
查看完整版本: Oracle教程之Oracle 跟踪事件(二)