oracle中用户连接相关
生活随笔
收集整理的這篇文章主要介紹了
oracle中用户连接相关
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
查看用戶連接 斷掉某一連接 查看連接ip
oracle中查看用戶連接
select username,sid,serial#,status from v$session where username <>'1';?
select sid,ses.serial#,ses.username,pro.username,pro.spid,status?
from v$session ses,v$process pro?
where ses.username='PRODUCT' and ses.paddr=pro.addr;
select ses.username,pro.* from v$process pro,v$session ses where ses.paddr=pro.addr and ses.username<>'1';
從上面的sql中可以獲得連接的用戶、oracle sid以及os的進(jìn)程號(hào)等信息
利用上述信息,可以停掉連接
alter system kill session 'sid,serial#';或者根據(jù)os的進(jìn)程號(hào)直接kill
上述sql無法獲得連接的client的ip,不知道有沒有現(xiàn)成的view能提供呢?
要獲取ip
方法1:$ORACLE_HOME/network/log/listener_orarac1.log
方法2:需要建立logon的trigger
create table session_history。。。 CREATE OR REPLACE TRIGGER logon_history
AFTER LOGON ON database
BEGIN
insert into session_history
select username,SYSDATE,SYS_CONTEXT('USERENV','IP_ADDRESS') from v$session where audsid = userenv( 'sessionid' ) ;
commit;
END; 方法3:netstat -anp |grep 1521
tcp 0 0 192.168.1.52:1521 192.168.2.101:45877 ESTABLISHED 5582/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.101:37343 ESTABLISHED 5588/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.101:50172 ESTABLISHED 24184/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.101:59023 ESTABLISHED 5584/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.10.23:1992 ESTABLISHED 29055/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.101:51121 ESTABLISHED 5586/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.102:44376 ESTABLISHED 18104/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.102:51209 ESTABLISHED 27165/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.102:59845 ESTABLISHED 18102/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.102:41867 ESTABLISHED 22780/oracleorcl1
其中5582/oracleorcl1中的5582就是os的進(jìn)程號(hào)
本文轉(zhuǎn)自 牛海彬 51CTO博客,原文鏈接:http://blog.51cto.com/newhappy/77313,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
oracle中查看用戶連接
select username,sid,serial#,status from v$session where username <>'1';?
select sid,ses.serial#,ses.username,pro.username,pro.spid,status?
from v$session ses,v$process pro?
where ses.username='PRODUCT' and ses.paddr=pro.addr;
select ses.username,pro.* from v$process pro,v$session ses where ses.paddr=pro.addr and ses.username<>'1';
從上面的sql中可以獲得連接的用戶、oracle sid以及os的進(jìn)程號(hào)等信息
利用上述信息,可以停掉連接
alter system kill session 'sid,serial#';或者根據(jù)os的進(jìn)程號(hào)直接kill
上述sql無法獲得連接的client的ip,不知道有沒有現(xiàn)成的view能提供呢?
要獲取ip
方法1:$ORACLE_HOME/network/log/listener_orarac1.log
方法2:需要建立logon的trigger
create table session_history。。。 CREATE OR REPLACE TRIGGER logon_history
AFTER LOGON ON database
BEGIN
insert into session_history
select username,SYSDATE,SYS_CONTEXT('USERENV','IP_ADDRESS') from v$session where audsid = userenv( 'sessionid' ) ;
commit;
END; 方法3:netstat -anp |grep 1521
tcp 0 0 192.168.1.52:1521 192.168.2.101:45877 ESTABLISHED 5582/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.101:37343 ESTABLISHED 5588/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.101:50172 ESTABLISHED 24184/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.101:59023 ESTABLISHED 5584/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.10.23:1992 ESTABLISHED 29055/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.101:51121 ESTABLISHED 5586/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.102:44376 ESTABLISHED 18104/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.102:51209 ESTABLISHED 27165/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.102:59845 ESTABLISHED 18102/oracleorcl1
tcp 0 0 192.168.1.52:1521 192.168.2.102:41867 ESTABLISHED 22780/oracleorcl1
其中5582/oracleorcl1中的5582就是os的進(jìn)程號(hào)
本文轉(zhuǎn)自 牛海彬 51CTO博客,原文鏈接:http://blog.51cto.com/newhappy/77313,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的oracle中用户连接相关的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Cloud构建微服务架构—
- 下一篇: WebAPi添加常用扩展方法及思维发散