檢視連線端IP
綜合網上各類資料整理而成;
檢視單籤連線到資料庫上的客戶端IP;
1、資料庫系統上執行
linux下檢視
netstat |grep 1521
windows下檢視
netstat -na | find "1521"
2. 利用 DBMS_SESSION 過程包.
在當前會話下執行語句,給在v$session中顯示當前會話的ip資訊;
exec DBMS_SESSION.set_identifier(SYS_CONTEXT('USERENV', 'IP_ADDRESS'));
select s.CLIENT_IDENTIFIER,s.* from v$session s;
顯示單籤會話的連線情況:
select AUDSID,sysdate,null,sys.login_user,machine,SYS_CONTEXT('USERENV','IP_ADDRESS'),program from v$session where AUDSID=USERENV('SESSIONID');
3.透過觸發器。
create or replace trigger on_logon_trigger
after logon on database
begin
dbms_application_info.set_client_info(sys_context( 'userenv', 'ip_address' ) );
end;
這樣當客戶端登陸後,在v$session的client_info列會記錄其相應的IP資訊。
select client_info from v$session;
4.透過觸發器,將登陸記錄到表裡面;
Step 00 Check PUBLIC SYSTEM VIEW PRIVILEGE
SELECT * FROM DBA_TAB_PRIVS T
WHERE T.grantee='PUBLIC'
AND T.table_name LIKE 'V_$%'
Step 01 grant select privilege as sys user login:
grant select on v_$session to public;
grant select on v_$mystat to public;
Step 02 create login$information table:
create table LOGIN$INFORMATION
(
LOGIN_USER VARCHAR2(30),
LOGIN_TIME DATE,
IP_ADRESS VARCHAR2(256),
AUSID NUMBER,
TERMINAL VARCHAR2(16),
OSUSER VARCHAR2(30),
MACHINE VARCHAR2(64),
PROGRAM VARCHAR2(64),
SID NUMBER,
SERIAL# NUMBER
)
Step 03 create trigger on database level:
CREATE OR REPLACE TRIGGER tr_login_record
AFTER logon ON DATABASE
DECLARE
miUserSid NUMBER;
mtSession v$session%ROWTYPE;
CURSOR cSession(iiUserSid IN NUMBER) IS
SELECT * FROM v$session WHERE sid = iiUserSid;
BEGIN
SELECT sid INTO miUserSid FROM v$mystat WHERE rownum <= 1;
OPEN cSession(miUserSid);
FETCH cSession
INTO mtSession;
--if user exists then insert data
IF cSession%FOUND THEN
insert into login$information
(login_user,
login_time,
ip_adress,
ausid,
terminal,
osuser,
machine,
program,
sid,
serial#)
VALUES
(ora_login_user,
SYSDATE,
SYS_CONTEXT('USERENV', 'IP_ADDRESS'),
userenv('SESSIONID'),
mtSession.Terminal,
mtSession.Osuser,
mtSession.Machine,
mtSession.Program,
mtSession.Sid,
mtSession.Serial#);
ELSE
null;
CLOSE cSession;
raise_application_error(-20099, 'Login Exception', FALSE);
END IF;
CLOSE cSession;
EXCEPTION
WHEN OTHERS THEN
null;
END tr_login_record;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-2058279/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- liunx 檢視網路連線數
- 檢視網路連線數netstat -an
- Linux檢視埠併發連線數Linux
- win7,kali改ip加遠端連線Win7
- 檢視oracle資料庫的連線數以及使用者檢視Oracle資料庫
- 在動態IP下遠端連線計算機計算機
- linux 檢視伺服器的連線數Linux伺服器
- windows 檢視已連線的wifi密碼WindowsWiFi密碼
- 檢視使用 MySQL Shell 的連線狀態MySql
- 檢視當前pg會話連線數會話
- docker檢視容器IP地址Docker
- ipconfig 檢視電腦ip
- mysql設定指定ip遠端訪問連線例項MySql
- 怎麼檢視印表機ip地址 如何在印表機上檢視ip地址
- linux系統檢視網路連線情況Linux
- Centos 7 檢視本機IP 編輯IP 修改ipCentOS
- win10遠端桌面連線 遠端桌面視窗全屏Win10
- 網路連線狀態檢視工具:Internet Status for MacMac
- 檢視已連線過的 Wi-Fi 密碼密碼
- ss:檢視網路連線的另一種方法
- Internet Status Mac網路連線狀態檢視工具Mac
- win10怎麼查遠端桌面的ip地址_win10檢視遠端桌面ip地址的方法Win10
- 如何遠端連線 遠端桌面軟體連線
- vps如何遠端連線,遠端桌面連線vps
- win10ip地址怎樣檢視 window10系統ip怎麼檢視Win10
- 如何遠端連線 桌面設定遠端桌面連線
- 伺服器遠端連線以及多視窗操作伺服器
- Mac網路連線狀態檢視工具:Internet Status for MacMac
- ORACLE 檢視IP,解析機器名Oracle
- 檢視Google Cloud的IP地址段GoCloud
- 如何用ip地址連線共享印表機 用ip地址連線共享印表機的方法
- 無法rdo遠端連線,無法rdo遠端連線控制多臺伺服器,如何檢測其狀態?伺服器
- VNC遠端連線,如何VNC遠端連線伺服器VNC伺服器
- 怎麼檢視網站的伺服器ip,怎樣檢視某個網站的IP地址網站伺服器
- 使用netstat檢視你的Linux伺服器網路連線Linux伺服器
- [20230214]資料庫連線訪問asm相關檢視.txt資料庫ASM
- jmap檢視java程式佔用的資料庫連線數Java資料庫
- 檢視ip地址的cmd命令 cmd查詢ip地址命令
- 如何檢視手機登入IP地址