小编nsa*_*sen的帖子

如何限制 Oracle 的内存使用?

我想使用Oracle的自动内存管理,限制在4GB左右。(过去的经验表明,这对于我的开发 PC 来说已经足够了,而且比这更容易了解任何性能问题。)

我相信这些是要遵循的说明:

Oracle 12 自动内存管理

简而言之,要启用自动内存管理,请设置 memory_target 和(可选)memory_max_target。前一个参数应该是一个动态值,后者是一个更难的限制,只能在停止/启动数据库时更改。

我将这些设置为 sysdba:

SQL> alter system set memory_target = 4G scope = spfile;

System altered.

SQL> alter system set memory_max_target = 8G scope = spfile;

System altered.
Run Code Online (Sandbox Code Playgroud)

并检查值

SQL> show parameter target;
Run Code Online (Sandbox Code Playgroud)

范围可以只是当前正常运行时间的“内存”、“spfile”或“两者”;我选择 spfile,因为我将重新启动:

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
Run Code Online (Sandbox Code Playgroud)

然而,这太简单了:

ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 13104M
Run Code Online (Sandbox Code Playgroud)

恢复并不难,但在我看来,如何通过内存调整也不是很明显,所以我将在下面发布我所做的事情,高级海报可以纠正/粉碎我。无论哪种情况,我都认为将它放在一个地方很好。

memory configuration oracle-12c

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

configuration ×1

memory ×1

oracle-12c ×1