关键字:rac ocfs2 ORA-39083 ORA-01115 impdp
前一阵子,帮别人解决了一个问题,就是建立好ocfs2文件系统后,使用impdp导入大量数据出错,报告如下:
ORA-39083: Object type INDEX failed to create with error:
ORA-01115: IO error reading block from file 24 (block # 29334)
ORA-01110: data file 24: '/data/orcl/XXX.dbf'
ORA-27091: unable to queue I/O
ORA-27072: File I/O error
google找到如下链接:
http://oss.oracle.com/projects/ocfs2/dist/documentation/ocfs2_faq.html
http://bbs.loveunix.net/viewthread.php?tid=70357&extra=page%3D6
从第二个连接看似乎已经导入完成,但是问题也是在建立索引的时候存在问题,在仔细看第1个连接的文档,发现存在如下内容:
ORACLE RAC
# Any special flags to run Oracle RAC?
OCFS2 volumes containing the Voting diskfile (CRS), Cluster registry (OCR), Data files, Redo logs, Archive logs and Control files must be mounted with the datavolume and nointr mount options. The datavolume option ensures that the Oracle processes opens these files with the o_direct flag. The nointr option ensures that the ios are not interrupted by signals.
# mount -o datavolume,nointr -t ocfs2 /dev/sda1 /u01/db
# What about the volume containing Oracle home?
Oracle home volume should be mounted normally, that is, without the datavolume and nointr mount options. These mount options are only relevant for Oracle files listed above.
# mount -t ocfs2 /dev/sdb1 /software/orahome
Also as OCFS2 does not currently support shared writeable mmap, the health check (GIMH) file $ORACLE_HOME/dbs/hc_ORACLESID.dat and the ASM file $ASM_HOME/dbs/ab_ORACLESID.dat should be symlinked to local filesystem. We expect to support shared writeable mmap in the OCFS2 1.4 release.
修改/etc/fstat参数,加入nointr后,在使用impdp导入正常:
/dev/sdb1 /xxx ocfs2 _netdev,datavolume,nointr 0 0
补充说明一点,就是按照第一个链接,建立ocfs2
mkfs.ocfs2 -b 4K -C 256K -N 4 -L /oradata /dev/sdb1
测试问题一样,在加入nointr参数后正常。