oracle数据库性能优化之sga调整

一.概念:Sga(System Global Area):Oracle Instance的 基本组成部分,在实例启动时分配。是一组包含一个Oracle实例的数据和控制信息的共享内存结构。主要是用于存储数据库信息的内存区,该信息为数据库进程所共享.
1.查询sga select * from v$sga;
2.alter system set sga_target=1024m scope=both; (oracle自动分配sga)
3.所有区域大小的分配,需要根据各个区域的命中率来进行动态的调整
二:Sga的组成: 共享池和数据缓存区,日志缓冲区
1.共享池(share pool):用于缓存 最近被执行的sql语句和最近使用的数据定义,共享池活动信息都保存在v$libarycache系统表中
1.1:查询共享池命中率:select sum(pins-reloads)/sum(pins) from v$librarycache
1.2:命中数过低说明共享池过小 就会消耗cpu资源,过高就消耗内存 一般控制在80-90%
1.3:调节共享池的语句为:(热修改)alter system set shared_pool_size='200M'
1.4:刷新共享池 alter system flush shared_pool
2.数据缓存区(database buffer cache):用户缓存从文件中检索出来的数据块,可以大大提高查询和更新数据的性能
2.1:数据缓存区活动信息都保存在 v$sysstat 中
2.2:该表中name列中值 dbblock gets表示数据请求的总数,consistent gets缓存区满足请求的数据,physical reads 请求在磁盘中读取的数据
3.3:查询缓存区命中率
select(select value from v$sysstat where name ='consistent gets')/(select sum(value) from v$sysstat where name in('consistent gets','physical reads')) from dual
3.4:通过调整DB_CACHE_SIZE的值,修改数据缓存区的大小
alter system set DB_CACHE_SIZE='200M'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值