[20160713]改变参数在另外的会话.txt

[20160713]改变参数在另外的会话.txt

--DBMS_SYSTEM包包含两个过程SET_BOOL_PARAM_IN_SESSION和SET_INT_PARAM_IN_SESSION,它仅仅支持逻辑值true与false,以及某个数
--值的修改,好像不支持字符串的修改。自己测试看看

1.环境:

SCOTT@book> @ &r/ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

2.测试DBMS_SYSTEM.SET_INT_PARAM_IN_SESSION

SCOTT@book> @ &r/spid
       SID    SERIAL# SPID       PID  P_SERIAL# C50
---------- ---------- ------ ------- ---------- --------------------------------------------------
        68       1021 57797       30        109 alter system kill session '68,1021' immediate;

SCOTT@book> show parameter optimizer_index_caching
NAME                    TYPE     VALUE
----------------------- -------- ------
optimizer_index_caching integer  0

--打开另外的会话,执行:
SYS@book> exec dbms_system.SET_INT_PARAM_IN_SESSION(68, 1021, 'optimizer_index_caching',20);
PL/SQL procedure successfully completed.

SCOTT@book> show parameter optimizer_index_caching
NAME                    TYPE     VALUE
----------------------- -------- ------
optimizer_index_caching integer  20

--OK!有效。

3.测试DBMS_SYSTEM.SET_BOOL_PARAM_IN_SESSION

SYS@book> @ &r/hide _optimizer_ignore_hints
old  10:  and lower(a.ksppinm) like lower('%&1%')
new  10:  and lower(a.ksppinm) like lower('%_optimizer_ignore_hints%')
NAME                    DESCRIPTION                              DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE
----------------------- ---------------------------------------- ------------- ------------- -------------
_optimizer_ignore_hints enables the embedded hints to be ignored TRUE          FALSE         FALSE

SYS@book> exec dbms_system.SET_BOOL_PARAM_IN_SESSION(68, 1021, '_optimizer_ignore_hints',true);
PL/SQL procedure successfully completed.

--我修改的是隐含参数,如果确定修改有效呢?查询GV$SES_OPTIMIZER_ENV视图:

SCOTT@book> select * from GV$SES_OPTIMIZER_ENV where sid=68 and name like '%hint%';
INST_ID        SID         ID NAME                    SQL_FEATURE ISD VALUE
------- ---------- ---------- ----------------------- ----------- --- ------
      1         68        146 _optimizer_ignore_hints QKSFM_ALL   NO  true

SYS@book> exec dbms_system.SET_BOOL_PARAM_IN_SESSION(68, 1021, '_optimizer_ignore_hints',false);
PL/SQL procedure successfully completed.

SCOTT@book> select * from GV$SES_OPTIMIZER_ENV where sid=68 and name like '%hint%';
no rows selected

--你也可以执行一台语句看看执行计划outline。例子:
SCOTT@book> @ &r/dpc '' outline
PLAN_TABLE_OUTPUT
-------------------------------------
SQL_ID  80baj2c2ur47u, child number 0
-------------------------------------
select * from dept where deptno=20
Plan hash value: 2852011669
----------------------------------------------------------------------------------------
| Id  | Operation                   | Name    | E-Rows |E-Bytes| Cost (%CPU)| E-Time   |
----------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT            |         |        |       |     1 (100)|          |
|   1 |  TABLE ACCESS BY INDEX ROWID| DEPT    |      1 |    20 |     1   (0)| 00:00:01 |
|*  2 |   INDEX UNIQUE SCAN         | PK_DEPT |      1 |       |     0   (0)|          |
----------------------------------------------------------------------------------------
Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------
   1 - SEL$1 / DEPT@SEL$1
   2 - SEL$1 / DEPT@SEL$1
Outline Data
-------------
  /*+
      BEGIN_OUTLINE_DATA
      IGNORE_OPTIM_EMBEDDED_HINTS
      OPTIMIZER_FEATURES_ENABLE('11.2.0.4')
      DB_VERSION('11.2.0.4')
      OPT_PARAM('optimizer_index_caching' 20)
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ALL_ROWS
      OUTLINE_LEAF(@"SEL$1")
      INDEX_RS_ASC(@"SEL$1" "DEPT"@"SEL$1" ("DEPT"."DEPTNO"))
      END_OUTLINE_DATA
  */
Predicate Information (identified by operation id):
---------------------------------------------------
   2 - access("DEPTNO"=20)

