http://www.xifenfei.com/2933.html
怎么找出通过dblink访问的用户信息?这个问题困惑了很久,今天在朋友的帮助下,终于通过基表实现了这个功能,记录下来
SELECT
/*+ ORDERED */
S.KSUSEMNM
"O_HOSTNAME"
,S.KSUSEPID
"O_SPID"
,
--操作dblink用户信息
G.K2GTITID_ORA
"O_TXID"
,
S.INDX
"S_SID"
,S.KSUSESER
"S_SERIAL#"
,
--dblink session信息
DECODE(BITAND(KSUSEIDL, 11),
1,
'ACTIVE'
,
0,
DECODE(BITAND(KSUSEFLG, 4096), 0,
'INACTIVE'
,
'CACHED'
),
2,
'SNIPED'
,
3,
'SNIPED'
,
'KILLED'
)
"S_STATUS"
,
S.KSUUDNAM
"DBLINK_USER"
FROM
SYS.X$K2GTE G, SYS.X$KTCXB T, SYS.X$KSUSE S
WHERE
G.K2GTDXCB = T.KTCXBXBA
AND
G.K2GTDSES = T.KTCXBSES
AND
S.ADDR = G.K2GTDSES;
|
查询结果如下
O_HOSTNAME O_SPID O_TXID S_SID S_SERIAL
# S_STATUS DBLINK_USER
----------------------- ---------- ----------------------- ---------- ---------- -------- ------------
localhost.localdomain 2571 MCRM.757120d4.8.31.21425 5462 20 INACTIVE TEST1
localhost.localdomain 1021 MCRM.757120d4.6.17.21298 5467 664 INACTIVE TEST
localhost.localdomain 1385 MCRM.757120d4.10.2.16138 5473 155 INACTIVE TEST
|
如果需要获取更加信息的信息,可以通过结合两端的v$session和v$process视图获得