Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1278797
  • 博文数量: 1211
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 14340
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-09 11:20
文章分类

全部博文(1211)

文章存档

2011年(1)

2008年(1210)

我的朋友

分类: 服务器与存储

2008-06-14 13:34:34

今天给客户做文件系统数据文件转移到裸设备上的操作,用RMAN来完成,本来很简单的事情,但是却意外地碰到了下面的错误。

  在alertlog中也有相同的ORA-600报错,检查了RMAN要备份的数据文件权限,检查了RMAN备份目的地的目录权限,检查了数据库启动之后RMAN备份之前的alertlog,没有发现任何异常,怪哉。

  Metalink上相关的文章有:Note:262997.1 和 Bug No. 2181764。

  只是简单地描述这是一个只有在AIX平台上才会碰到的问题,是因为RMAN在备份过程中查询X$KRBAFF表(KRB is Kernel Backup/Restore, AFF is disk and node AFFinity)引起的,解决方法是使用diskratio=0来进行备份,也就是backup命令要改为: 

backup format 'path' database diskratio=0;

  diskratio参数很少用到,它指定的是RMAN从多少块磁盘上读取数据文件,默认值跟FILESPERSET参数相同,如果不指定FILESPERSET参数那么该参数值是4,但是RMAN仍然会考虑真正参与备份的磁盘数,如果小于4那么就选择较小的那个数。

  更进一步地在内部站点上查一下资料可以看到跟源码中的skgfdlndv()函数有关。

  只有raw devices才有affinity info,而这次的备份牵涉到的文件全部都是文件系统,如果对于文件系统调用了ioctl检查affinity info那么就会出现OER(27041)的报错。

  问题是解决了,但是仍然有疑问。

  是什么操作系统级别的设定(比如内核参数)或者级别的设定(比如PV或者VG的参数)导致必须要指定diskratio=0才能RMAN备份成功?

阅读(522) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~