欢迎访问机房运维工作室

爱数知识库

AnyBackup-Linux 环境下 Oracle 数据库备份失败,执行输出显示错误信息:申请读_写通道失败,原因:当前系统内存不足,无法满足通道使用内存。

频道:爱数知识库 日期: 浏览:22

AnyBackup-Linux 环境下 Oracle 数据库备份失败,执行输出显示错误信息:申请读/写通道失败,原因:当前系统内存不足,无法满足通道使用内存。

关键字

系统内存、通道使用总内存

适用产品

  • AnyBackup 7.0.10 - 7.0.12

问题描述

在 AnyBackup 管理控制台上,新建 Oracle 单机数据库备份任务,任务执行失败,执行输出中提示如下错误信息:

申请读/写通道失败,原因:当前系统内存不足,无法满足通道使用内存。

问题影响

AnyBackup 无法完成 Oracle 数据库的备份。

问题原因

在进行 Oracle 数据库备份时,为了防止内存资源耗尽,会先对通道使用总内存和系统剩余内存做对比,若系统剩余内存小于通道使用总内存,则会导致上述错误。

解决方案

针对上述问题,有下面两种方案解决,请根据实际情况选择。
方案一,增加系统内存,使剩余内存大于通道使用总内存,具体步骤如下:

1.SSH 登录数据库服务器,执行以下命令,确认当前系统内存剩余大小。

free -m
下图示例中表示系统剩余内存为 523MB。

2.登录 AnyBackup 管理控制台,选择该任务,点击详情,查看配置的通道数,确认当前通道使用总内存大小。


注意:通道使用总内存=(数据文件通道数和日志文件通道数较大的一个+1)*128MB,此处即 640 MB。

3.物理上增加系统内存,使得系统剩余内存大于通道使用总内存。

4.在 AnyBackup 管理控制台重新发起备份任务。

方案二,减小通道使用总内存,使其小于系统剩余内存,步骤如下:

1.SSH 登录数据库服务器,执行以下命令,确认当前系统内存剩余大小。

free -m
下图示例中表示系统剩余内存为 523MB。

2.登录 AnyBackup 管理控制台,选择该任务,点击详情,查看配置的通道数,确认当前通道使用总内存大小。


注意:通道使用总内存=(数据文件通道数和日志文件通道数较大的一个+1)*128MB,此处即 640 MB。

3.编辑任务,通过减小通道数来减小通道使用总内存,使得通道使用总内存小于系统剩余内存。

4.在 AnyBackup 管理控制台重新发起备份任务。

更多信息

关于更多通道数配置说明,请参考 Oracle 定时备份恢复最佳实践第七章