以前也整理过一遍有关跟踪事件的文章,不过命令方面没有这篇强。

 

Oracle 跟踪事件 set event

http://blog.csdn.net/tianlesoftware/archive/2009/12/10/4977827.aspx

 

 

.Memory Dumps

1).Global Area
ALTER SESSION SET EVENTS ‘immediate trace name global_area level n’;
1 包含PGA
2 包含SGA
4 包含UGA
8 包含indrect memory

2).Library Cache
ALTER SESSION SET EVENTS ‘immediate trace name library_cache level n’;
1 library cache统计信息
2 包含hash table histogram
3 包含object handle
4 包含object结构(Heap 0)

3).Row Cache
ALTER SESSION SET EVENTS ‘immediate trace name row_cache level n’;
1 row cache统计信息
2 包含hash table histogram
8 包含object结构

4).Buffers
ALTER SESSION SET EVENTS ‘immediate trace name buffers level n’;
1 buffer header
2 level 1 + block header
3 level 2 + block contents
4 level 1 + hash chain
5 level 2 + hash chain
6 level 3 + hash chain
8 level 4 + users/waiters
9 level 5 + users/waiters
10 level 6 + users/waiters

5).Buffer
ALTER SESSION SET EVENTS ‘immediate trace name buffer level n’;
n为某个指定block的rdba,该命令可以转储某个block在buffer中的所有版本。

6).Heap
ALTER SESSION SET EVENTS ‘immediate trace name heapdump level level’;
1 PGA摘要
2 SGA摘要
4 UGA摘要
8 Current call(CGA)摘要
16 User call(CGA)摘要
32 Large call(LGA)摘要
1025 PGA内容
2050 SGA内容
4100 UGA内容
8200 Current call内容
16400 User call内容
32800 Large call内容

7).Sub Heap
Oracle 9.0.1版本之前
ALTER SESSION SET EVENTS ‘immediate trace name heapdump_addr level n’;
若n为subheap的地址,转储的是subheap的摘要信息
若n为subheap的地址+1,转储的则是subheap的内容
Oracle 9.2.0版本之后
ALTER SESSION SET EVENTS ‘immediate trace name heapdump_addr level n, addr m’;
其中m为subheap的地址
n为1转储subheap的摘要,n为2转储subheap的内容

8).Process State
ALTER SESSION SET EVENTS ‘immediate trace name processstate level n’;

9).System State
ALTER SESSION SET EVENTS ‘immediate trace name systemstate level n’;

10).Error State
ALTER SESSION SET EVENTS ‘immediate trace name errorstack level n’;
0 Error stack
1 level 0 + function call stack
2 level 1 + process state
3 level 2 + context area

11).Hang Analysis
ALTER SESSION SET EVENTS ‘immediate trace name hanganalyze level n’;

12).Work Area
ALTER SESSION SET EVENTS ‘immediate trace name workareatab_dump level n’;
1 SGA信息
2 Workarea Table摘要信息
3 Workarea Table详细信息

13).Latches
ALTER SESSION SET EVENTS ‘immediate trace name latches level n’;
1 latch信息
2 统计信息

14).Events
ALTER SESSION SET EVENTS ‘immediate trace name events level n’;
1 session
2 process
3 system

15).Locks
ALTER SESSION SET EVENTS ‘immediate trace name locks level n’;

16).Shared Server Process
ALTER SESSION SET EVENTS ‘immediate trace name shared_server_state level n’;
n取值为1~14

17).Background Messages
ALTER SESSION SET EVENTS ‘immediate trace name bg_messages level n’;
n为pid+1

.File Dumps

1).Block
Oracle 7之前
ALTER SESSION SET EVENTS ‘immediate trace name blockdump level n’;
n为block的rdba
Oracle8以后
ALTER SYSTEM DUMP DATAFILE file# BLOCK block#;
ALTER SYSTEM DUMP DATAFILE file#
BLOCK MIN minimum_block#
BLOCK MAX maximum_block#;

2).Tree Dump
ALTER SESSION SET EVENTS ‘immediate trace name treedump level n’;
n为object_id

3).Undo Segment Header
ALTER SYSTEM DUMP UNDO_HEADER ’segment_name’;

4).Undo for a Transaction
ALTER SYSTEM DUMP UNDO BLOCK ’segment_name’ XID xidusn xidslot xidsqn;

5).File Header
ALTER SESSION SET EVENTS ‘immediate trace name file_hdrs level n’;
1 控制文件中的文件头信息
2 level 1 + 文件头信息
3 level 2 + 数据文件头信息
10 level 3

