mytun使用说明

一、产品安装

二、Oracle数据库备份与恢复

三、性能诊断、性能调优

四、紧急故障排除和紧急响应服务

五、数据迁移

六、电话支持服务、远程拨号诊断

七、系统健康检查(巡检服务)

八、Oracle数据库安全性、稳定性评估建议报告

九、定制数据库维护手册

十、数据库补丁包服务

十一、培训服务


写mytun这个工具的原因: 多年前,看到用户发来的statspack/awr报告时, 发现sql报告只采集现象和结果, 但并未采集问题的原因相关信息, 还需dba去现场采集很多数据才能定位问题, 即延长了排除故障的时间, 又耗费了人力和财力。 于是多年前自己就写了这个工具来方便自己用, 这样后,自己团队的工作效率大大提高。

评价地址: http://www.itpub.net/viewthread.php?tid=1333917&pid=16220636&page=1&extra=page%3D1


mytun区别于awr

oracle的awr只能看的plan变化,确没采集相关对象(表、列、index)的统计信息 ,及其变化, 所以使plan变化的本质原因并不清晰。

mytun 特色:

mytun 可采集相关对象统计信息的变化,可发现plan变化的原因。mytun是对awr的一个补充, 侧重对sql情况,执行原因的相关数据信息的收集, 为远程的问题诊断提供帮助。



-----------------------mytun生成报表内容-----------------

sql % : 某sql在各类别的排名
sql total : 某sql耗用资源量。
sql per execs : 某sql一次执行的平均消耗

sql的原始文本
sql窥视绑定变量后的sql文本
sql在不同时段的使用不同的计划(plan)
sql在v$sqlarea的情况---sql的执行情况
sql在v$sqlarea_plan_hash(一个sql可能多种计划)---sql在不同计划下的执行情况
sql在dba_hist_sql_plan ----sql的历史计划(一般是 7-30天内的)
sql在wrh$_sqlstat -----在历史时间各时段的执行情况(频次, 计划hash, 效率等)
sql在v$sql_bind_capture ------带入的绑定变量 
sql在dba_hist_sqlbind -------历史时段的绑定变量 
sql 涉及的对象 :
1. dba_tables --表的分析
2. dba_segments --段的大小,
3. 对象的产生, 修改时间等
4. index 统计分析信息
5. index 中包含的列
6. table的定义
7. table的当前统计分析信息, 历史统计分析信息
8. 列的当前统计分析信息, 历史统计分析信息
9. 列的柱状图信息, 历史柱状图信息。




mytun使用说明

mytun2.0简介: 是一款sql调优工具, 它可快速采集(或远程)sql优化所需的信息, 定位产生错误执行计划的原因, 
为远程问题诊断提供新的途径。采集信息包括: plan, 变量值, 分析信息(表/列/索引), 柱状图, 
段信息(表/分区/索引),历史执行情况等。
适用范围 : 适用于Oracle10g(10.2.0.1以上)、oracle 11g的各版本及平台。
mytun author : wang yu qiang
support: Mail: xjwyq28@sina.com.cn QQ: 123614791


目录 

一. mytun.zip把上传至数据库服务器, 解压后会生成mytun目录和几个文件。

二. 安装软件包(第一次使用前需要安装, 以后使用就不需要了) 。 
三. 使用mytun
附件1: 运行mytunrpt.sql提示过程
附件2: 运行mytunrpt.sql报告结果

四. 卸载mytun


一. mytun.zip把上传至数据库服务器, unzip解压后会生成mytun目录和几个文件。

$ unzip mytun.zip 
Archive: mytun.zip
creating: mytun/
inflating: mytun/awrinpnm.sql 
inflating: mytun/awrinput.sql 
inflating: mytun/awrrpti.sql 
inflating: mytun/checkmytun.sql 
inflating: mytun/mytun.sql 
inflating: mytun/mytunrpt.sql 
inflating: mytun/p_mytun1.plb 
inflating: mytun/p_mytun2.plb 
inflating: mytun/running_sql.sql 

二. 安装软件包(第一次使用时需要安装, 以后使用就不需要了)

方法1
$cd mytun
$sqlplus "/ as sysdba"

SQL> @p_mytun1.plb 
Package created.

SQL> @p_mytun2.plb 
Package body created.

方法2
sqlplus "/ as sysdba" @p_mytun1.plb
sqlplus "/ as sysdba" @p_mytun2.plb


三.使用mytun


使用mytun的方式有3种:
方式1: 采集历史时段的数据库性能sql报告
sqlplus "/ as sysdba"
SQL> @mytunrpt.sql;《下面的附件1显示在运行mytunrpt.sql提示过程》
注意: 如果没有 执行(二. 安装软件包 ), 运行mytunrpt.sql时会提醒安装。 
note: please first install p_mytun1.plb in another session, method: sqlplus "sys/change_on_install as sysdba" @p_mytun1.plb
note: please second install p_mytun2.plb in another session, method: sqlplus "sys/change_on_install as sysdba" @p_mytun2.plb

方式2: 采集正在运行的sql报告 
sqlplus "/ as sysdba"
SQL> @running_sql.sql;


方式3:根据一个SQL的sql_id直接查询。 会生成一个clob的报告。

3.1 在工具(PL/SQL Developer等工具)中, 查询会生成一个clob的报告。
select mytun.mysql( (select dbid from v$database), 
(select instance_number from v$instance),
'056j4snsvphk5' , --sql_id
100)
from dual; 

100: 每个查询子集返回的行数, 建议值100

3.2 在工具(sqlplus 环境中)中, 把结果输出到文件中。
sqlplus "/ as sysdba"
set long 999999999
set heading off
set pages 40000
set feedback off
set echo off
SET LONGCHUNKSIZE 500
set linesize 500
SET LOBOFFSET 1
spool /xxx/xxx/a.txt; 
select mytun.mysql( (select dbid from v$database), 
(select instance_number from v$instance),
'056j4snsvphk5' , --sql_id
100)
from dual; 
spool off;



四. 卸载mytun

$ sqlplus "/ as sysdba"

SQL> drop package mytun;

Package dropped.

[@more@]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值