AIX环境dd迁移控制文件出现ORA-202和ORA-27047错误

客户尝试利用dd来迁移裸设备上的控制文件,结果出现了这个错误。
利用dd命令将控制文件从旧存储的裸设备迁移到新存储上,命令如下:

dd IF=/dev/oldcontrol OF=/dev/newcontrol bs=2048k

然后尝试启动数据库,在MOUNT时报错:

SQL> startup nomount
ORACLE instance started.
Total System Global Area 1.5032E+10 bytes
Fixed SIZE 2046960 bytes
Variable SIZE 2483029008 bytes
DATABASE Buffers 1.2533E+10 bytes
Redo Buffers 14729216 bytes
SQL> ALTER DATABASE mount;
ALTER DATABASE mount
*
ERROR at line 1:
ORA-00205: error IN identifying control file, CHECK alert log FOR more info

检查告警日志,发现错误信息为:

ORA-00202: control file: '/dev/newcontrol' 
ORA-27047: unable TO READ the header block OF file 
Additional information: 2 
ORA-205 signalled during: ALTER DATABASE MOUNT...

查询了metalink,并没有发现和当前问题完全一致的问题,但是怀疑问题可能和AIX系统裸设备的偏移量有关。不过当前操作系统的版本并没有变化,仅仅是存储的改变,按道理来说不应该导致裸设备的偏移量不一致。
为了规避这个问题,不使用dd来进行控制文件的迁移,而改为使用rman来拷贝控制文件,问题得以解决。

This entry was posted in BUG and tagged , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *