ITPub博客

首页 > 数据库 > Oracle > [20250723]查询会话修改的参数.txt

[20250723]查询会话修改的参数.txt

原创 Oracle 作者:lfree 时间:2025-07-25 21:25:13 0 删除 编辑

[20250723]查询会话修改的参数.txt

--//我以前也做过类似测试,https://www.anbob.com/archives/9041.html,我一些参数修改会话查询视图v$ses_optimizer_env看不见的
--//,不知道为什么?重复测试看看,发现21c下根本无法使用oradebug查询。

1.环境:
SCOTT@book01p> @ver2
==============================
PORT_STRING                   : x86_64/Linux 2.4.xx
VERSION                       : 21.0.0.0.0
BANNER                        : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
BANNER_FULL                   : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
BANNER_LEGACY                 : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
CON_ID                        : 0
PL/SQL procedure successfully completed.

2. 测试:
SCOTT@book01p> @ spid
==============================
SID                           : 396
SERIAL#                       : 64916
PROCESS                       : 3641
SERVER                        : DEDICATED
SPID                          : 3643
PID                           : 67
P_SERIAL#                     : 4
KILL_COMMAND                  : alter system kill session '396,64916' immediate;
PL/SQL procedure successfully completed.

SYS@book> @ hidez _add_col_optim_enabled
SYS@book> @ pr
==============================
NUM                           : 4439
N_HEX                         :  1157
CON_ID                        : 0
NAME                          : _add_col_optim_enabled
DESCRIPTION                   : Allows new add column optimization
DEFAULT_VALUE                 : TRUE
SESSION_VALUE                 : TRUE
SYSTEM_VALUE                  : TRUE
ISSES_MODIFIABLE              : TRUE
ISSYS_MODIFIABLE              : IMMEDIATE
PL/SQL procedure successfully completed.
--//缺省_add_col_optim_enabled=true。

SCOTT@book01p> alter session set "_add_col_optim_enabled"=false;
Session altered.

SYS@book> select name from v$ses_optimizer_env where sid=396 and name like '%add_col_optim_enabled%';
no rows selected

SYS@book> select name from v$ses_optimizer_env where sid=396 and lower(name) like '%add_col_optim_enabled%';
no rows selected
--//可以发现使用v$ses_optimizer_env视图并没有查询到。

3.继续:
SYS@book> @ hidez _optim_peek_user_binds
SYS@book> @ pr
==============================
NUM                           : 4198
N_HEX                         :  1066
CON_ID                        : 0
NAME                          : _optim_peek_user_binds
DESCRIPTION                   : enable peeking of user binds
DEFAULT_VALUE                 : TRUE
SESSION_VALUE                 : TRUE
SYSTEM_VALUE                  : TRUE
ISSES_MODIFIABLE              : TRUE
ISSYS_MODIFIABLE              : IMMEDIATE
PL/SQL procedure successfully completed.
--//缺省_optim_peek_user_binds=true。

SCOTT@book01p> alter session set "_optim_peek_user_binds"=false;
Session altered.

SYS@book> select name from v$ses_optimizer_env where sid=396 and lower(name) like '%_optim_peek_user_binds%';
NAME
----------------------------------------
_optim_peek_user_binds
--//该参数可以查询到。

4.采用oradebug方式看看。

SYS@book> oradebug setospid 3643
Oracle pid: 67, Unix process pid: 3643, NID: 4026531836, image: oracle@centtest

SYS@book> oradebug dump modified_parameters 1
Statement processed.

SYS@book> @ t
TRACEFILE
--------------------------------------------------------------------------------
/u01/app/oracle/diag/rdbms/book/book/trace/book_ora_3653.trc
--//没有看到相关修改参数。

SYS@book01p> oradebug setospid 3643
Oracle pid: 67, Unix process pid: 3643, NID: 4026531836, image: oracle@centtest

SYS@book01p> oradebug dump modified_parameters 1
Statement processed.

SYS@book01p> @ t
TRACEFILE
--------------------------------------------------------------------------------
/u01/app/oracle/diag/rdbms/book/book/trace/book_ora_3767.trc
--//没有看到相关修改参数。

5.再继续:

SCOTT@book01p> alter session set optimizer_index_cost_adj=30;
Session altered.

SYS@book> select * from v$ses_optimizer_env where sid=396 and lower(name) like '%optimizer_index_cost_adj%';
SID         ID NAME                           SQL_FEATURE ISD VALUE     CON_ID
--- ---------- ------------------------------ ----------- --- ----- ----------
396         66 optimizer_index_cost_adj       QKSFM_CBO   NO  30             1

SYS@book> select * from v$ses_optimizer_env where sid=396 and ISDEFAULT='NO';
SID ID NAME                     SQL_FEATURE ISD VALUE CON_ID
--- -- ------------------------ ----------- --- ----- ------
396 66 optimizer_index_cost_adj QKSFM_CBO   NO  30         1
396 98 _optim_peek_user_binds   QKSFM_CBO   NO  false      1
--//再次尝试使用oradebug查询还是无法查询到结果。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-3092129/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969545