天天看點

查詢所有連接配接到ORACLE伺服器的用戶端IP位址的方法

利用觸發器實作檢視所有用戶端IP的方法

收集了網上的一些做法,做個總結,友善以後用,其操作步驟:

1 在sys模式下建立一個表,用于記錄用戶端登入資料庫伺服器的詳細資訊。

create table login_history
(
  username   varchar2(60),  --使用者名
  machine    varchar2(60),  --機器名
  login_time date,          --登入時間
  ip         varchar2(50)   --ip位址
);

           

2 在sys模式下建立一個觸發器

create or replace trigger login_log
  after logon on database
begin
  insert into login_history
    select username, machine, sysdate, sys_context('userenv', 'ip_address')
      from v$session
     where audsid = userenv('sessionid');
  commit;
end;
           

3 一些檢視session數的執行個體(以sys使用者登入)

檢視login_history表

select * from login_history;

檢視目前的所有session數

select count(*) from v$session;

檢視目前的用戶端計算機名為RHEL的所有session數

select count(*) from v$session where machine = 'RHEL';

檢視目前的各個用戶端計算機的連接配接數

select count(*) , machine from v$session group by machine;