[20130207]tracefile_identifier参数设置的问题.txt

简介: [20130207]tracefile_identifier参数设置的问题.txt设置tracefile_identifier参数的主要目的就是为了很好的定位跟踪文件。
[20130207]tracefile_identifier参数设置的问题.txt

设置tracefile_identifier参数的主要目的就是为了很好的定位跟踪文件。

我同事提出一个要求就是修改回话的tracefile_identifier包含IP地址。我做了一些简单的测试:

SQL> alter session set tracefile_identifier = aaa;
Session altered.

SQL> alter session set tracefile_identifier = 172;
Session altered.

--如果英文,数字(没有小数点)开头不需使用引号。

SQL> alter session set tracefile_identifier = 172.16.11.100;
alter session set tracefile_identifier = 172.16.11.100
                                         *
ERROR at line 1:
ORA-02017: integer value required

--必须使用引号!

SQL> alter session set tracefile_identifier = '172.16.11.100';
Session altered.

SQL> column name format a20
SQL> column value new_value file format a86
SQL> select * from v$diag_info where name='Default Trace File';

   INST_ID NAME                 VALUE
---------- -------------------- --------------------------------------------------------------------------------------
         1 Default Trace File   /u01/app/oracle11g/diag/rdbms/test/test/trace/test_ora_12667_172.16.11.100

--这样有1点小问题,生成的文件没有.trc后缀。

最后的代码如下:
/* Formatted on 2013/02/07 15:08 (Formatter Plus v4.8.8) */
--
-- ON_LOGON_TRIGGER  (Trigger) 
--
--  Dependencies: 
--   STANDARD (Package)
--   DBMS_APPLICATION_INFO (Package)
--   V$SESSION (View)
--   V$MYSTAT (View)
--
CREATE OR REPLACE TRIGGER SYS.on_logon_trigger
   AFTER LOGON ON DATABASE
DECLARE
   v_client_info   v$session.client_info%TYPE;
   v_sid           v$session.SID%TYPE;
BEGIN
   SELECT SYS_CONTEXT ('userenv', 'ip_address')
     INTO v_client_info
     FROM DUAL;

   DBMS_APPLICATION_INFO.set_client_info (v_client_info);

--   -- Get user SID information
--   SELECT SID
--     INTO v_sid
--     FROM v$mystat
--    WHERE ROWNUM 

---- Get Program executable,OSUSER Details,Machine Details for this session
--   SELECT nvl(replace(client_info,'.','_'),'local')
--     INTO v_client_info
--     FROM v$session
--    WHERE SID = v_sid;

   EXECUTE IMMEDIATE 'alter session set tracefile_identifier = ''' || REPLACE (NVL (v_client_info, 'local'), '.', '_') || '''';
END;
/

--实际上你还可以利用这段代码控制在回话级别设置cursor_sharing参数。

我在生产系统的例子:

CREATE OR REPLACE TRIGGER SYS.enable_para_cursor_sharing
   AFTER LOGON ON DATABASE

DECLARE
   v_exe       v$session.program%TYPE;
   v_sid       v$session.SID%TYPE;
   v_osuser    v$session.osuser%TYPE;
   v_machine   v$session.machine%TYPE;
   v_ok        VARCHAR (10);
BEGIN
-- add and set clint_ip to application_info
   DBMS_APPLICATION_INFO.set_client_info (SYS_CONTEXT ('userenv', 'ip_address'));

-- Get user SID information
   SELECT SID
     INTO v_sid
     FROM v$mystat
    WHERE ROWNUM 

-- Get Program executable,OSUSER Details,Machine Details for this session
   SELECT program, osuser, machine
     INTO v_exe, v_osuser, v_machine
     FROM v$session
    WHERE SID = v_sid;

   IF (   (USER = 'XXX' AND LOWER (v_exe) = 'aaa.exe')
       OR (USER = 'YYY' AND LOWER (v_exe) = 'bbb.exe')
      )
   THEN
      EXECUTE IMMEDIATE 'alter session set cursor_sharing =force';
   --EXECUTE IMMEDIATE 'alter session set timed_statistics=true';
   --EXECUTE IMMEDIATE 'alter session set max_dump_file_size=unlimited';
   --EXECUTE IMMEDIATE 'alter session set tracefile_identifier=''session_trace_trigger''';
   --EXECUTE IMMEDIATE 'alter session set events ‘’10046 trace name context forever,    level 8'' ';
   --DBMS_SESSION.set_identifier ('SQL TRACE ENABLED VIA LOGIN TRIGGER');
   END IF;
END;
/


目录
相关文章
|
9月前
|
Windows
UE INI File Operation [ Read / Write ] Plug-in description
UE INI File Operation [ Read / Write ] Plug-in description
36 0
|
SQL 关系型数据库 MySQL
this is incompatible with sql_mode=only_full_group_by、错误解决方案(亲测可用)
this is incompatible with sql_mode=only_full_group_by、错误解决方案(亲测可用)
3129 0
this is incompatible with sql_mode=only_full_group_by、错误解决方案(亲测可用)
成功解决 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp” 和 cl: 命令行 error D8021 :无效的数值参数“/Wno-unused-function”
成功解决 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp” 和 cl: 命令行 error D8021 :无效的数值参数“/Wno-unused-function”
成功解决 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp” 和 cl: 命令行 error D8021 :无效的数值参数“/Wno-unused-function”
|
存储 测试技术 Apache
jMeter 里 CSV Data Set Config Sharing Mode 的含义详解
jMeter 里 CSV Data Set Config Sharing Mode 的含义详解
160 0
jMeter 里 CSV Data Set Config Sharing Mode 的含义详解
open函数: 可以帮助我们获取文件对象 内置函数 open(file, mode='r', buffering=-1, encoding=None, errors=None
open函数: 可以帮助我们获取文件对象 内置函数 open(file, mode='r', buffering=-1, encoding=None, errors=None
|
Oracle 关系型数据库 Linux
[20180224]理解exp direct导出操作.txt
[20180224]理解exp direct导出操作.txt 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER -------------...
1053 0
|
缓存 Oracle 关系型数据库
[20171117]参数filesystemio_options.txt
[20171117]参数filesystemio_options.txt --//前几天看别人的awr报表发现设置参数filesystemio_options=setall,问为什么?对方给出一个链接,某某人都是这样设置的, --//自己很无语,我希望对方能提出自己的见解.
1286 0