重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2639|回复: 0
打印 上一主题 下一主题

[参数设置] 如何查看已经设置的event参数

[复制链接]
跳转到指定楼层
楼主
发表于 2016-4-19 13:07:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
How To List All The Named Events Set For A Database (文档 ID 436036.1)

In this Document

Goal
Solution
References


Applies to:
Oracle Database - Enterprise Edition - Version 8.0.3.0 and later
Information in this document applies to any platform.
Goal
Oracle Internal Events, both named event (eg: ERRORSTACK) as numeric events (eg 10046) can be set at the session level. This document outlines how DataBase Administrators can verify which events have been set in a specific session or in the entire system.
Solution
This can be achieved through the ORADEBUG functionality. The exact syntax to use depends on the Oracle version you are using.
If you want to retrieve the events set in a specific session, then use the following oradebug commands to identify the session:

1. identify the session  
   SQL> select p.pid, p.spid, s.username  
        from v$process p, v$session s  
        where p.addr = s.paddr;  

2. Attach to the desired session  
   SQL> connect / as sysdba
   SQL> oradebug setorapid <pid>
   - OR -  
   SQL> oradebug setospid <spid>
   ...
If you want to retrieve the events set in your current SESSION or at the SYSTEM level, you can use the following commands:

SQL> connect / as sysdba
SQL> oradebug setmypid
...

Oracle 8i / 9i

SQL> oradebug dump events <level>
Level 1 - Dump session group's event settings  
Level 2 - Dump process group's event settings  
Level 4 - Dump system group's event settings (Ie the instance wide events)

Oracle 10g / 11g and above

SQL> oradebug eventdump <level>
session - Dump session group's event settings  
process - Dump process group's event settings  
system  - Dump system group's event settings(Ie the instance wide events)
Note: level needs to be specified in lowercase !
             -- OR --

SQL> alter session set events 'immediate eventdump(<level>)';
SESSION - Dump session group's event settings
PROCESS - Dump process group's event settings   
SYSTEM  - Dump system group's event settings(Ie the instance wide events)

Example 1:  Oracle 9i - system events
This example illustrates how to retrieve the events set at the system level in an Oracle 9i database.
SQL> alter system set events '942 trace name errorstack level 3';
Session altered.
After the event is set we dump the events information
SQL> oradebug setmypid
Statement processed.
SQL> oradebug dump events 4;
Statement processed.
SQL> oradebug tracefile_name
/u01/oracle/product/9.2.0/admin/ORCL/udump/ORCL_ora_2620.trc
The following information will be dumped in the in the trace file ORCL_ora_2620.trc.
1. *** 2007-06-13 20:12:11.421
2. Dump event group for level SYSTEM
3. TC Addr Evt#(b10) Action TR Addr Arm Life
4. 78B6584 942 1 78b65c4 0 0
5. TR Name TR level TR address TR arm TR life TR type
6. ERRORSTACK 3 0 1 2 1961960
Notice the line 2 "Dump event group for level SYSTEM" which tells you which level was used to dump the information. In our case level 1 was used to dump the session information.
In line 4 the second column value tells us the event that was set, in our case 942.
In line 6 the first column tells us the name of the event, in our case the named event "ERRORSTACK" appears. On the same line check the second column, the determines the level at which the event was set, in our case "3"
Hence from the above information was can conclude that the event "942 trace name ERRORSTACK level 3" was set at the system level

Example 2: Oracle 11g - events set at session user SCOTT
This example illustrates how to retrieve the events user SCOTT has set at his session in an Oracle 11g database:
SQL> select p.pid, p.spid, s.username
           from v$process p, v$session s
           where p.addr = s.paddr;
For example:
PID SPID USERNAME
---- ------- ---------
15 28390 SCOTT
Attach to the above identified session:
SQL> connect / as sysdba
SQL> oradebug setorapid 15
--OR--
SQL> oradebug setospid 28390
Unix process pid: 32493, image: oracle@jschelfh-pc (TNS V1-V3)
Get the event information:
SQL> oradebug eventdump session
942 trace name ERRORSTACK level 3

Example 3: Oracle 11g - events set at your current session
This example illustrates how to retrieve the events set in your current session environment in an Oracle 11g database:
SQL> alter system set events '942 trace name errorstack level 3';
Session altered.
SQL> oradebug tracefile_name
/oracle/admin/L111/udump/l112_ora_32493.trc
The following information will be dumped in the in the trace file l112_ora_32493.trc
*** ACTION NAME:() 2009-03-06 12:48:52.533
Dumping Event (group=SYSTEM)
942 trace name errorstack level 3
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-5-25 19:46 , Processed in 0.095688 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表