首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DBMS_APPLICATION_INFO.SET_CLIENT_INFO不工作

DBMS_APPLICATION_INFO.SET_CLIENT_INFO不工作
EN

Stack Overflow用户
提问于 2015-11-02 06:54:58
回答 1查看 6.4K关注 0票数 2

我需要设置client_info值来区分不同的客户端。

这些是我要运行的脚本。

步骤1:SYS模式

代码语言:javascript
复制
ALTER SYSTEM FLUSH SHARED_POOL;
ALTER SYSTEM FLUSH BUFFER_CACHE;

步骤2:人力资源模式

代码语言:javascript
复制
EXEC DBMS_APPLICATION_INFO.SET_CLIENT_INFO(UTL_INADDR.GET_HOST_NAME );
EXEC DBMS_APPLICATION_INFO.SET_MODULE( 'CHECK','select' );

select                                      
    a.FIRST_NAME || ' ' || LAST_NAME AS FULL_NAME
from                                        
    HR.EMPLOYEES a                                      
where                                       
    a.DEPARTMENT_ID = '40'
;

步骤3:SYS模式

代码语言:javascript
复制
select
    *
from
    (
        select
           a.SQL_ID
          ,a.SQL_FULLTEXT
          ,to_char( a.LAST_ACTIVE_TIME,'DD-MON-YYYY HH24:MI:SS' )                                                                                as LAST_ACTIVE_TIME
          ,a.SERVICE
          ,b.SCHEMANAME
          ,b.CLIENT_INFO
          ,a.MODULE
          ,a.ACTION
        from
            GV$SQL a
        left outer join GV$SESSION b
        on
            (
                b.SQL_ID = a.SQL_ID
            )
        where
            a.EXECUTIONS != 0
    )
    c
where
    c.MODULE like '%CHECK%'
order by
    c.LAST_ACTIVE_TIME desc ;

模块和操作列正在获取值,但CLIENT_INFO没有显示任何内容。

我遗漏了什么吗?

更新:--我也尝试过了--没有运气

代码语言:javascript
复制
EXEC DBMS_APPLICATION_INFO.SET_CLIENT_INFO( SYS_CONTEXT('userenv','ip_address') );
EXEC DBMS_APPLICATION_INFO.SET_CLIENT_INFO( '10.10.10.10' );
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-04 03:42:25

SET_CLIENT_INFO与会话相关,而不是与单个SQL语句相关。

做这个

步骤1:SYS模式

代码语言:javascript
复制
ALTER SYSTEM FLUSH SHARED_POOL;
ALTER SYSTEM FLUSH BUFFER_CACHE;

步骤2:人力资源模式

代码语言:javascript
复制
EXEC DBMS_APPLICATION_INFO.SET_CLIENT_INFO(UTL_INADDR.GET_HOST_NAME );
EXEC DBMS_APPLICATION_INFO.SET_MODULE( 'CHECK','select' );

步骤3:SYS模式

代码语言:javascript
复制
SELECT
    a.SQL_ID
   ,a.CLIENT_INFO
   ,a.MODULE
   ,a.ACTION
   ,a.SCHEMANAME
   ,a.USERNAME
FROM
   V$SESSION a
WHERE
    a.MODULE = 'CHECK';
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33472201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档