转自 http://blog.csdn.net/staricqxyz/article/details/8624549

Find internal of "show parameter" by session tracing

SQL> select * from v$version;

BANNER

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

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

PL/SQL Release 11.2.0.3.0 - Production

CORE    11.2.0.3.0  Production

TNS for Linux: Version 11.2.0.3.0 - Production

NLSRTL Version 11.2.0.3.0 - Production

SQL> alter session set sql_trace=true;

Session altered.

SQL> oradebug setmypid

Statement processed.

SQL> show parameter optimizer

NAME                     TYPE    VALUE

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

optimizer_capture_sql_plan_baselines boolean     FALSE

optimizer_dynamic_sampling       integer     2

optimizer_features_enable        string  11.2.0.3

optimizer_index_caching          integer     0

optimizer_index_cost_adj         integer     100

optimizer_mode               string  ALL_ROWS

optimizer_secure_view_merging        boolean     TRUE

optimizer_use_invisible_indexes      boolean     FALSE

optimizer_use_pending_statistics     boolean     FALSE

optimizer_use_sql_plan_baselines     boolean     TRUE

SQL> oradebug tracefile_name

/u01/app/oracle/diag/rdbms/zhongwc/zhongwc/trace/zhongwc_ora_32320.trc

Find internal sql statement in trace file.The major statement in trace file looks like following.It's clear that "show parameter" actually make query on view v$parameter.

SELECT NAME NAME_COL_PLUS_SHOW_PARAM,

DECODE(TYPE,

1,   'boolean',

2,   'string',

3,   'integer',

4,   'file',

5,  'number',

6,  'big integer',

'unknown') TYPE,

DISPLAY_VALUE VALUE_CL_PLUS_SHOW_PARAM

FROM V$PARAMETER

WHERE UPPER(NAME) LIKE UPPER('%optimizer%')

ORDER BY NAME_COL_PLUS_SHOW_PARAM, ROWNUM;

Examing definition of view v$parameter

SQL> SELECT view_definition FROM v$fixed_view_definition WHERE view_name = 'V$PARAMETER';

VIEW_DEFINITION

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

select  NUM , NAME , TYPE , VALUE , DISPLAY_VALUE, ISDEFAULT , ISSES_MODIFIABLE , ISSYS_MODIFIABLE ,

ISINSTANCE_MODIFIABLE, ISMODIFIED , ISADJUSTED , ISDEPRECATED, ISBASIC, DESCRIPTION, UPDATE_COMMENT

, HASH  from GV$PARAMETER where inst_id = USERENV('Instance')

Examing definition of view gv$parameter,hidden init parameters start with character '_'

SQL> SELECT view_definition FROM v$fixed_view_definition WHERE view_name = 'GV$PARAMETER';

VIEW_DEFINITION

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

select x.inst_id,x.indx+1,ksppinm,ksppity,ksppstvl, ksppstdvl, ksppstdf,  decode

(bitand(ksppiflg/256,1),1,'TRUE','FALSE'),  decode(bitand(ksppiflg/65536,3),1,'I

MMEDIATE',2,'DEFERRED',                  3,'IMMEDIATE','FALSE'),

decode(bitand(ksppiflg,4),4,'FALSE',                     decod

e(bitand(ksppiflg/65536,3), 0, 'FALSE', 'TRUE')),     decode(bitand(ksppstvf,7),

1,'MODIFIED',4,'SYSTEM_MOD','FALSE'),  decode(bitand(ksppstvf,2),2,'TRUE','FALSE

'),  decode(bitand(ksppilrmflg/64, 1), 1, 'TRUE', 'FALSE'),  decode(bitand(ksppi

lrmflg/268435456, 1), 1, 'TRUE', 'FALSE'),  ksppdesc, ksppstcmnt, ksppihash  fro

m x$ksppi x, x$ksppcv y where (x.indx = y.indx) and  bitand(ksppiflg,268435456)