--注意~内容。不过没有隐含参数的修改。

时间: 2024-09-02 19:42:42

[20160713]改变参数在另外的会话.txt的相关文章

[20131210]linux screen 命令共享会话.txt

[20131210]linux screen 命令共享会话.txt 工作需要,要在两个用户之间共享linux的会话,看了一下screen的文档,加上一些google,做一些记录: 方法1:--使用script,没有想到script本来是记录操作内容的,通过管道文件也可以实现这种功能. --会话1.mkfifo /tmp/sessionscript -f /tmp/session --会话2cat /tmp/session --这样会话2能看会话1的操作,但是会话2不能做任何操作.会话1 exit

[20170908]imp参数buffer的简单探究.txt

[20170908]imp参数buffer的简单探究.txt --//exp,imp已经很少在用,如果存在8i估计还会用一下,下面因为别人遇到升级忘记家buffer参数(8i),导致导入缓慢, --//当然还有许多因素,比如存在lob字段,不过还是简单探究参数buffer. 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER -----------------------------

[20121023]改变show parameter的显示宽度.txt

[20121023]改变show parameter的显示宽度.txt 当登录sqlplus 执行: SQL> show parameter control_files NAME                                 TYPE                       VALUE ------------------------------------ -------------------------- -------------------------------

深入理解和改进JSP/Servlet会话管理机制

js|servlet 在Web服务器端编程中,会话状态管理是一个经常必须考虑的重要问题.本文分析JSP/Servlet的会话管理机制及其所面临的问题,然后提出了一种改进的会话管理方法. 一.Servlet的会话管理机制 根据设计,HTTP是一种无状态的协议.它意味着Web应用并不了解有关同一用户以前请求的信息.维持会话状态信息的方法之一是使用Servlet或者JSP容器提供的会话跟踪功能.Servlet API规范定义了一个简单的HttpSession接口,通过它我们可以方便地实现会话跟踪. H

MySQL变量(参数)的查看和设置

类似于Oracle的参数文件,MySQL的选项文件(如my.cnf)用于配置MySQL服务器,但和Oracle叫法不一样,在MySQL里 , 官方叫变量(Varialbes),但其实叫参数也是可以的,只要明白这俩是同一个东西就可以了. MySQL的变量分为以下两种: 1)系统变量:配置MySQL服务器的运行环境,可以用show variables查看 2)状态变量:监控MySQL服务器的运行状态,可以用show status查看 系统变量 系统变量按其作用域的不同可以分为以下两种: 1)分为全局

oracle如何查询初始化参数(二)V$PARAMETER与V$SYSTEM_PARAMETER视图的不同

查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下. 这一篇介绍V$PARAMETER视图与V$SYSTEM_PARAMETER视图的不同. 上一篇文章介绍了很多种查询初始化参数的方法,而且说明了V$PARAMETER视图和V$PARAMETER2视图的区别. 这里看看V$PARAMETER和V$SYSTEM_PARAMETER视图的区别. 一般在查询初始化参数的时候都习惯性的使用SHOW PARAMETER,也就是查询V$PARAMET

《MySQL技术内幕:InnoDB存储引擎第2版》——3.1 参数文件

3.1 参数文件 在第1章中已经介绍过了,当MySQL实例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认情况下,MySQL实例会按照一定的顺序在指定的位置进行读取,用户只需通过命令mysql--help | grep my.cnf来寻找即可. MySQL数据库参数文件的作用和Oracle数据库的参数文件极其类似,不同的是,Oracle实例在启动时若找不到参数文件,是不能进行装载(mount)操作的.M

[20171211]ora-16014 11g.txt

[20171211]ora-16014 11g.txt --//上午测试了10g下备库log_archive_dest_1参数配置VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES)的错误.在11G也测试看看: 1.环境:SCOTT@book> @ &r/ver1PORT_STRING VERSION BANNER------------------------------ -------------- ---------------------------------

【体系结构】Oracle参数介绍

[体系结构]Oracle参数介绍 1  BLOG文档结构图     2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① Oracle中的各种参数介绍及其查询方法 ② Oracle中V$PARAMETER及V$PARAMETER2的区别 ③ 隐含参数的查询.重置.清除 ④ 会话参数和实例参数的查询 ⑤ 静态参数和动态参数.延迟参数 ⑥ V$PARAMETER视图的每列含义(重点) Tips: ①