动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.如何让Oracle数据不丢失?.
.如何修改sendmail的欢迎提示.
.影响ORACLE性能的源头:性能调优.
.oracle数据库 SQLPlus 使用技巧.
.TestKing Oracle 1Z0-147 Edt3.0.
.[技术]dba管理,探索常用的语句!.
.ExactPapers Oracle 1Z0-123 200.
.Oracle中对两个数据表交集的查询.
.Oracle9i初始化参数中文说明3.
.ORACLE性能诊断―学习statspack笔.
.两种Oracle应用程序开发接口的对.
.Oracle高级技巧.
.Linux下启停Oracle服务.
.oracle 常用SQL查询,望对大家有.
.深入浅出SQL教程之子查询语句.
.管理Oracle9i:DBA袖珍指南.
.处理未决事务.
.用.NET新提供的managed provider.
.利用角色增强应用系统安全性.
.轻松掌握oracle数据库开发中序列.

用show parameter直接显示Oracle隐含参数

发表日期:2008-4-2 |


Oracle数据库的启动用到了初始化参数,一般情况下可以在sqlplus里用show parameter 来获得。而Oracle数据库为了debug 或者解决一些特殊的问题,还提供了一些以“_”开头的隐含参数。 网络上有一些script可以让我们轻松检查这些隐含参数. 下面我们来详细介绍一下如何直接在sqlplus 用show parameter来获取隐含参数?

用sqlplus里的show parameter来直接查看Oracle隐含参数:

1.首先,我们需要了解sqlplus是如何通过show parameter获得参数的。大家只需通过sql_trace的方式可以发现。

sqlplus serol/luo

alter session set sql_trace=true;

show parameter optimizer

NAME TYPE VALUE

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

optimizer_dynamic_sampling integer 1

optimizer_features_enable string 9.2.0.1

optimizer_index_caching integer 0

optimizer_index_cost_adj integer 1

optimizer_max_permutations integer 2000

optimizer_mode string RULE

exit

到udump底下找到trace文件,里面的最主要的语句是:

SELECT NAME name_col_plus_show_param,DECODE(TYPE,1,'boolean',2,'string',3,'integer',4,'file',6,'big

integer','unknown') TYPE,VALUE value_col_plus_show_param FROM V$PARAMETER WHERE UPPER(NAME) LIKE UPP

ER('%optimizer%') ORDER BY name_col_plus_show_param,ROWNUM

可以看到,sqlplus的show parameter实际上就是查询V$PARAMETER .

2.再来看一下v$parameter的定义。

SELECT * FROM v$fixed_view_definition

WHERE view_name = 'V$PARAMETER';

select NUM , NAME , TYPE , VALUE , ISDEFAULT , ISSES_MODIFIABLE , ISSYS_MODIFIABLE , ISMODIFIED , ISADJUSTED , DESCRIPTION, UPDATE_COMMENT from GV$PARAMETER where inst_id = USERENV('Instance')

SELECT * FROM v$fixed_view_definition

WHERE view_name = 'GV$PARAMETER';

select x.inst_id,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) and ( (translate(ksppinm,'_','#') not like '#%') or (ksppstdf = 'FALSE') )

看到上面最关键的 (translate(ksppinm,'_','#') not like '#%')的条件了吗?,就是它把开头为"_" 的隐含参数给过滤掉了。当然,ksppstdf = 'FALSE' 的条件是为了保证如果已经手动改过隐含参数,show parameter还会显示改隐含参数。

3.我们可以伪造一个v$parameter, 去掉过滤"_"的条件,就可以成功了。

注意:由于是改动系统的内部设置,所以大家一定要特别留意。

一定要以一个仅用于数据库管理,不会参加任何程序活动的管理性数据库用户来伪造这个v$parameter,以免发生意外。而且,最好是在测试环境中玩,而不要跑到生产环境里面。下面假设这个用户名为:rollingpig.

以sys 登陆

connect / as sysdba

create view my_v$parameter_with_hidden (NUM,NAME , TYPE , 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);

grant select on my_v$parameter_with_hidden to rollingpig;

以 rollingpig 用户连接,创建同义词:

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

4.现已成功,我们来测试一下。

以rollingpig 用户登陆:

show parameter optimizer

SQL> show parameter optimizer

NAME TYPE VALUE

---------------------------------- -------------------------------- _optimizer_adjust_for_nulls boolean TRUE

_optimizer_choose_permutation integer 0

_optimizer_cost_model string CHOOSE

_optimizer_degree integer 0

_optimizer_dyn_smp_blks integer 32

_optimizer_join_sel_sanity_check boolean FALSE

_optimizer_mode_force boolean TRUE

_optimizer_new_join_card_computation boolean TRUE

_optimizer_percent_parallel integer 101

_optimizer_search_limit integer 5

_optimizer_skip_scan_enabled boolean TRUE

_optimizer_sortmerge_join_enabled boolean TRUE

_optimizer_system_stats_usage integer 0

_optimizer_undo_changes boolean FALSE

_optimizer_undo_cost_change string 9.2.0.1

optimizer_dynamic_sampling integer 1

optimizer_features_enable string 9.2.0.1

optimizer_index_caching integer 0

optimizer_index_cost_adj integer 1

optimizer_max_permutations integer 2000

optimizer_mode string RULE

以"_"开头的隐含参数一个给跑出来了,optimizer开头的还真不少 :D

还有一些明显是测试用的hidden parameter

SQL> show parameter test

NAME TYPE VALUE

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

_ipc_test_failover integer 0

_ipc_test_mult_nets integer 0

_test_ksusigskip integer 5

_test_param_1 integer 25

_test_param_2 string

_test_param_3 string

_test_param_4 string

_test_param_5 integer 25

_test_param_6 big integer 0

注意:本文中的示例仅在测试环境中实现,请大家不要在生产环境中尝试。

上一篇:详细讲解ORA-04030的产生原因及解决方法 人气:1462
下一篇:用一个实例讲解如何生成autotrace权限 人气:454
浏览全部Oracle的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-5 Coppermine Photo Gallery v1.4.
2008-9-5 清松网络日记本 v2.4
2008-9-5 AyWeb企业网站管理系统 v2.3 bui
2008-9-5 美女写真小偷程序联盟 v3.0 buil
2008-9-5 老Y文章管理系统 v2.1
2008-9-5 SiteDynamic企业网站管理系统 v1
2008-9-5 MyCOM企业网站管理系统 v1.0 Bui
2008-9-5 乐风CMS影视版 2008
2008-9-5 幻影电影视频系统TvsCms v1.3 伪
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号