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.重新启动数据库实例