文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发Oracle日常监测分析数据库的DBA_Monitor.sql程序
精品推荐
特别推荐
·常用数据库比较
·ODBC API常用函数诠释
·提高ORACLE数据库的查询统计速度
·细化解析:Oracle使用的hints调整机制
·解析Oracle/Oracle Forms 的多用途代码
·从Oracle的FORM中调用REPORT的实用技巧
·Oracle SQL精妙SQL语句讲解
·ORACLE学习笔记--性能优化四
·ORACLE常用傻瓜问题1000问
·ORACLE常见错误代码的分析与解决之二
·深刻理解Oracle数据库的启动和关闭
·监控Oracle数据库的常用shell脚本
·Oracle在Solaris下的性能与调整简介
·通俗解说ORACLE
·数据库安全性策略
热点TOP10
·详细介绍ORACLE sqlplus命令
·ORACLE常用傻瓜问题1000问
·我的oracle笔记四(DBA管理)
·Oracle SQL精妙SQL语句讲解
·Oracle Tuning (Oracle 性能调整)的一些总结
·我的oracle笔记一(sql语句方面)
·程序员如何掌握计算机英语
·用正则表达式函数验证身份证号码合法性
·oracle数据库 exp/imp命令详解
·性能分析工具的使用
·ORACLE UPDATE 语句语法与性能分析看法
·在Solaris 10 X86上安装Oracle 10g RAC详解 (1)
·ORA-01092: ORACLE 例程终止。强行断开连接
·VMware下RedHat安装Oracle 9i RAC全攻略
·监控Oracle数据库的常用shell脚本
·手工创建oracle数据库
·常用数据库比较
·PL/Sql循序渐进全面学习教程
·在Solaris 10 X86上安装Oracle 10g RAC详解 (2)
·Oracle客户端文件打包

日常监测分析数据库的DBA_Monitor.sql程序

