##使用场景
开发机被oracle占用了10G内存,由于经常要同时使用多个开发软件,导致内存不够用

解决方案

方法一:不用时关闭

写个bat命令,需要用的时候再打开,对开发人员来说有点麻烦,经常要切下项目又得重新操作,也要关掉多余的项目

方法二:降低ORALCE的内存占用

操作前,先悉知下这些注意事项:
‌1、内存大小建议‌:对于开发环境,SGA 设置为 2G-4G 通常足够;生产环境需根据实际负载和物理内存总量合理分配,一般建议 SGA 不超过物理内存的 60%-70%。
‌2、PGA 内存‌:除了 SGA,Oracle 还会使用 PGA。如果总内存占用依然高,可以检查 pga_aggregate_target 并适当调低。
‌3、备份配置‌:在进行重大参数修改前,建议备份当前的 spfile 或创建 pfile 备份,以防启动失败。
‌4、Windows 服务‌:如果在 Windows 上,重启数据库实例即可;如果是 Linux,确保使用正确的脚本重启实例。

实操案例

结果:将占用10g内存,降低到4G;
注意:以下命令中,sga_target 必须小于或等于 sga_max_size。

SQL*Plus: Release 12.1.0.2.0 Production on 星期六 5月 9 09:30:40 2026

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

请输入用户名:  sqlplus / as sysdba
输入口令:

连接到:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> show parameter sga;

NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
lock_sga                             boolean
FALSE
pre_page_sga                         boolean
TRUE
sga_max_size                         big integer
9792M
sga_target                           big integer
9792M
unified_audit_sga_queue_size         integer

NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
1048576
SQL> alter system set sga_target=4096m scope=spfile;

系统已更改。

SQL> alter system set sga_max_size=4096m scope=spfile;

系统已更改。

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。

Total System Global Area 4294967296 bytes
Fixed Size                  4626744 bytes
Variable Size            1073743560 bytes
Database Buffers         3204448256 bytes
Redo Buffers               12148736 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameter sga;

NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
lock_sga                             boolean
FALSE
pre_page_sga                         boolean
TRUE
sga_max_size                         big integer
4G
sga_target                           big integer
4G
unified_audit_sga_queue_size         integer

NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
1048576
SQL>

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