千家信息网

关于Oracle中sql量化分析工具介绍

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,今天小编就为大家带来一篇关于Oracle中sql量化分析工具介绍的文章。小编觉得挺不错的,为此分享给大家做个参考。一起跟随小编过来看看吧。Oracle提供的量化分析工具有explain,sql*tra
千家信息网最后更新 2026年11月01日关于Oracle中sql量化分析工具介绍

今天小编就为大家带来一篇关于Oracle中sql量化分析工具介绍的文章。小编觉得挺不错的,为此分享给大家做个参考。一起跟随小编过来看看吧。

Oracle提供的量化分析工具有explain,sql*trace,tkprof,auto*trace,awr,addm,sql*profiling,sql access advisor,sql tuning advisor,ash等

此次主要整理了explain,sql*trace,tkprof,auto*trace的使用

1.explain

2.sql*trace

3.tkprof

4.auto*trace


1.explain的使用

1.1 先创建plan_table

@?/rdbms/admin/utlxplan ;

1.2 分析sql语句执行计划

explain plan for select * from dba_objects ;

1.3 查看sql语句执行计划

@?/rdbms/admin/utlxpls.sql; 9i下只查看串行执行计划,10g既查看串行也查看并行

@?/rdbms/admin/utlxplp.sql; 查看并行执行计划

explain并没有真正的执行sql语句,所以实际过程可能与explain分析结果不相同。如explain分析之后,又对相关表建立了新的索引或者删除了索引、采集了新的统计信息等操作


10g中的新功能 dbms_xplan

dbms_xplan.display

显示存储在v$sql_plan视图中的语句执行计划

dbms_xplan.display_cursor

显示任何加载的cursor中的语句执行计划

dbms_xplan.display_awr

显示保存在awr中的语句执行计划

select plan_table_output from table(dbms_xplan.display()) ;


2.sql*trace和tkprof的使用

大致的过程如下所示

database--(sql trace)--trace file--(tkprof)--report file


sql*trace和explain不同的是,sql*trace不是针对单个sql语句进行执行计划分析的,而是在会话级,甚至实例级对sql语句进行跟踪,并在操作系统中产生相应的trace文件

sql*trace是跟踪sql语句的真实执行执行情况,Oracle提供tkprof程序将trace文件转换为可读性较强的文件

2.1 在会话级进行跟踪

alter session set sql_trace = true ;execute dbms_session.set_sql_trace(true) ;

其他会话的跟踪

execute dbms_system.set_trace_in_session(session_id,serial_id,true);

分析的时候,首先查看那些会话比较消耗资源,然后从v$session视图查询session_id,serial_id,通过以上的命令对这些会话的活动进行跟踪和分析

2.2 在实例级进行跟踪

设置sql_trace为true即可

建议不要采取这个措施,会对数据库产生较大的压力,会产生太多的trace文件

使用sql_trace产生的trace文件,原始文件阅读起来相对比较费劲,可以使用tkprof程序进行转换

例如:

tkprof tracefile outputfile [options]

tkprof tracefile outputfile sys=no explain=hr/hr sort=execcput print=3

sys=no表示不分析sys用户执行的sql语句

explain=hr/hr 表示连接到hr用户,并进行执行计划分析

sort=execcput 表示按照CPU消耗值,对该trace文件所包含的sql语句按照排序进行分析

print=3 表示只是分析前3条sql语句

直接在os输入tkprof可以查看所有的帮助

tkprof产生的文件,主要分析以下内容

1.各语句执行情况的统计信息

2.各语句的执行路径信息


3.autotrace的使用

3.1 打开autotrace

set autotrace on

set timing on

执行sql语句

3.2 只看执行计划、统计信息

set autotrace traceonly

3.3 只看执行计划

set autotrace traceonly explain

autotrace是语句真正执行之后的执行计划

3.4 只看统计信息

set autotrace statistics

3.5 查看帮助

set autotrace

Usage: SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]

3.6 如何查看统计信息

重点查看consistent gets和physical reads指标,分别代表内存消耗和磁盘IO消耗,单位是数据块大小(db_block_size)。


看完上诉内容,你们对Oracle中sql量化分析工具大概了解了吗?如果想了解更多相关文章内容,欢迎关注行业资讯频道,感谢各位的阅读!



语句 分析 文件 信息 跟踪 统计 消耗 内容 工具 实例 情况 数据 文章 用户 程序 索引 视图 过程 帮助 不同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州紫鲸互联网科技有限公司 互联网科技公司税收优惠 青海省互联网新科技 济南和联互联网科技有限公司 西藏七维空间互联网科技有限公司 金融科技与互联网金融相同和不同 贵州叶脉互联网科技有限公司所属行业 互联网经济与金融科技 成都铂石互联网科技做什么的 互联网对科技的发展 中国科技创新与世界互联网大会 华夏恒生互联网科技013171 智帮互联网科技公司最近动向 启辰互联网科技 江苏互联网智能科技软件 湖北辰鑫科技互联网 互联网金融运营模式中的金融科技 银川新华互联网科技学校原画 优雇互联网科技有限公司 互联网 科技节活动 微视频大赛 深圳九邦互联网科技有限公司 工业互联网科技新基建 奇酷互联网络科技公司 互联网高科技企业 互联网科技公司需要的职位 武汉健翔互联网络科技有限公司 山东大美朱楼互联网科技有限公司 中国互联网公司的科技投入 重庆科技产业互联网有哪些 科技互联网企业在行动
0