/ 中存储网

dd命令迁移oracle 控制文件遇到ORA-00205错误的解决方法

2014-12-28 10:20:23 来源:中存储网

本人在做oracle实验的时候,尝试利用dd来迁移裸设备上的控制文件,结果出现了ORA-00205错误。

利用dd命令将控制文件从旧存储的裸设备迁移到新存储上,命令如下:

dd if=/dev/oldcontrol f=/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来拷贝控制文件,ORA-00205问题得以解决。