日期:2007年7月2日 作者: 查看:[大字体 中字体 小字体]



  rem 日常监测分析数据库的DBA_Monitor.sql程序
  rem 我两年前的实际经验总结,以笔记奉献于众。
  rem 主要参考《Oracle8 DBA Handbook》,《Oracle8 Tuning》。
  rem 作者:丁聚岗 dingju@eastday.com
  rem 参考 http://www.linuxeden.com/edu/doctext.php?docid=2754
  set echo on
  spool user_DBA_report.txt
  set pages 333 lin 96
  rem ---------------------------------------------------
  rem  执行说明:本程序第一部分需要DBA权限,
  rem  第二部分针对实际用户,它们拥有表,索引,Source等。
   rem  # cat> ding92sql
   rem  sqlplus system/passwd@standax <<EOFa1
   rem  @dba_monitor.sql
   rem  connect standaxxx/passwd@standax
   rem  @getuser_objects.sql
   rem  EOFa1
   rem  exit
  rem 使用时服务器并不一定要设置为timed_statistics=true。
  rem 《ORACLE数据库情况统计分析程序》, 2001.05创作,2003.08整理 Ding Jugang
  rem 数据库性能调整包括三方面的内容:(硬件,软件,数据库)
  rem 硬件,分别从CPU,Memory,Disk,NetWork提高;软件,就是应用程序的结构优化。
  rem 数据库是我们DBA重点关心的,首先了解自己:
  rem 表sys.DBA_tables : 名称行数.变化列数InitailCacheTSpace
  rem 索引sys.DBA_indexes:名称表名列数类型Initial
  rem 约束user_...:名称表名相关性类型
  rem 查询SQL的频率和效率v_$sqlarea,跟踪记录到sqls表中
  rem 定期重建索引,做成脚本: index1rebld.sql, index2rebld.sql
   
  rem 1、 参数dbwr_io_slave等三个从属进程可以分别设置为 40:12:6
  rem 2、 参数process 一般是实际进程数据的1.5倍, 是为限制进程总数.
  rem   process过大则占用系统资源,将降低系统的性能,可适当考虑降低该数值到600
  rem 3、 当LOG FILE SWITCH时出现等待时,建议加大REDO LOG FILE,一般是30分钟
  rem   一次切换。目前是128MB, 配合4MB LOG_BUFFER已经可以了(8M也不显效果).
  rem 4、 在整个系统较繁忙时检测SHARED_POOL(一般情况下应该空余1/4)
  rem 5、 SGA应该小于整个物理内存的一半,太大会导致OS内存换页出现(PI/PO)
  rem 6、 MTS对于网站应用是理想选择,但在过分繁忙的客户端压力下,MTS会自动失败
  rem   而重启专用进程(例如过多的PHP连接),估计是应用类型不兼容。
  rem 7、 命令instat,vmstat,top,w 能从OS级评估系统负荷。
  rem   监测下面语句的执行结果的变化率,能得出数据库级的硬盘读写流量。
  rem select count(FILE#),sum(PHYRDS),sum(PHYWRTS),sum(PHYBLKRD) from sys.V_$filestat;
  
  rem================================================================
  rem 创建SQL跟踪表SQLS
  rem create table SQLS as select * from sys.v_$sqlarea where disk_reads>500;
  
  rem当需要查询性能时,设置为跟踪模式,并执行下面的查询:
  rem insert into sqls select * from sys.v_$sqlarea where disk_reads>500 and executions<10;
  rem 1)最高频率的SQL
  rem select disk_reads,executions,rows_processed,sql_text from SQLS
  rem   where executions> 99 ; 
  
  rem 2)查询性能最差的SQL:
  rem select disk_reads,executions,rows_processed,first_load_time,sql_text from SQLS
  rem  order by first_load_time;
   select disk_reads,executions,rows_processed,first_load_time,sql_text 
   from sys.v_$sqlarea where disk_reads>10 and executions <10 order by first_load_time;
  rem ========================================================================
  rem 567890123456789_1234567890123456789_1234567890123456789_1234567890123456
  rem ==RowCache,LibraryCache 依赖于Shared_pool,参看sys.v_$sgastat ===
  rem 此二者应当达到95%,实际系统已经达到99%
   select (sum(pins - reloads)) / sum(pins) "lib cache" from sys.v_$librarycache;
   select (sum(gets-getmisses-usage-fixed)) / sum(gets) from sys.v_$rowcache;
   
  rem ==================== SGA ==============================================
  rem ======= sys.v_$sgastat,SGA中详细说明 =====================
  rem 剩余共享池: 保留Free Memory 大于25%
   column name format A46
   column value format 999999,999,999
  select * from sys.v_$sgastat where rownum<5;
   
  rem =================== SYS ===============================================
  rem ========= sys.v_$SYSstat 详细列表,下面是几个指标的算法=======
  rem 数据缓冲命中率:1- 40#/(39#+38#) = 99.8% > 95%
  rem 内存排序成功率:1- 162#/(161#) = 99.4% > 92%
  rem 脏缓冲区平均长度(oracle8i已废除之): 41#/42#=0.06<db_block_size/4
  rem 应用效率:全表扫描<1%, 140#long/(139#short+140#long)
   column class format 99999
   column value format 999999,999,999
  select * from sys.v_$sysstat
     where STATISTIC# in (38,39,40,41,42,43,139,140,141,106,161,162,163);
  
  select name, value from v$parameter
  where name in ('db_block_buffers',
  'db_block_size', 'shared_pool_size','sort_area_size');
  
  rem DETERMINE IF THE DATA BLOCK BUFFERS IS SET HIGH ENOUGH
  select 1-(sum(decode(name, 'physical reads', value,0))/
  (sum(decode(name, 'db block gets', value,0)) +
  sum(decode(name, 'consistent gets', value,0))))
  "Read Hit Ratio" from v$sysstat;
  
  
  rem 日志缓存要满足空间请求极小,每日300次,还可更小:
  rem LOG_BUFFER=4MB,还可再大。
[1] [2] [3] 下一页 




上一篇:访问多个SQL Server数据库

下一篇:如何使sendmail监听在其他端口?

日常监测分析数据库的DBA_Monitor.sql程序 相关文章:
·IE浏览器再现严重安全漏洞 微软紧急发补丁程序
·不用任何软件(木马程序)盗取账号密码
·校园网网络方案设计及分析
·Dreamweaver MX 2004做ASP程序(4)用户注册系统
·破解程序及注册机使用方法
·C语言的常用库函数使用方法分析及用途
·C#源码读取excel数据到程序中-SQL SERVER-到dataset中
·SQL2000 数据库安装说明
·用C语言实现Ping程序功能
·SQL数据库完全使用手册
日常监测分析数据库的DBA_Monitor.sql程序 相关软件:
·C语言程序设计
·Windows环境下32位汇编语言程序设计
·FLASH个人简历源程序(FLA)
·C语言程序设计视频教程 CSF 教材:谭浩强《c程序设计》
·ACCESS数据库教程 北京大学的ACCESS教程
·零起点教你如何破解软件和制作注册机 and 视频+程序
·爆出网站数据库路径
·Sim Aquarium v2.06 -非常漂亮的海底世界屏幕保护程序
·逐步精通数据库 sql server 视频教程
·硅谷 C++程序设计视频教程 齐幼菊

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot