- 论坛徽章:
- 0
|
群中一网友回答
,不知道是不是对的
SQL> alter session set events '10046 trace name context forever, level 8';
Session altered.
SQL> select count(*) from dba_objects;
COUNT(*)
----------
50282
SQL>
SQL> alter session set events '10046 trace name context off';
Session altered.
SQL> oradebug setmypid;
Statement processed.
SQL> oradebug tracefile_name
/oracle/oracle/admin/oracsm/udump/oracsm_ora_11796.trc
oradebug tracefile_name 获得跟踪后的文件很方便啊
oradebug setmypid; 上次我没打这个命令...让我好找...
Rows Row Source Operation
------- ---------------------------------------------------
1 SORT AGGREGATE (cr=5197 pr=0 pw=0 time=172302 us)
50282 VIEW DBA_OBJECTS (cr=5197 pr=0 pw=0 time=706273 us)
50282 UNION-ALL (cr=5197 pr=0 pw=0 time=555420 us)
50282 FILTER (cr=5196 pr=0 pw=0 time=253719 us)
51336 HASH JOIN (cr=625 pr=0 pw=0 time=464320 us)
59 TABLE ACCESS FULL USER$ (cr=5 pr=0 pw=0 time=327 us)
51336 TABLE ACCESS FULL OBJ$ (cr=620 pr=0 pw=0 time=103605 us)
1747 TABLE ACCESS BY INDEX ROWID IND$ (cr=4571 pr=0 pw=0 time=52843 us)
2283 INDEX UNIQUE SCAN I_IND1 (cr=2285 pr=0 pw=0 time=20620 us)(object id 39)
0 NESTED LOOPS (cr=1 pr=0 pw=0 time=53 us)
0 INDEX FULL SCAN I_LINK1 (cr=1 pr=0 pw=0 time=45 us)(object id 107)
0 TABLE ACCESS CLUSTER USER$ (cr=0 pr=0 pw=0 time=0 us)
0 INDEX UNIQUE SCAN I_USER# (cr=0 pr=0 pw=0 time=0 us)(object id 11)
看来OBJ$ 是基本表
不知道文件名是哪个..跟踪空气
dba_objects;是它上面的相关视图啊
SQL> oradebug setmypid;
Statement processed.
SQL> oradebug tracefile_name
这个就很容易找到了
嗯 这回清楚了
SQL> select distinct sid from v$mystat;
SID
----------
122
SELECT P.spid pid,S.sid sid
FROM gv$process P, gv$session S WHERE P.addr = s.paddr AND s.SID=122;
或者用这个得到spid,然后就找那个含有这个spid的文件名就行了
[ 本帖最后由 @oracle@ 于 2009-3-12 16:52 编辑 ] |
|