Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

0

积分

1

好友

5

主题
1#
发表于 2013-5-13 11:51:19 | 查看: 5023| 回复: 11
之前数据库版本10.2.0.4 升级到11.2.0.3.0 以后v$session CLIENT_INFO 无法获取客户端IP 。

10.2.0.4的查询结果

select t.USERNAME,t.CLIENT_INFO from v$session t ;

USERNAME                       CLIENT_INFO                                                      
------------------------------ ----------------------------------------------------------------
ROUTER                         130.59.10.101
CARE                           130.59.10.40
BUSI                           130.59.10.101


11.2.0.3.0 的查询结果
select t.USERNAME,t.CLIENT_INFO from v$session t ;

USERNAME                       CLIENT_INFO                                                      
------------------------------ ----------------------------------------------------------------
ROUTER                        
CARE                           
BUSI                           
连接11.2.0.3.0 是通过vip的方式连接


请问oracle11g r2 以后如何查询CLIENT_INFO 相关信息,是不是放到其他视图了。
2#
发表于 2013-5-13 11:52:54
CLIENT_INFO        VARCHAR2(64)        Information set by the DBMS_APPLICATION_INFO.SET_CLIENT_INFO procedure

CLIENT_INFO        本身就不是放IP的

回复 只看该作者 道具 举报

3#
发表于 2013-5-13 11:53:48
SQL> select distinct sid from v$mystat;

       SID
----------
        44

SQL> select client_info from v$session where sid=44;

CLIENT_INFO
----------------------------------------------------------------


SQL> exec DBMS_APPLICATION_INFO.SET_CLIENT_INFO('MACLEAN');

PL/SQL procedure successfully completed.

SQL>  select client_info from v$session where sid=44;

CLIENT_INFO
----------------------------------------------------------------
MACLEAN

回复 只看该作者 道具 举报

4#
发表于 2013-5-13 11:55:19
Maclean Liu(刘相兵 发表于 2013-5-13 11:52
CLIENT_INFO        VARCHAR2(64)        Information set by the DBMS_APPLICATION_INFO.SET_CLIENT_INFO procedure

CLI ...

10.2.0.4 也是同样的类型,client_info是存放了客户端IP的

回复 只看该作者 道具 举报

5#
发表于 2013-5-13 11:59:51
10.2.0.4 这个版本也是有些库有ip信息,有库没有 。
为什么会出现这些情况呢 ?

回复 只看该作者 道具 举报

6#
发表于 2013-5-13 12:03:09
这取决于 client是否使用了DBMS_APPLICATION_INFO.SET_CLIENT_INFO ,你可以找一套其他的10.2.0.4库试试 默认是不会有client_info  的

回复 只看该作者 道具 举报

7#
发表于 2013-5-13 12:10:30
嗯,查过了是有些库是没有的。有可能是client在连接时使用了DBMS_APPLICATION_INFO.SET_CLIENT_INFO
数据库里有没有什么参数控制自动获取client info ,还是说必须显示的在client端使用
DBMS_APPLICATION_INFO.SET_CLIENT_INFO

回复 只看该作者 道具 举报

8#
发表于 2013-5-13 16:53:11
下午找了测试库,测试了
alter system set audit_trail=db,extended scope=spfile;
重启数据库,再查询v$session 的CLIENT_INFO 字段就有了ip地址了

回复 只看该作者 道具 举报

9#
发表于 2013-5-13 18:09:15
白白高兴了一场,下午用的测试库比较特殊,换个其他库测试就不行了。继续找实现的方法,找到以后再更新

回复 只看该作者 道具 举报

10#
发表于 2013-5-13 19:26:49
client_info 显示ip=》默认就是做不到的,需要client配合, 这个基本讨论死的话题了

回复 只看该作者 道具 举报

11#
发表于 2013-5-13 20:38:00
使用登录触发器设置
create or replace trigger on_logon_trigger
after logon on database
begin
dbms_application_info.set_client_info(sys_context('userenv', 'ip_address'));
end;
/

回复 只看该作者 道具 举报

12#
发表于 2013-5-14 11:19:30
tom0732 发表于 2013-5-13 20:38
使用登录触发器设置
create or replace trigger on_logon_trigger
after logon on database

果然在库里发现和这功能类似的trigger

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-16 15:47 , Processed in 0.052641 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569