Oracle数据库如何设置PGA值
Oracle数据库如何设置PGA值
我们知道,oracle 9i pga的值就是自动管理即workarea_size_policy参数设置为auto,在9i 模式下,只对专用连接方式有效,对共享连接方式无效,10g 版本以后对两种连接方式都有效。
oracle 9i pga对外面所有session连接有效,比如进行排序等,然后根据session排序用的内存使用情况,自动分配。9i之前主要通过设置sort_area_size参数来控制某个session的排序,这样的话就很难评估session运行的sql, 需要多大的内存空间,如果设置的不合理的话,就需要用到临时数据文件而导致效率低下。
那我们在给应用新安装数据库时,如果设置9i和10g pga的值:
oltp(联机事物处理)
pga=(总内存*80%)*20%
比如物理内存8G,那pga大小为
pga=(8192M*80%)*20%=1310M 左右
olap(DSS数据仓库或决策分析)
pga=(总内存*80%)*50%
pga=(8192M*80%)*50%=3276M左右