Chinaunix首页 | 论坛 | 博客
  • 博客访问: 251034
  • 博文数量: 59
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 698
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-19 21:17
文章分类

全部博文(59)

文章存档

2009年(14)

2008年(45)

我的朋友

分类: Oracle

2008-11-29 13:21:27

我们知道通过如下方法可以查看自己登陆IP
SQL> conn as sysdba
已连接。
SQL> select sys_context('userenv','ip_address') from dual;
SYS_CONTEXT('USERENV','IP_ADDRESS')
------------------------------------------------------------------
192.168.1.3
SQL>
 
那么如何去记录任何一个用户连接到oracle数据库的客户端IP呢?
我们可以通过触发器。
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;
---------------------------------
CLIENT_INFO
192.168.1.3
 
这些信息可以做为数据库审计之用。
阅读(762) | 评论(0) | 转发(0) |
0

上一篇:10g手工创建数据库

下一篇:sys_context

给主人留下些什么吧!~~