1、在資料庫管理時,偶爾會需要檢視資料庫的IP位址
1
<code>select sys_context(</code><code>'userenv'</code><code>,</code><code>'ip_address'</code><code>)from dual</code>
2、有的時候需要檢視對所有登入進資料庫的使用者,但是在V$SESSION視圖不能很清楚的知道所有的會話是哪個位址連接配接進來的
可以做如下操作
建立一個觸發器,更新V$SESSION的client_info字段
2
3
4
5
<code>create or replace trigger on_logon_trigger after logon on database</code>
<code>begin</code>
<code> </code><code>dbms_application_info.set_client_info(sys_context(</code><code>'userenv'</code><code>, </code><code>'ip_address'</code><code>));</code>
<code>end; </code>
<code>/</code>
查詢資訊
6
<code>select s.SID ,s.SERIAL# ,s.USERNAME,s.OSUSER,s.MACHINE,s.client_info,</code>
<code>ob.owner ,ob.OBJECT_NAME</code>
<code>from V$locked_object lo left join v$session s</code>
<code>on s.sid=lo.SESSION_ID</code>
<code>left join dba_objects ob</code>
<code>on lo.OBJECT_ID=ob.OBJECT_ID</code>