网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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教程,数据库安全,数据库文摘
本月文章推荐
.使用10203事件跟踪Oracle块清除.
.ORACLE 常用的SQL语法和数据对象.
.利用SQL * Plus复制遗留的Oracle.
.如何使用Oracle的Decode函数进行.
.Oracle数据库连接.
.Oracle 8 数据库函数库的列举与具.
.把表里的数据导成insert语句.
.linux下安装oracle 8.17.
.Linux简明系统维护手册(3).
.Oracle回滚表空间丢失或损坏处理.
.用windows 2000的osloader启动多.
.一点整理的statspack内容信息.
..NET中用Oracle 10g Single-Sign.
.RED HAT 7.3装Oracle8.1.7配置什.
.UTL_INADDR包获取ip地址的内部原.
.Compress table 的内部存储细节研.
.Oracle Pro*C/C++游标和存储过程.
.利用 Ghost 复制您的Linux 系统.
.解决jdbc连接oracle协议适配器错.
.Oracle10g中SCN与TimeStamp的相互.

关于内存参数的调整

发表日期:2008-2-9


    关于参数调整,是Oracle的复杂性的一个具体体现。通常来讲,我们更倾向于让客户做statspack报告,然后告诉我们os监控的状况,在这些的信息的基础上,再向客户索取具体的具体信息以诊断问题的所在。系统的调整,现在我们通常采用从等待事件入手的方法。 因为一个系统感觉到慢,必然是在某个环节上出现等待,那么我们从等待最多的事件入手逐步诊断并解决问题。     对于内存的调整,相对来说简单一些,我们首先可以针对数据缓冲区的大小来看。首先观察命中率     数据缓冲区命中率 SQL> select value from  v$sysstat where name ='physical reads';      VALUE ----------      14764 SQL>  select value from  v$sysstat where name ='physical reads direct';      VALUE ----------         50 SQL> select value from  v$sysstat where name ='physical reads direct (lob)';      VALUE ----------          0 SQL> select value from  v$sysstat where name ='consistent gets';      VALUE ---------- 167763 SQL> select value from v$sysstat where name = 'db block gets';      VALUE ----------      14305     这里命中率的计算应该是     令 x = physical reads direct + physical reads direct (lob)     命中率 =100 - ( physical reads - x) / (consistent gets + db block gets - x)*100     通常假如发现命中率低于90%,则应该调整应用可可以考虑是否增大数据缓冲区     共享池的命中率     SQL> select sum(pinhits)/sum(pins)*100 "hit radio" from v$librarycache;  hit radio
 
----------  99.809291     假如共享池的命中率低于95%,就要考虑调整应用(通常是没使用bind var )或者增加内存     关于排序部分     SQL>  select name,value from v$sysstat where name like '%sort%'; NAME                                                                  VALUE ---------------------------------------------------------------- ---------- sorts (memory)                                                        67935
sorts (disk)                                                              1 sorts (rows)                                                           7070 SQL>     假如我们发现sorts (disk)/ (sorts (memory)+ sorts (disk))的比例过高,则通常意味着sort_area_size部分内存较小,可考虑调整相应的参数。     关于log_buffer     SQL>  select name,value from v$sysstat     2    where name in('redo entries','redo buffer allocation retries'); NAME                                                                  VALUE ---------------------------------------------------------------- ---------- redo entries                                                        2325719 redo buffer allocation retries                                           10     假如 redo buffer allocation retries/ redo entries 的比例超过1%我们就可以考虑增大log_buffer     通常来说,内存的调整的焦点就集中在这几个方面,更多更具体的内容,建议从statspack入手来一步一步调整。最后关于内存的调整,再强调这一点,一定要结合操作系统来衡量,任何理论都必须要实践来检验。在操作系统中观察 page  in/out 状况,发现问题严重,应该考虑调小SGA。
上一篇:从调优强迫症中恢复过来 人气:509
下一篇:32bit 和 64bit 的问题 人气:741
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