动态网站制作指南 [  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教程 ]的信息



本月文章推荐
.如何彻底停止job.
.你不能不知道的小技巧.
.如何在Windows 2000下将Oracle完.
.PL/SQL编程经验小结.
.Oracle PL/SQL语言入门.
.Oracle快速入门.
.用sqlplus只输出数据到文本文件的.
.oracle数据库开发的一些经验积累.
.Oracle和mysql 的一些简单命令对.
.如何查找bad sql几种具体详细的步.
.利用oradim重建Oracle服务(转).
.Oracle中利用EXP/IMP工具实现数据.
.ORACLE数据库备份方法.
.Oracle的Index.
.Oracle RMAN快速入门指南的具体介.
.Oracle_Chapter 1.
.ORACLE8i数据库体系结构.
.Linux 硬件稳定性指南,第 2 部分.
.甲骨文亚太地区第二财季总收入同.
.Oracle 10g 新特性之自动存储管理.

分析数据库性能的SQL

发表日期:2008-2-9 |



  --用于查看哪些实例的哪些操作使用了大量的临时段
  
  SELECT to_number(decode(SID, 65535, NULL, SID)) sid,
  operation_type OPERATION,trunc(EXPECTED_SIZE/1024) ESIZE,
  trunc(ACTUAL_MEM_USED/1024) MEM, trunc(MAX_MEM_USED/1024) "MAX MEM",
  NUMBER_PASSES PASS, trunc(TEMPSEG_SIZE/1024) TSIZE
  FROM V$SQL_WORKAREA_ACTIVE
  ORDER BY 1,2;
  
  ---查询有热块查询的SQL语句
  
  select hash_value
  from v$sqltext a,
  (select distinct a.owner,a.segment_name,a.segment_type from
  dba_extents a,
  (select dbarfil,dbablk
  from (select dbarfil,dbablk
  from x$bh order by tch desc) where rownum < 11) b
  where a.RELATIVE_FNO = b.dbarfil
  and a.BLOCK_ID <= b.dbablk and a.block_id + a.blocks > b.dbablk) b
  where a.sql_text like '%'b.segment_name'%' and b.segment_type = 'TABLE'
  order by a.hash_value,a.address,a.piece;
  
  --全表扫描
  
  select opname,target,b.num_rows,b.tablespace_name,count(target) from v$session_longops a,all_all_tables b
  where a.TARGET=b.owner'.'b.table_name
  having count(target)>10 group by  opname,target,b.num_rows,b.tablespace_name
  
  --查看磁盘排序和缓存排序次数
  
  select to_char(sn.snap_time,'yyyy-mm-dd hh24') time_,
  avg(newmen.value - oldmen.value) sorts_memeory,
  avg(newdsk.value - olddsk.value) disk_sort
  from  stats$sysstat oldmen,
  stats$sysstat newmen,
  stats$sysstat newdsk,
  stats$sysstat olddsk,
  stats$snapshot sn
  where  newdsk.snap_id=sn.snap_id
  and   olddsk.snap_id=sn.snap_id-1
  and   newmen.snap_id=sn.snap_id
  and   newdsk.snap_id=sn.snap_id -1
  and   oldmen.name='sorts (memory)'
  and   newmen.name='sorts (memory)'
  and   olddsk.name='sorts (disk)'
  and   newdsk.name='sorts (disk)'
  group by to_char(sn.snap_time,'yyyy-mm-dd hh24')
  
  --执行最慢的前10个SQL???
  
  select * from (
  select
  to_char(snap_time,'dd Mon HH24:mi:ss') mydate,
  executions               exec,
  loads                 loads,
  parse_calls              parse,
  disk_reads               reads,
  buffer_gets              gets,
  rows_processed             rows_proc,
  sorts                 sorts,
  sql_text,
  hash_value
  from
  perfstat.stats$sql_summary sql,
  perfstat.stats$snapshot   sn
  where
  sql.snap_id >
  (select min(snap_id) min_snap
  from stats$snapshot where snap_time > sysdate-$days_back)
  and
  sql.snap_id = sn.snap_id
  order by $sortskey desc) tt where rownum<11;
  
  --SQL缓存池的命中率查询(pinhitratio,gethitratio应该大于90%以上)
  
  select namespace,gethitratio,pinhitratio,reloads,invalidations
  from v$librarycache
  where namespace in ('SQL AREA','TABLE/PROCEDURE','BODY','TRIGGER')
  
  --数据库的常规参数我就不说了,除了V$parameter中的常规参数外,Oracle还有大量的隐含参数,下面的语句就可以查询到数据库的所有隐含参数以及其值与参数的描述。

  
  SELECT NAME
  ,VALUE
  ,decode(isdefault, 'TRUE','Y','N') as "Default"
  ,decode(ISEM,'TRUE','Y','N') as SesMod
  ,decode(ISYM,'IMMEDIATE', 'I',
  'DEFERRED', 'D',
  'FALSE', 'N') as SysMod
  ,decode(IMOD,'MODIFIED','U',
  'SYS_MODIFIED','S','N') as Modified
  ,decode(IADJ,'TRUE','Y','N') as Adjusted
  ,description
  FROM ( --GV$SYSTEM_PARAMETER
  SELECT x.inst_id as instance
  ,x.indx+1
  ,ksppinm as NAME
  ,ksppity
  ,ksppstvl as VALUE
  ,ksppstdf as isdefault
  ,decode(bitand(ksppiflg/256,1),1,'TRUE','FALSE') as ISEM
  ,decode(bitand(ksppiflg/65536,3),
  1,'IMMEDIATE',2,'DEFERRED','FALSE') as ISYM
  ,decode(bitand(ksppstvf,7),1,'MODIFIED','FALSE') as IMOD
  ,decode(bitand(ksppstvf,2),2,'TRUE','FALSE') as IADJ
  ,ksppdesc as DESCRIPTION
  FROM x$ksppi x
  ,x$ksppsv y
  WHERE x.indx = y.indx
  AND substr(ksppinm,1,1) = '_'
  AND x.inst_id = USERENV('Instance')
  )
  ORDER BY NAME
  
  --想知道现在哪个用户正在利用临时段吗?这个语句将告诉你哪个用户正在利用临时段。
  
  SELECT b.tablespace, b.segfile#, b.segblk#, b.blocks, a.sid, a.serial#,
  a.username, a.osuser, a.status,c.sql_text
  FROM v$session a,v$sort_usage b, v$sql c
  WHERE a.saddr = b.session_addr
  AND a.sql_address = c.address(+)
  ORDER BY b.tablespace, b.segfile#, b.segblk#, b.blocks;
  
  --查看磁盘碎片
  
  select tablespace_name,sqrt(max(blocks)/sum(blocks))*
  (100/sqrt(sqrt(count(blocks)))) FSFI
  from dba_free_space
  group by tablespace_name order by 1
  
  1.查看表空间的名称及大小
  
  select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
  from dba_tablespaces t, dba_data_files d
  where t.tablespace_name = d.tablespace_name
  group by t.tablespace_name;
  
  2.查看表空间物理文件的名称及大小
  
  select tablespace_name, file_id, file_name,
  round(bytes/(1024*1024),0) total_space
  from dba_data_files
  order by tablespace_name;
  
  3.查看回滚段名称及大小
  
  select segment_name, tablespace_name, r.status,
  (initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
  max_extents, v.curext CurExtent
  From dba_rollback_segs r, v$rollstat v
  Where r.segment_id = v.usn(+)
  order by segment_name
  
  15。耗资源的进程(top session)
  
  select s.schemaname schema_name,  decode(sign(48 - command), 1,
  to_char(command), 'Action Code #' to_char(command) ) action,  status
  session_status,  s.osuser os_user_name,  s.sid,     p.spid ,     s.serial# serial_num,
  nvl(s.username, '[Oracle process]') user_name,  s.terminal terminal,
  s.program program,  st.value criteria_value from v$sesstat st,  v$session s , v$process p
  where st.sid = s.sid and  st.statistic# = to_number('38') and  ('ALL' = 'ALL'
  or s.status = 'ALL') and p.addr = s.paddr order by st.value desc, p.spid asc, s.username asc, s.osuser asc
  
  16。
