Oracle经过长时间的发展,很多用户都很了解Oracle优化库高速缓冲区了,这里我发表一下个人理解,和大家讨论讨论。日志缓冲区也称为重做日志缓冲区,它包含所有变化了的数据块。这些变化的数据块通过Oracle日志书写进程以一种邻接的方式写到重做日志文件中。
(1)获取缓冲区活动情况
优化日志缓冲区时,首先应了解缓冲区的活动情况。这对通过查询动态性能表(需有SELECT ANY TABLE特权)V$SYSSTAT来获得。
(2)计算日志缓冲区的申请失败率
数据库管理员可以通过执行下述语句。
查看日志缓冲区的使用情况。查询出的结果可以计算出日志缓冲区的申请失败率。申请失败率=requests/entries。申请失败率应该接近于0,否则说明日志缓冲区开设太小,需要增加ORACLE数据库的日志缓冲区。
(3)优化日志缓冲区
如果重做缓冲区的等待大于零,进程就要等待重做日志缓冲区的空间变成可用。此时就会影响数据库的性能。可以通过逐步提高init.ora中参数 LOG_BUFFER的值来达到优化日志缓冲区的目的。在增加LOG_BUFFER的值时,可通过查询动态性能表来了解和检查日志缓冲区的活动情况。
优化共享池
共享池由库高速缓存、字典高速缓存和SQL区组成。整个共享池的大小由参数SHARED_POOL_SIZE确定。共享池的优化主要考虑库高速缓冲区、数据字典高速缓冲区以及会话期间信息的优化。
Oracle优化库高速缓冲区
要Oracle优化库高速缓冲区,必须首先了解该缓冲区的活动情况。库高速缓冲区的活动统计信息保留在动态性能表V$LIBRARYCACHE中。优化时应使数据字典高速缓存里的内存数据库块尽可能多。
(1)确定库高速缓存的性能
通过查询V$LIBRARYCACHE表(需有SELECT ANY TABLE特权)来了