AnyBackup-Oracle RAC 数据库展开数据源失败,提示:获取表空间失败、ORA-00204、ORA-00202、ORA-15081错误
关键字
获取表空间失败、ORA-00204、ORA-00202、ORA-15081
适用产品
- AnyBackup 6.0.x
- 超易备 5.0.x
问题描述
在使用 AnyBackup 管理控制台创建 Oracle RAC 数据库定时备份任务时,展开数据源失败,显示如下错误信息:
获取表空间失败。(错误提供者:RACBackup,错误值:e051c001,错误位置:ncRACDataSource.cpp:119)(附加信息:ORA-00604: error occurred at recursive SQL level 1 ORA-01115: IO error reading block from file (block # ) ORA-01110: data file 1: '+DATA/eisoo/datafile/system.256.1034940163' ORA-15081: failed to submit an I/O operation to a disk ORA-00204: error in reading (block 1, # blocks 1) of control file ORA-00202: control file: '+DATA/eisoo/controlfile/current.260.1034940237' ORA-15081: failed to submit an I/O operation to a disk (错误提供者:,错误值:604,错误位置:ncOciSession.cpp:226))


问题影响
Oracle RAC 数据库无法创建备份任务进行数据备份。
问题原因
Oracle 服务器操作系统 root 用户未在 ASM 磁盘的属组内,导致 root 用户无权访问 ASM 磁盘。AnyBackup 客户端进程的运行用户为 root 用户,导致 AnyBackup 客户端进程无法访问 ASM 磁盘,从而无法展开数据源。
解决方案
为了解决该问题,需要将 Oracle 服务器操作系统 root 用户添加到 ASM 磁盘所属的属组内。具体步骤如下:
1. 使用 SSH 工具以 root 用户登录 Oracle 服务器;
2. 使用 ls 命令查看 ASM 磁盘的属组,如下:
ls -l /dev/asm*

注意:其中,/dev/asm* 为 ASM 磁盘所在路径,具体视实际情况而定。示例中 ASM 磁盘属组为 asmdba。

注意:其中,/dev/asm* 为 ASM 磁盘所在路径,具体视实际情况而定。示例中 ASM 磁盘属组为 asmdba。
3. 将 root 用户添加到 ASM 磁盘所属的属组内,命令如下:
usermod -a -G asmdba root
4. 重新以 root 用户登录 Oracle 服务器,重启 AnyBackup 客户端服务,以 Linux 5/6系列为例,命令如下:
/etc/init.d/AnyBackupClient restart
5. 重新展开 Oracle 数据库数据源。
更多信息
Oracle ASM 是 Oracle Automatic Storage Management 的简称,是 Oracle 公司针对 Oracle 数据库提供的一种文件系统。了解更多关于 Oracle ASM 的信息,请参考 Oracle 官方文档:Automatic Storage Management Administrator's Guide。