查看锁(lock)情况
  
  select /*+ RULE */ ls.osuser os_user_name,  ls.username user_name,
  decode(ls.type, 'RW', 'Row wait enqueue lock', 'TM', 'DML enqueue lock', 'TX',
  'Transaction enqueue lock', 'UL', 'User supplied lock') lock_type,
  o.object_name object,  decode(ls.lmode, 1, null, 2, 'Row Share', 3,
  'Row Exclusive', 4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive', null)
  lock_mode,  o.owner,  ls.sid,  ls.serial# serial_num,  ls.id1,  ls.id2
  from sys.dba_objects o, (  select s.osuser,  s.username,  l.type,
  l.lmode,  s.sid,  s.serial#,  l.id1,  l.id2  from v$session s,
  v$lock l  where s.sid = l.sid ) ls where o.object_id = ls.id1 and  o.owner
  <> 'SYS'  order by o.owner, o.object_name
  
  --查看低效率的SQL语句
  
  SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,
  ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio,
  ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,
  SQL_TEXT
  FROM  V$SQLAREA
  WHERE EXECUTIONS>0
  AND   BUFFER_GETS > 0
  AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8
  ORDER BY 4 DESC
上一篇:ORACLE学习笔记--性能优化一 人气:450
下一篇:定时执行存储过程对库表及索引进行分析 人气:740
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