文档解释
ORA-02398: exceeded procedure space usage
Cause: Stored procedured used up too much space in SYSTEM Tablespace
Action: Use less stored procedure
ORA-02398 表示 has exceeded procedure space usage 程序空间使用量超过了最大限制。
官方解释
ORA-02398 由于在临时表空间中使用的PL/SQL代码太多,而且超过了允许的程序空间的上限,导致的一个异常错误。
一般情况:
当在当前会话中已经执行了太多的 PL/SQL 代码,或者在当前会话中存在大量大小不同的 PL/SQL 块,超过了 agent 程序中允许的最大限制,就会引发 ORA-02398 错误。
正常处理方法及步骤
1. 确定错误的原因:是否真的是超出了最大的程序空间限制引起的,而不是另外的什么因素引发的。
2. 请求增加 PGA_AGGREGATE_TARGET 的大小。在单个会话中,受 ORA-02398 的影响最多,因此增加 PGA_AGGREGATE_TARGET 的大小,可以有效解决此问题。
3. 将 PL/SQL 代码的复杂度降低到最低,减少对临时表空间的使用量。
4. 重新设计过去的 PL/SQL 代码,改变条件语句,减少用到的变量。
5. 分割和管理 PL/SQL 代码段,分批处理,而不是把它们全部一次加载到内存空间中。