6).Control file
ALTER SESSION SET EVENTS ‘immediate trace name controlf level n’;
1 文件头信息
2 level 1 + 数据库信息 + 检查点信息
3 level 2 + 可重用节信息
10 level 3

7).Redo log Header
ALTER SESSION SET EVENTS ‘immediate trace name redohdr level n’;
1 控制文件中的redo log信息
2 level 1 + 文件头信息
3 level 2 + 日志文件头信息
10 level 3

8).Redo log
ALTER SYSTEM DUMP LOGFILE ‘FileName’;
ALTER SYSTEM DUMP LOGFILE ‘FileName’
SCN MIN MinimumSCN
SCN MAX MaximumSCN
TIME MIN MinimumTime
TIME MAX MaximumTime
LAYER Layer
OPCODE Opcode
DBA MIN FileNumber . BlockNumber
DBA MAX FileNumber . BlockNumber
RBA MIN LogFileSequenceNumber . BlockNumber
RBA MAX LogFileSequenceNumber . BlockNumber;
其中time = (((((yyyy – 1988)) * 12 + mm – 1) * 31 + dd – 1) * 24 + hh) * 60 + mi) * 60 + ss;

9).Loghist
ALTER SESSION SET EVENTS ‘immediate trace name loghist level n’;
1 dump控制文件中最早和最迟的日志历史项
1 dump 2^n个日志历史项

三, Trace 文件使用示例

 

udump下的trc文件可以通过配置不让产生,利用命令
alter system set sql_trace=false;

其他的不能修改,只能手动的启动trace,手动的关闭trace.

比如:

alter session set events 'immediate trace name library_cache|controlf|systemstate|processstate|file_hdrs|REDOHDR level 10';

alter session set events 'immediate trace name off';

alter session set events '10046 trace name context forever,level 12';
alter session set events '10046 trace name context off';

alter system set events '10046 trace name context forever,level 12';
alter system set events '10046 trace name context off';

 

1. 使用autotrace
set autotrace ON | ON EXPLAIN | ON STATISTICS | TRACEONLY | TRACEONLY EXPLAIN
set autotrace off

这个用法是最简单方便的,执行sql结束之后,会自动在同个窗口显示sql的执行计划和统计信息。

2. 使用set events context

SQL> alter session set sql_trace=true;
SQL> alter session set sql_trace=false;

属于当前session级设置

大多数的情况下,我们使用sql_trace跟踪当前进程。通过跟踪当前进程可以发现当前操作的后台数据库递归活动(这在研究数据库新特性时尤其有效),研究SQL执行,发现后台错误等。

alter session set events '10046 trace name context forever,level 12';
alter session set events '10046 trace name context off';

10046事件概述:

10046事件是Oracle提供的内部事件,是对SQL_TRACE的增强.

10046事件可以设置以下四个级别:

1 - 启用标准的SQL_TRACE功能,等价于sql_trace

4 - Level 1 加上绑定值(bind values)

8 - Level 1 + 等待事件跟踪

12 - Level 1 + Level 4 + Level 8

类似sql_trace,10046事件可以在全局设置,也可以在session级设置。

3. 使用set events immediate
alter session set events 'immediate trace name library_cache|controlf|systemstate|processstate|file_hdrs|REDOHDR level 10';
alter session set events 'immediate trace name off';

Level =1 ,转储Library cache统计信息
Level =2 ,转储hash table概要
Level =4 ,转储Library cache对象,只包含基本信息
Level =8 ,转储Library cache对象,包含详细信息(包括child references,pin waiters等)
Level =16,增加heap sizes信息
Level =32,增加heap信息

9i清理buffer cache
   alter session set events 'immediate trace name flush_cache level 1';

alter session set events = 'immediate trace name flush_cache'

4. 使用set events errorstack
alter session set events 'err_num trace name errorstack level 10';
alter session set events 'err_num trace name errorstack off'

err_num=报错代码,如ORA-00942 应该在err_num填入942

