show parameter 内部执行过程

使用sql_trace的跟踪当前对话,可以获得show parameter 的内部操作,跟踪步骤如下:

SQL> alter session set sql_trace=true;

 

会话已更改。

 

SQL> show parameter sga;

 

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

lock_sga                             boolean     FALSE

pre_page_sga                         boolean     FALSE

sga_max_size                         big integer 1888M

sga_target                           big integer 700M

SQL> alter session set sql_trace=false;

 

会话已更改。

 

 

在跟踪文件中,我们可以找到这样一句话:

SELECT NAMENAME_COL_PLUS_SHOW_PARAM,DECODE(TYPE,1,'boolean',2,'string',3,'integer',4,'file',5,'number',        6,'big integer', 'unknown') TYPE,DISPLAY_VALUEVALUE_COL_PLUS_SHOW_PARAM FROMV$PARAMETER WHEREUPPER(NAME) LIKE UPPER(:NMBIND_SHOW_OBJ) ORDERBY NAME_COL_PLUS_SHOW_PARAM,ROWNUM

 

注意:
这里的upper函数,使得show parameter 命令可以忽略大小写

这儿的别名设置:
NAME NAME_COL_PLUS_SHOW_PARAM

DISPLAY_VALUE VALUE_COL_PLUS_SHOW_PARAM

 

为什么执行show parameter命令的输出内容并未显示这两个别名,是因为在glogin.sql文件(SQLPLUS 启动时会执行的文件)中有如下设置:

COLUMN name_col_plus_show_param FORMAT a36heading NAME;

COLUMN value_col_plus_show_param FORMAT a30heading VALUE;

注意这里:
11g中的glogin.sql文件已经没有这些内容了,但是在sqlplus中依然有默认设置:

sys@ORCL>col

COLUMN  global_name ON

NEW_VALUE GNAME

 

COLUMN  value ON

FORMAT  a40

 

COLUMN  event ON

FORMAT  a40

 

COLUMN  file_name ON

FORMAT  a50

 

COLUMN  segment_name ON

FORMAT  a30

……………..

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值