oracle 性能调优之旅开始
www.itpub.net/thread-137600-1-1.html
http://www.itpub.net/thread-124424-1-1.html
http://blog.itpub.net/post/96/14353
执行下面的语句:
SQL show parameter area_size;
NAME TYPE VALUE
------------------------------------ ----------- ---------------
bitmap_merge_area_size integer 1048576
create_bitmap_area_size integer 8388608
hash_area_size integer 131072
sort_area_size integer 65536
workarea_size_policy string AUTO
我们只要知道一个问题,在这里sort_area_size=64K 和 hash_area_size=128K 是针对每个会话的,并不是针对整个数据库的。
1G内存的服务器上,内给到400--500M 给SGA。。2G 能给到1G; 8G 能给到5G。。通常用一个参考的公式来表达这个问题:
os使用内存+SGA+并发进程数*(sort_area_size+hash_area_size+2M) 0.7* 总内存
不过现在10g ,11g中先后推出了SGA自动管理,内存自动管理。基本不用dba手动设置了。。
2、一个调优的案例分析
这个看了书上的一个调优的案例,总结出来的,具体的内容没有写(参照《oracle数据库性能优化》盖国强等著P69),主要是想同个自己看的第一个例子,来熟悉一般的调优过程。
问题表述:应用是一个后台新闻发布系统,前端展现的是一个大型网站。java开发应用,通过中间件连接池连接数据库。通过连接访问新闻网页极其缓慢,后台发布管理具有同样的问题。通常需要十几秒才能返回。这种性能是用户不能忍受的。
解决过程:
1、检查并跟踪数据库进程:在前台单击相关的新闻条目页面,同时进行后台进程跟踪。
SQL select sid ,serial# ,username from v$session;
SID SERIAL# USERNAME
------- ---------- ------------------
135 21065
137 13248 SYS
141 1793
147 157
157 1
159 3
160 9
162 9589
163 1
164 1
165 1
SID SERIAL# USERNAME
------- ---------- ------------------
166 1
167 1
168 1
169 1
170 1
除了sys及后台进程外,其他的使我们诊断的目标,要对几个进程启用相关的进程SQL_TRACE
SQL exec dbms_system.set_sql_trace_in_session(sid, serial#,,true);
.......
在这里要跟踪不止一个后台的进程,反正只要认为可疑的进程都要跟踪的。此时,前台的页面进行刷新,等待一段时间。然后关闭SQL_TRACE
SQL exec dbms_system.set_sql_trace_in_session(sid, serial#,,false);
2、检查TRACE文件:在udump目录下找到相应的跟踪文件,用tkprof工具查看。看到有一个问题,经过了3892次查询,才查询出一条对应的数据记录。在执行计划里,看到这条语句用的全表扫描。(现在要思考为什么不是走的索引?)
3、登陆数据库检查相应的表结构:发现每次查询所用的articleid 列 有索引,但是没有被用到
。为什么呢?检查表结构发现 articleid列时 VARCHAR2类型的数据。而我们查询时,articleid=20224456565这是一个数值的类型。Oracle在执行这个sql查询时,发生了潜在的数据类型转换(把表中的article转换为 number类型,然后和20224456565这个值比较,相同则取出。)很明显,这样需要全表的转换,执行了全表的扫描。。
4、解决办法:解决的办法超级简单,只需要在查询语句中数字两侧加上引单号:articleid=’ 20224456565 ‘ 对于用单引号引起来的数字,oracle会认为是字符串、这样就消除了隐式类型的转换。再次查询,只需要查询2次,即可查询出一行。问题解决。
1、ppas手册(高度兼容Oracle): https://www.enterprisedb.com/docs/en/11.0/EPAS_Oracompat_Ref_Guide_v11/toc.
博客链接—Oracle性能调优 001 AWR概述:http://blog.itpub.net/29067253/viewspace-1990437/ 002 硬解析和物理读取与软解析和逻辑读取 :http://blog.
DBA_实践指南系列11_Oracle Erp R12性能调优基础(案例) http://www.itpub.net/thread-1412437-1-1.htmlERP技术讨论群: 288307890 技术交流,技术讨论,欢迎加入 Technology Blog Created By Oracle ERP - 鲍新建
这次,我们将在Linux下来动手完成Oracle数据库的安装与使用。 Oracle本身是可以免费下载的包括 它的企业版以及被它收购的Weblogic和Sun中的几乎任何东西你都可以拿来下载和使用,不像IBM和Tibco一些其它厂商,只有“试用版”给你下载,Oracle的东西没有时间限制,你拿来做练习,搭实验环境都是没有任何的问题的。
【整理】小布老师 ORACLE 9i 性能调优 本文内容来自:http://www.boobooke.com 第01讲:Chapter 01--Overview of Oracle9i Database Performance Tuning第02讲:Chapter 01--Overview of Oracle9i Database Perf...
第01讲:Chapter 01--Overview of Oracle9i Database Performance Tuning第02讲:Chapter 01--Overview of Oracle9i Database Performance Tuning第03讲:Chapter ...
相关文章
- Oracle表分区
- 整理oracle 树形查询
- Oracle 闪回
- oracle中sys,system,scott,hr用户
- Linux系统案例精解——存储、Oracle数据库、集群、性能优化、系统管理、网络配置
- oracle hint
- Oracle no TOP, how to get top from order
- 【书评:Oracle查询优化改写】第四章
- Linux 系统 杀Oracle 进程
- Oracle性能优化之 Oracle里的优化器
- ORACLE常用性能监控SQL【一】
- oracle 查看表空间以及剩余量
- Oracle连接数过多释放机制
- oracle回滚机制深入研究
- oracle网络服务之beq协议和SDU优化(性能提升可达30%)
- oracle sqlplus命令详解