|
|
|
|

GIS数据库ORACLE的某些参数设置之二——内存和归档

Oracle参数用于设置例程和数据库的特征,Oracle9i提供了200多个可视参数,100多个隐形参数。小女子暂且将数据库的设置主要包括为五大项:内存、归档、跟踪文件和数据库存储。 1. 内存 首先要注意两个问题:1.除去OS和一些其他开销,能给ORACLE使用的内存...

作者:applewhna来源:GIS空间站|2006年07月01日

Oracle参数用于设置例程和数据库的特征,Oracle9i提供了200多个可视参数,100多个隐形参数。小女子暂且将数据库的设置主要包括为五大项:内存、归档、跟踪文件和数据库存储。

1. 内存

首先要注意两个问题:1.除去OS和一些其他开销,能给ORACLE使用的内存有多大? 2:oracle的操作系统是64bit还是 32 bit?如果操作系统是32bit,通常 SGA有 1.7G 的限制。解决的基本原则是: data buffer可以尽可能的大,shared_pool_size 要适度,log_buffer 通常3MB就差不多了。


share_pool_size:它指定共享池的大小,共享池包含:共享游标、存储的过程、控制结构和并行执行消息缓冲区等对象,较大的值用于改善多用户系统的性能,但不能盲目将shared_pool_size设置过大,因为shared_pool_size 过大会增加管理负担和latch 的开销,超过500M可能是危险的,达到1G可能造成CPU的严重负担,甚至导致系统瘫痪。建议值设置可在200MB~350MB之间。如果shared_pool_size 超过350M还命中率不高,可以试着从应用上找原因。
log_buffer : 日志缓冲区的变化记录的容量接近1MB或它的内容已经达到容量的1/3时,日志缓冲管理器调用LGWR(日志写进程)来完成写入重做日志组的工作。因此建议设置在3MB~5MB之间。
large_pool_size : 指定大型池的分配堆的大小,它可被共享服务器用作会话内存,用作并行执行的消息缓冲区以及用作RMAN备份和恢复的磁盘I/O缓冲区。如果不设置MTS, large_pool_size在10MB~30MB就可以了;若设置MTS,就需要依据 session最大数量和 sort_ares_size 等参数增大large_pool_size 值。注意,一般是不必使用MTS,尤其在同时在线用户数小于500的情况下。
java_pool_size : 它用于存放java代码,若不使用java,建议设置为30M,将来数据库开发工作进行时,这个参数可以再调整。
pga_aggregate_target:指定连接到例程的所有服务器进程的目标PGA总内存。在启用自动设置工作区之前将此参数设置为一个正数。这部分内存不驻留在SGA中。数据库将此参数值用作它所使用的目标PGA内存量。设置此参数时,将SGA从可用于Oracle例程的系统内存总量中减去。然后可将剩余内存量分配给pga_aggregate_target。此参数的默认值是“未指定”,它表示完全禁用对工作区的自动优化,建议设置为10MB。
Date Buffer Cache:它主要为高速缓存指定标准块大小的缓冲区,在做了前面的设置后,凡可以提供给oracle的内存,都应该data buffer = (db_block_size * db_block_buffers)。
pre_page_sga:这是一个根据平台而定的参数,如果该参数为TRUE,将把所有的SGA页装载到内存中,以便使该例程迅速达到最佳性能状态。这将增加例程启动和用户登录的时间,但在内存充足的系统上能减少缺页故障的出现,建议设置为TRUE。
sort_area_size:因为GIS数据库要提供查询的数据一般都比较大,建议设置成1M-3M。这样,假定oracle的操作系统是 32 bit ,服务器RAM大于2G ,建议:
shared_pool_size + data buffer +large_pool_size + java_pool_size < 1.6G

2. 归档
从数据库备份的角度考虑,选择归档日志模式,并自动归档。GIS数据库要存放海量的栅格数据和矢量数据,仅对栅格数据而言,录入数据库的每个象素都被日志缓冲区作为一条记录读入,LGWR进程是不断写入联机重做日志文件,同时ARCn进程不断的来执行自动归档到指定的位置,随着录入像素的增加,归档文件的数据量也不断增加,显然,这样的增长是不可思议的。所以,建议当数据库大批量导入数据时,采用非归档模式。导入后对数据做全备份,跟据需要,可以再改成自动归档模式。

上一篇:GIS数据库ORACLE的某些参数设置——之一

下一篇:GIS数据库ORACLE的某些参数设置之三