Linux下oracle内存修正

来源:互联网 发布:沈阳关键词优化排名 编辑:程序博客网 时间:2024/05/16 11:40

1)项目在执行过程中,总是报OutOfMemory错误,调查后发现是pga设置过小。

SQL>show parameter sga

NAME                                TYPE        VALUE

----------------------------------------------- ------------------------------

lock_sga                            boolean     FALSE

pre_page_sga                        boolean     FALSE

sga_max_size                        big integer 20G

sga_target                          biginteger 20G

SQL>show parameter pga

NAME                                TYPE        VALUE

----------------------------------------------- ------------------------------

pga_aggregate_target                big integer 15G


2)修改Oracle内存大小。需要修改以下参数:

sga_max_size 

sga_target                          

pga_aggregate_target                

memory_target

memory_max_target

以上几个参数的值,存在以下关系,一定要正确设置,否则会报ORA-00823错误。

pga_aggregate_target  < sga_target  <=  sga_max_size

sga_max_size + pga_aggregate_target  <= memory_target <= memory_max_target

修改参数:

SQL>alter system set sga_max_siza=35G   scope = spfile;

其他参数也同样的修改。

参数不能动态修改,需要使用alter system set parameter = value  scope = spfile,然后重新启动数据库才能生效。

3)如果参数修改不正确,导致报ORA-00823错误的时候,需要通过以下方式修改配置文件:

①sqlplus / as sysdba

②create pfile from spfile;

※例如:create pfile='/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/testpfile' from spfile;
③modify pfile sga

※修改pfile文件内容。

※通过 pfile 参数启动数据库:startup pfile='/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/testpfile';(只是验证pfile修改是否正确,可以不用执行)

④shutdown immediate

※如果没有通过pfile启动数据库,此命令不用执行。
⑤create spfile from pfile;

※例如:create spfile='/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/spfileCOMPASS.ora' from pfile;
⑥startup;

4)修改完oracle配置:

SQL>show parameter sga

 

NAME                                TYPE        VALUE

----------------------------------------------- ------------------------------

lock_sga                            boolean     FALSE

pre_page_sga                        boolean    FALSE

sga_max_size                        big integer 35G

sga_target                          big integer 35G

SQL>show parameter pga

 

NAME                                TYPE        VALUE

----------------------------------------------- ------------------------------

pga_aggregate_target                big integer 25G

SQL>show parameter memory

 

NAME                                TYPE        VALUE

----------------------------------------------- ------------------------------

hi_shared_memory_address            integer     0

memory_max_target                   big integer 60G

memory_target                       big integer 60G

shared_memory_address               integer     0




0 0