日期:2014-05-16  浏览次数:20460 次

关于加大oracle内存后,防止使用缓存的参数
http://space.itpub.net/14769796/viewspace-631265
http://space.itpub.net/519536/viewspace-623128

实际上跟oracle内存调度有关的,主要有四个参数
LOCK_SGA
PRE_PAGE_SGA
SGA_MAX_SIZE(对操作系统来说,oracle服务一共可以使用的内存)
SGA_TARGET(对oracle调度来说,所有使用内存块总和的限制)

通常MAX_SIZE和TARGET是一样的,或者target略小即可。北科大,oracle可以设置成12G左右的物理内存,把数据全部load内存中,自然速度就快了。
设置好这四个参数,oracle内存就搞定了

0、备份spfile文件,怕数据库修改内存起不来!
把这个文件考那都行“D:\oracle\product\10.2.0\db_1\dbs\SPFILEORCL.ORA”,要是改完之后启不了数据库了那就在把文件考回去。当然还有其它方法。
根据初化参数文件spfile创建pfile文件,此文件可以进行编辑,修改初始化参数。 开始——》运行——》cmd
>sqlplus / as sysdba
SQL>create pfile='c:\orcl.ora' from spfile;
根据修改后的pfile文件创建spfile文件。 SQL>create spfile from pfile='c:\orcl.ora';


1.查看lock_sga和pre_page_sga参数的默认值
sys@ora10g> show parameter sga

NAME            TYPE                 VALUE
--------------- -------------------- -----------------
lock_sga        boolean              FALSE
pre_page_sga    boolean              FALSE
sga_max_size    big integer          5G
sga_target      big integer          5G

2.注意:两个参数都是静态参数。确认之。使用“scope=spfile”选项修改之,成功。
SQL>ALTER system SET sga_max_size=12000m scope=spfile;
SQL>ALTER system SET sga_target=12000m scope=spfile;

sys@ora10g> alter system set lock_sga=true scope=spfile;

System altered.

sys@ora10g> alter system set pre_page_sga=true scope=spfile;

System altered.

4.重新启动Oracle使spfile的修改生效
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@ora10g> startup;

4.5查看修改后的参数
SQL>select * from v$sga;
SQL>show parameter sga_max_size;
SQL>show parameter sga_target;