1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

Oracle SGA大小的解决方法的调整

2022-11-26 | 数据库 | gtxyzz | 712°c
A+ A-

以下的文章主要介绍的是调整Oracle SGA大小的解决方法,如果你是调整Oracle SGA大小的解决方法方面的新手,你就可以通过以下的文章对调整Oracle SGA大小的解决方法如何正确使用的详细内容的介绍。

本文主要向你介绍的是深入讲解调整Oracle SGA大小的解决方法 ,你如果是Oracle SGA的疯狂一族的话,以下的文章,你一定不要错过。 深入讲解调整Oracle SGA大小的解决方法

在修改数据缓冲区的时候,提示错误如下:

SQL>altersystemsetdb_cache_size=25165824scope=both; 
altersystemsetdb_cache_size=25165824scope=both 
* 
ERRORatline1: 
ORA-02097:parametercannotbemodifiedbecause
specifiedvalueisinvalid 
ORA-00384:Insufficientmemorytogrowcache 
SQL> 

出现这种错误的具体原因:

Oracle SGA(SGA_max_size)是由共享池(shared_pool_size),缓冲区高速缓存(db_cache_size 9i以上版本),大型池(large_pool_size),Java池(java_pool_size)组成的,在我们安装的时候这些已经分配了一定的值,由于需求需要对其进行调整。

现在SGA的值是一定的,SGA通常是大于等于以上几项的值之和。

假如正好SGA等于各项之和,那么调大其中任何一项都会出错,调小是不成问题的。

在此情况下也就出现了以上的错误:

下面我们以db_cache_size为例:

解决方法如下:

1、调小其它项的值,一般情况下我们不会采用这种方法,随着业务的增大对内存的需求越来越高,估计其它项也没有调小的余地

2、调大Oracle SGA此时数据库需要是在关闭状态,由于SGA不是动态参数,所以我们需要修改init$Oracle_SID.ORA的中SGA的大小

(1)首先创建参数文件,这是为了保持和服务器参数文件一致SQL>create pfile from spfile;

(2)修改init$ORACLE_SID.ORA中对应的SGA_max_size大小

(3)创建服务器参数文件SQL>create spfile from pfile;

(4)启动数据库 修改db_cache_size的大小

SQL>altersystemsetdb_cache_size=25165824scope=both; 
Systemaltered. 

修改完毕。

总结:

SGA_max_size需要重启数据库来进行调整,而其中的db_cache_size等可以动态调节,在调节共享池时需要计算好Oracle SGA的总容量,假如超过了SGA_max_size,就会出现报错的现象。

本文来源:1818IP

本文地址:https://www.1818ip.com/post/11768.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。