Oracle 10 的内存调整实践(oracle10内存调整)

Oracle 10 的内存调整实践

Oracle 10 在内存调整方面,与以前的版本有重大改变,并提供了调整和管理内存的方法。下面介绍一种 Oracle 10 内存调整和管理实践,一般应用于多个实例(Database)的场景。

1、首先要明确 Oracle 内存的占用规律。下面各项指标皆可以通过查看Oracle的状态,有关的视图查到:

(1)可使用的已分配内存(assignable memory)可通过以下sql语句查到:

SELECT *

FROM v$memory_target_advice

WHERE advice_status=’ON’;

(2)SGA可使用内存(SGA total memory):

SELECT *

FROM v$sga;

(3)PGA可使用内存 (PGA Total Memory):

SELECT *

FROM v$pgastat;

2、在Oracle 10中,应用调整内存的指令就是ALTER SYSTEM ,可用来设定可使用的已分配内存。如:

ALTER SYSTEM SET memory_target=size SCOPE=BOTH;

到目前为止,已经可以进行 Oracle 10中最核心的操作,即设定已分配内存的大小。然后,进行 SGA 内存的管理,有两种模式:

(1) AUTO 模式:

ALTER SYSTEM SET sga_target=0 SCOPE=BOTH;

在 AUTO 模式下,SGA 内存自动调整,不需要额外的操作;

(2)MANUAL 模式:

ALTER SYSTEM SET sga_target=size SCOPE=BOTH;

在 MANUAL 模式下,可以按照需要,指定 SGA 的大小,SIZE 为指定的内存大小。

进行 PGA 的管理可以使用以下语句:

ALTER SYSTEM SET pga_aggregate_target=size SCOPE=SPFILE;

如果要应用所有以上修改,需要使用以下指令:

ALTER SYSTEM SET job_queue_processes=4 SCOPE=SPFILE;

SHUTDOWN IMMEDIATE;

STARTUP;

通过以上操作,就可以根据需要,调整 Oracle 10 的内存大小及管理。


数据运维技术 » Oracle 10 的内存调整实践(oracle10内存调整)