Oracle 10G R2 让表常驻内存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 10G R2 让表常驻内存相关的知识,希望对你有一定的参考价值。

首先检查Oracle 参数:

 

SQL> show parameters sga;

NAME                                 TYPE        VALUE
------------------------------------ ----------- -------
lock_sga                             boolean     TRUE
pre_page_sga                   boolean     TRUE

 

如果以上两个选项的 VALUE为False 则需要修改为TRUE;

修改:lock_sga :

 

alter system set lock_sga=true scope=spfile;

 

修改 pre_page_sga:

alter system set pre_page_sga=true scope=spfile;

 

 

根据服务器实际内存以及占用内存的大小修改sga_max_size 到合适的一个内存值:

 

alter system set sga_max_size = 4096m scope=spfile;

alter system set sga_target = 4000m scope = spfile;

 

修改db_cache_size(修改一下两个参数需要实际的sga大小,大于指定的内存才可以):

 

alter system set db_cache_size = 2048m scope=spfile;

alter system set db_keep_cache_size=1024m scope=spfile;

 

关闭数据库并重启;

shutdown immediate;

startup;

 

经过以上步骤则可以让表有了常驻内存的可能:

 

执行一下语句则可以让指定的表进入到常驻内存中去:

alter table table_name storage(buffer_pool keep);
alter table table_name cache;

 

经过以上步骤则完成了让某一张表 直接常驻内存了.

以上是关于Oracle 10G R2 让表常驻内存的主要内容,如果未能解决你的问题,请参考以下文章

Windows Server 2008 R2 安装oracle10g报错的解决方法

ORACLE10g R2单实例 FS→单实例FS

ORACLE10g R2RAC+ASM→单实例FS

ORACLE10g R2RAC+ASM→RAC+ASM

CENTOS 6.3 64位安装ORACLE 10G R2 64位报错

为啥 Oracle 10g R2 V$DATABASE.NAME 最长 8 个字符?