oracle的性能

一款叫PIGOSS的监控软件,它对Oracle数据库的监控挺好,能够把占用磁盘IO和读写次数较多的SQL语句进行TOP5排序,很容易找出占用资源较高的SQL语句。这个软件国产的,价格较低。

ORACLE的连接数理论上是没有上限的,设置多少都可以。实际上与服务器的配置有关,配置越强悍,连接数可以设置的上限越高。
我现在的系统就是设置的3000,当然服务器配置也是相当的强劲了。


小生在oracle数据库上学习的时间也不算短,现将自己的经验总结一下
在我看来,数据库的性能主要取决于2部分:数据库管理 和 sql 语句。数据库优化除了教科书上的优化理论外,更需要针对具体情况的望闻问诊。
1、 数据库管理
数据库的性能问题主要体现在:
1、 硬件资源的不足。如CPU、内存、I/O、网络 2、 资源设计的不合理。如SGA分配不合理、命中率低 3、 锁资源不足。 
下面我们将就这些问题提供多种方法进行分析 本文中的数据库为oracle 10g 、OLAP系统
 
1.1 查看硬件资源
注意时间点要选择在数据库繁忙时段。
1.1.1 查看主机配置
    uname –M                          -- IBM,9117-MMA  prtconf | grep proc |wc –l              -- 16颗cpu  prtconf –s                           -- Processor Clock Speed: 5008 MHz  prtconf –m                          -- Memory Size: 254208 MB 
1.1.2 机器压力测试
vmstat 10 10
 


        

我们看出空闲在1%左右,没有等待。 
1.1.3 网络和存储压力测试
topas
 
eno 流量在8M以上,en4 在1M以上。(en- Ethernet 以太网) 比较繁忙的磁盘都已经大道100%
 
1.2 数据库分析
1.2.1 数据库分析报告  
数据库分析报告可以让你全面了解你的数据库,具体可通过statspack 和 AWR 工具来生成。这方面的教程很多,本文不再重复。本文主要针对没有DBA权限的用户来分析数据库。 
 
1.2.2 了解SGA 状况 查看SGA分配情况

扫描二维码关注公众号,回复: 289352 查看本文章


SELECT* from v$parameter a WHERE a.name IN( 'shared_pool_size'  , 'log_buffer', 'db_cache_size', 'java_pool_size','large_pool_size')
 
 
查看SGA使用情况
select component,current_size/1048576 ,min_size/1048576  from v$sga_dynamic_components;
 
 
1.2.3 了解PGA状况
PGA=UGA+sort_area_size + hash_area_size+ bitmap_merge_area_size sort_area_size : 对信息排序所用的内存总量
sort_area_retained_size : 排序后在内存中保存排序信息的内存总量。 hash_area_size : 存储散列列表所用的内存量。
--------------------------------------------------------
查询PGA总大小, 结果是24G。 SQL> show parameter pga  
NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ pga_aggregate_target                 big integer 24G 
查询已经消耗的PGA,大小为4G
SQL> select round(sum(pga_alloc_mem)/1048576,1) from v$process;  
ROUND(SUM(PGA_ALLOC_MEM)/10485 ------------------------------
                        4424.1

猜你喜欢

转载自weitao1026.iteye.com/blog/2312423
今日推荐