调整块大小和文件大小
在Solaris上,Oracle块缺省值为2KB,可以设置的实际大小为2KB的倍数,最大设置值为16KB。
最优的块大小通常是缺省值,但随着应用程序而变化。为了用不同的Oracle块大小建立数据库,在创建数据库前在initsid.ora文件中增加下面行:
db_block_size=new_block_size
调整Solaris缓冲区高速缓存大小为了充分利用原始设备的优点,我们需要调整Oracle 8i缓冲区高速缓存的大小和Solaris缓冲区高速缓存。Solaris缓冲区高速缓存由操作系统提供。它在内存中保存数据的块(在它们被从内存传送到磁盘前,反之亦然)。
Oracle 8i缓冲区高速缓存是在内存中保存Oracle数据库缓冲区的区域。因为Oracle 8i可以使用原始设备,它不需要使用Solaris缓冲区高速缓存。
在移动原始设备时,增加Oracle 8i缓冲区高速缓存的大小。若系统中内存的数量是有限的,则相应地减少Solaris缓冲区高速缓存的大小。
Solaris命令sar可以帮助决定哪些缓冲区高速缓存应该增加或减少:
sar -b:报告Solaris缓冲区高速缓存的活动; sar -w:报告Solaris内存交换活动; sar -u:报告CPU利用情况; sar -r:报告内存利用情况; sar -p:报告Solaris内存分页活动。
通常在缓存命中率上升时,我们需要增加Oracle 8i缓冲区高速缓存的大小,而在交换/分页活动变高时,我们需要减少高速缓存的大小。
我们还可以使用Oracle 8i建立的跟踪(Trace)和警报(Alter)文件来诊断和解决运行中存在的问题。只要我们充分利用以上命令和方法,就可以很好地优化与调整Oracle 8i数据库了。