3

我正在运行 oracle 的服务器出现内存不足错误。任何人都知道我是否/如何限制 oracle 将使用的全局内存资源?

我有 SGA_TARGET_MAX = 500M 和 150 的会话/进程限制,但我们的最大并发会话数没有达到 50 以上。

4

2 回答 2

4

您没有说明您的机器实际有多少内存(以及是否所有这些内存都可用于 Oracle 实例)。Oracle 使用两种类型的内存。第一个是共享内存(SGA),第二个是进程内存(PGA)。SGA 通常更容易控制。

在 SQL*Plus 中,尝试 SHOW SGA。看看是否符合你的目标。还可以尝试 SHOW PARAMETER PGA 然后查询 v$process 并将进程的总 PGA 与目标进行比较。您可能将 PGA_AGGREGATE_TARGET/SGA_MAX_SIZE 总数设置得太高。或者,Oracle 可能无法将 PGA 内存保持在目标范围内(例如,由于会话在 PL/SQL 数组中存储了大量信息)。

于 2008-12-22T23:24:02.670 回答
0

尝试使用配置文件并设置 SESSIONS_PER_USER 限制

于 2008-12-22T22:33:56.983 回答