= 0 and  ((translate(ksppinm,'_','#') not like '##%') and    ((translate(ksppinm

,'_','#') not like '#%')      or (ksppstdf = 'FALSE') or      (bitand(ksppstvf,5

) > 0)))

Create pseudo-view of v$paramter

[oracle@zhongwc ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Fri Mar 1 09:01:58 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:  Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, Automatic Storage Management, OLAP, Data Mining  and Real Application Testing options

SQL> create or replace view my_v$parameter_with_hidden

(NUM,NAME , TYPE, display_Value , ISDEFAULT  , ISSES_MODIFIABLE ,

ISSYS_MODIFIABLE ,ISMODIFIED  , ISADJUSTED, DESCRIPTION,

UPDATE_COMMENT)

as

select x.indx+1,ksppinm,ksppity,ksppstvl,ksppstdf,

decode(bitand(ksppiflg/256,1),1,'TRUE','FALSE'),

decode(bitand(ksppiflg/65536,3),1,'IMMEDIATE',2,'DEFERRED',

3,'IMMEDIATE','FALSE'),  decode(bitand(ksppstvf,7),

1,'MODIFIED',4,'SYSTEM_MOD','FALSE'),

decode(bitand(ksppstvf,2),2,'TRUE','FALSE'),

ksppdesc, ksppstcmnt

from x$ksppi x, x$ksppcv y

where (x.indx = y.indx)

/

View created.

SQL> grant select on my_v$parameter_with_hidden to system;

Grant succeeded.

SQL> conn system

Enter password:

Connected.

SQL> create synonym v$parameter for sys.my_v$parameter_with_hidden;

Synonym created.

able to use "show parameter" to show hidden init parameters

SQL> show parameter optimizer

NAME                     TYPE    VALUE

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

_db_file_optimizer_read_count        integer     8

_optimizer_adaptive_cursor_sharing   boolean     TRUE

_optimizer_adjust_for_nulls      boolean     TRUE

_optimizer_autostats_job         boolean     TRUE

_optimizer_aw_join_push_enabled      boolean     TRUE

_optimizer_aw_stats_enabled      boolean     TRUE

_optimizer_better_inlist_costing     string  ALL

_optimizer_block_size            integer     8192

_optimizer_cache_stats           boolean     FALSE

_optimizer_cartesian_enabled         boolean     TRUE

_optimizer_cbqt_factor           integer     50

_optimizer_cbqt_no_size_restriction  boolean     TRUE

_optimizer_ceil_cost             boolean     TRUE

_optimizer_coalesce_subqueries       boolean     TRUE

_optimizer_complex_pred_selectivity  boolean     TRUE

_optimizer_compute_index_stats       boolean     TRUE

_optimizer_connect_by_cb_whr_only    boolean     FALSE

_optimizer_connect_by_combine_sw     boolean     TRUE

_optimizer_connect_by_cost_based     boolean     TRUE

_optimizer_connect_by_elim_dups      boolean     TRUE

_optimizer_correct_sq_selectivity    boolean     TRUE

_optimizer_cost_based_transformation string  LINEAR

让Oracle的 SHOW PARAMETER 命令显示隐藏参数的更多相关文章

  1. 安装oracle后java -version命令显示 jdk version "1.3.1"的原因

    因为先装的JDK,后装了oracle,oracle的JDK配置把原来的jdk路径替换掉了. 我的电脑->属性->高级->环境变量->系统变量->PATH ,把JDK的路径 ...

  2. SSIS 连接ORACLE 无法从 SQL 命令中提取参数的解决方案

    第一步:  定义包变量:maxdate 类型为String  定义包变量:sqlStatement类型为String,值为:select * from i_out_serv_mon 第二步:  取&q ...

  3. oracle如何设置show parameter显示隐含参数

    在sqlplus中shwo parameter是显示不了隐藏参数的,需要做一个处理,如下所示:    以SYS用户登录: C:\Documents and Settings\guogang>sq ...

  4. oracle rac常用的命令

    oracle rac常用的命令 节点层:olsnodes 网络层: oifcfg 集群层:crsctl,ocrcheck,ocrdump,ocrconfig 应用层:srvctl,onsctl,crs ...

  5. Oracle归档日志所在目录时间不对&&Oracle集群日志时间显示错误

    Oracle归档日志所在目录时间不对&&Oracle集群日志时间显示错误 前言 这个问题在18年的时候遇到了,基本不注意并且集群或者数据库运行正常是很难注意到的. 忘记当时怎么发现的了 ...

  6. Oracle 常用运维命令整理

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 一.oracle建库与删库命令 (1)oracle11g ...

  7. oracle PL/SQL管理命令语句

    一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

  8. C#隐式运行CMD命令(隐藏命令窗口)

    原文 C#隐式运行CMD命令(隐藏命令窗口) 本文实现了C#隐式运行CMD命令的功能.下图是实例程序的主画面.在命令文本框输入DOS命令,点击"Run"按钮,在下面的文本框中输出运 ...

  9. oracle rac 数据库常用命令

    oracle rac 数据库常用命令:1.所有实例和服务的状态srvclt status database -d orcl单个实例的状态:srvctl status instance -d orcl ...

随机推荐

  1. (转)MySQL 5.6 OOM 问题解决分享

    本文来自:杨德华的原创分享 | MySQL 5.6 OOM 问题解决分享 原文:http://www.cnblogs.com/zhoujinyi/p/5763112.html 延伸阅读:Linux的内 ...

  2. 【数组】Minimum Path Sum

    题目: Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right w ...

  3. 四则运算2及psp0设计

    随机生成运算式,要求: 1.题目避免重复. 2.可定制(数量/打印方式). 3.可以控制一下参数. 要求:是否有乘除法,是否有括号,数值范围,加减有无负数,除法有无余数. 刚开始看到这样一个题目感觉还 ...

  4. 一分钟让你学会使用Android AsyncTask

    AsyncTask相信大多数朋友对它的用法都已经非常熟悉,这里记录一下主要是献给那些刚刚接触的Android 或者AsyncTask的同学们,高手请绕道. AsyncTask类是Android1.5版 ...

  5. [转] 用协议分析工具学习TCP/IP

    一.前言 目前,网络的速度发展非常快,学习网络的人也越来越多,稍有网络常识的人都知道TCP/IP协议是网络的基础,是Internet的语言,可以说没有TCP/IP协议就没有互联网的今天.目前号称搞网的 ...

  6. Disconf 学习系列之Disconf 与 Diamond的横向对比(图文详解)

    不多说,直接上干货! Disconf 学习系列之Disconf是什么? Disconf 是来自百度的分布式配置管理平台,包括百度.滴滴出行.银联.网易.拉勾网.苏宁易购.顺丰科技 等知名互联网公司正在 ...

  7. sql 获取列名

    --查询所有列 select name from syscolumns where id=OBJECT_ID('PTS_ProjectTask') --列转为行 GetColumnJoin 'Proj ...

  8. solr 7.6 安装部署与遇到的问题

    目录 安装 solr 配置solr 到tomcat(关键) 配置依赖包 创建tomcat solr 的 classes 文件 创建 solr 的core 的主目录(也就是存放core的位置) 修改配置 ...

  9. Ubuntu系统下开发人员常用工具、命令和技巧

    在新的Ubuntu系统安装完成后,开发人员一般需要下载.安装一些必备的工具,并进行一系列的环境配置等操作,本文对此做出一些总结,方便今后新开发环境的初始化. 一.文件常用安装目录和命令 一般的deb包 ...

  10. css !important的作用

    css !important的作用是提高指定CSS样式规则的应用优先权. 注意:这个不是万能的,在神奇的IE6下仍然有问题,请参见:http://www.w3chtml.com/css3/rules/ ...