文档解释
ORA-00379: no free buffers available in buffer pool string for block size stringK
Cause: All buffers in the specified buffer pool for the specified block size are in use and no free buffers are available.
Action: Increase the number of buffers in the specified pool for the specified block size
ORA-00379 错误消息指示 Oracle 无法满足缓冲池在申请缓冲时的要求,因为没有空闲缓冲。
这可能是由于缓冲池太小又或记录出现循环依赖(dependency cycles)、并行应用程序导致空间暂时紧张导致。数据库中可能有很多应用程序或来自多个用户的多次操作,而操作等待它们可以被分配到缓存,这样就无法被完成。
官方解释
ORA-00379错误消息发生,当缓冲池没有空闲块,以满足申请。检查指定的缓冲池,并且可能扩大初始化参数 BUFFER_POOL_SIZE 并重新初始化缓冲池。
常见案例
ORA-00379错误通常发生在缓冲池或指定的块大小空闲缓冲溢出后, Oracle 无法从空闲缓存中做任何新的缓存映射。这可以由于块大小太小或缓存池过小而导致。
正常处理方法及步骤
在处理 ORA-00379 错误的时候,可以采取以下步骤来解决:
1. 检查指定的缓冲池;
2. 检查系统中的来宾用户;
3. 检查缓冲池和如果检测到的分区关系中的记录;
4. 检查空闲缓冲池;
5. 如果可能,增加初始化参数 BUFFER_POOL_SIZE 并重新初始化缓冲池。