ORA-00371: not enough shared pool memory, should be atleast string bytes

文档解释

ORA-00371: not enough shared pool memory, should be atleast string bytes

Cause: Init.ora parameter shared_pool_size is too small

Action: Increase the parameter value

这是Oracle数据库中常见的错误,提示共享池中存储的隐私不足,应按需求增加大小。

官方解释

ORA-00371错误表明数据库实例的共享池内存不足以满足Oracle的需要。没有足够的内存能够建立Redo Threads结构、bind variables等,从而维护数据库的正常运行。

常见案例

1.用户在运行复杂的SQL查询时,会出现ORA-00371错误。

2.用户在执行需要大量共享池内存的任务时(例如,创建监控服务),会出现ORA-00371错误。

3.当共享池设置不当时,也会出现ORA-00371错误。

正常处理方法及步骤

1.查看共享池内存使用情况:

SELECT * FROM v$sgastat WHERE NAME = ‘free memory’

2.增加共享池内存的大小:

SQL> alter system set shared_pool_size=nG/mM

其中,n是要设置的尺寸(单位为GB),m是要设置的百分比(如果希望按百分比设置)。

3.使用dbms_shared_pool package清理共享池:

EXECUTE dbms_shared_pool.purge(‘string’,8);

4.重新启动数据库实例

你可能感兴趣的