5. 使用dbms_support(trace别的session)
exec dbms_support.start_trace_in_session(sid=>XX,seiral#=>XXX,wait=>true,binds=>true);
exec dbms_support.stop_trace_in_session(sid=>XX,seiral#=>XXX);

这类trace用到很少,以后再研究。

6. 使用oradebug(trace别的session)
oradebug setospid (PID 能从ps -ef 中得出)
oradebug unlimit
oradebug event 10046 trace name context forever,level 12;
oradebug event 10046 trace name context off;

这类同样用到很少。

7. 使用dbms_system.set_ev
exec dbms_system.set_ev(sid,serial#,10046,trace_level,'username');
exec dbms_system.set_ev(sid,serial#,10046,0,'username');

通过DBMS_SYSTEM.SET_EV系统包来实现对sql的跟踪

转载于:https://www.cnblogs.com/zlja/archive/2009/12/10/2449972.html

Oracle 常用dump命令相关推荐

  1. Oracle常用dump命令

    导读: Oracle常用dump命令,记录一下备查 一.Memory Dumps 1).Global Area ALTER SESSION SET EVENTS 'immediate trace na ...

  2. oracle中脚本是什么意思,ORACLE常用脚本命令

    用户的管理 一.ORACLE的安全域 1.TABLESPACE QUOTAS:表空间的使用定额 2.DEFAULT TABLESPACE:默认表空间 3.TEMPORARY TABLESPACE:指定 ...

  3. oracle创建DBA角色命令,oracle常用DBA命令

    1.查看用户拥有的数据库对象 Sql代码 select object_name from user_objects; 2.查看约束信息 Sql代码 select constraint_name fro ...

  4. oracle常用sql命令

    为什么80%的码农都做不了架构师?>>>    打开cmd,输入sqlplus,输入用户名密码登陆. 1.创建表: CREATE TABLE table_name (column_n ...

  5. 【分享】Oracle 常用运维命令大全

    教材下载 ORACLE OCP 19C 官方电子教材 ORACLE OCP 12C官方电子教材 课程介绍 DBA数据库管理必备认证:ORACLE OCP 19C Oracle 常用运维命令大全 一.o ...

  6. oracle 常用命令大汇总

    oracle 常用命令大汇总(第一篇) 第一章:日志管理 1.forcing log switches sql> alter system switch logfile; 2.forcing c ...

  7. 收集Oracle常用命令----索引及约束

    Oracle常用命令----索引 1.creating function-based indexes sql> create index summit.item_quantity on summ ...

  8. php oracle创建临时表,Oracle常用命令笔记

    Oracle常用命令笔记 客户端用的pl/sql工具 ORACLE的重启命令 (1) 以系统管理员登录,命令:connect / as sysdba (2) 启动数据库,命令:startup (3) ...

  9. 图解Oracle dump 命令初步

    初步的使用了下Oracle dump命令: 另外遇到 "scott 用户不存在"的问题,也操作了一下: 参阅的资料包括: http://blog.csdn.net/liuyuehu ...

最新文章

  1. 字节二面:GET 请求能上传图片吗?我蒙了。。
  2. 【其它】我博客的个性化代码
  3. java--callback
  4. vue单文件props写法_vue开发中怎么按需加载需要被填入props和自定义事件的组件?...
  5. css实现左(右)侧固定宽度,右(左)侧宽度自适应 ---清除浮动
  6. rabbitmq如何保证消息不被重复消费_如何保证消息不被重复消费
  7. 南师大附中2021高考成绩查询,2021高考倒计时,你有一份师大附中专属回忆录待查收~...
  8. activitimq集群搭建_Spring-activiti
  9. Spring中的Bean是如何被回收的?
  10. cognos报表导出excel_17个新增功能点,让报表更惊艳!
  11. 关于proteus8.8的一键破解版和汉化包
  12. 程序员鼓励师写下的励志名言,我干了
  13. windos无法对计算机进行,电脑提示windows无法完成格式化如何解决
  14. 本周最新文献速递20220123
  15. 分布式事务中的三种解决方案详解(转载)
  16. 计算机和人脑在线阅读,人脑与电脑课件.ppt
  17. 2022华中杯数学建模思路
  18. matlab 二元微分方程组,求助,matlab求解二元二阶的常微分方程组
  19. Office 2021 简体中文 正式版 零售版 32位和64位 官方镜像下载合集
  20. 表格练习(工商银行电子汇款单)表单练习(用户注册)

热门文章

  1. idea查看过期时间
  2. ASP.NET Core微服务(六)——【redis操作】
  3. Linux VNC黑屏(转)
  4. acos1.2的下载及CentOS7下安装nacos1.2
  5. JAVA.IO字符流
  6. git clone 仓库的部分代码
  7. context:component-scan报错
  8. java EE map
  9. PAT 1079. Total Sales of Supply Chain
  10. Android学习笔记36:使用SQLite方式存储数据