zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

(转载)[Oracle]11g内存占用调整步骤(解决内存占用过大问题)

Oracle内存 解决 步骤 转载 调整 占用 11g
2023-09-11 14:16:15 时间

开发用的电脑,内存升级到了40G,发现Oracle服务占用内存特别大,甚至高达9个G,

搜索了以下,貌似是因为Oracle默认设置占用内存是内存的1/8,照这个数看应该是指物理内存加虚拟内存总和了,

因为只是进行开发并不需要测试数据库有多高的性能,决定缩小Oracle内存配置,

以下这篇博文比较全面,其他很多文章只调sga_开头的并没有效果.

 

原文地址:https://www.cnblogs.com/jingdian1956/p/7429214.html

按如下的步骤调整内存

1. sqlplus /nolog
2. conn / as sysdba

3. show parameter target

4. show parameter sga
alter system set sga_max_size=512M scope=spfile;
alter system set sga_target=512M scope=spfile;

5. show parameter pga
alter system set pga_aggregate_target=512m scope=spfile;

6. show parameter memory
alter system set memory_target = 2048M scope=spfile;
alter system set memory_max_target =2048M scope=spfile;

7. shutdown immediate
8. startup

 

如果出现启动失败,可以用默认init.ora文件启动,修复过程如下

1.使用此pfile(init.ora)文件启动oracle
startup pfile='E:\app\Administrator\product\11.2.0\dbhome_1\dbs\init.ora';

2.删除原始spfile,并创建新的spfile
create spfile from memory;

3.按照正常方式重启oracle即可。

SQL> shutdown abort
SQL> startup

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

其他参考文章:https://blog.csdn.net/wh445306/article/details/102881209

其中提到 sga_target < = sga_max_size <= memory_target <= memory_max_target