调节共享池(SHARED POOL)
SHARE_POOL_SIZE决定共享池的大小
共享池由四部分组成:库缓存、数据字典缓存、控制结构、用户全局区(UGA)
n 库缓存包括:
共享SQL区:SQL语句的解析代码及执行计划。
PL/SQL程序区:编译好的PL/SQL程序。
锁区:防止多个程序在同一时间操作同一个资源。
n 数据字典缓存存储从数据字典中得来的内容,这样Oracle可以快速存取数据字典中的数据
n 用户全局区(UGA); 在共享服务器下有的.
调节数据库高速缓存区(BUFFER CACHE)
DB_CACHE_SIZE数据库高速缓存区大小
数据库高速缓存中的数据块为下面三种状态之一:
自由块:数据内容与磁盘上的一致,这样的数据块可重用
脏数据块:发生改变的数据块,只有将该块的内容写入磁盘数据文件后,该数据块才可重用
不可动块:当前正在被存取的块
n 监视数据库高速缓存区:
select name,value from v$sysstat
where name='db block gets'
or name='consistent gets'
or name = 'physical reads'
n 计算命中率:
1 – physical reads/(db block gets + consistent gets)
如果命中率低于90%,则要增加大小。
调整重做日志缓冲区(REDO LOG BUFFER)
LOG_BUFFER重做日志缓冲区大小
n 监视重做日志缓冲区:
select name,value from v$sysstat
where name='redo buffer allocation retries'
or name='redo entries'
如果redo buffer allocation retries/redo entries 大于1%,则存在性能问题,需要增大log_buffer.
n redo buffer allocation retries:统计值反应了用户进程等待redo log bufer空间以拷入新的重做入口数据的次数。这个值应该接近为0,如果不断增加则要增大log buffer的值。
n redo log space requests:活动的日志文件被充满,Oracle服务器进程等待日志文件切换从而分配新的磁盘空间的次数。
n select * from v$session_wait where event = 'log buffer space’;
如果有返回值,则说明redo log文件可能存在磁盘I/O竞争,可以通过加大log buffer和将日志文件改变到快速磁盘上。[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/74296/viewspace-1015789/ ,如需转载,请注明出处,否则将追究法律责任。