一、在AIX下挂载NFS后,手动运行rman备份脚本
报错信息如下:
RMAN-03009: failure of backup command on ch1 channel at
05/05/2014 19:07:05
ORA-19504: failed to create file
"/sapbackup/orabak/rman_bak/bak_20140505_7fp7hu6o_1_1"
ORA-27054: NFS file system where the file is created or
resides is not mounted with correct options
Additional information: 6
然后检查目录权限,发现有读写和可执行的权限,并且尝试在目录里面新建和删除文件操作,均未发现异常。
二、查询oracle官方资料,说可能是一个早期的bug
如是根据官方给的提示进行操作:
vim /etc/filesystems
#添加如下内容:
/sapbackup/orabak:
dev = /volume1/sap_db
vfs = nfs
nodename = 10.203.20.67
mount =
true
options =
rw,bg,hard,rsize=32768,wsize=32768,vers=3,cio,intr,timeo=600,proto=tcp
account = false
官方参考资料:
mount -o hard,bg,proto=tcp,suid,rsize=32768,wsize=32768,noac
10.203.20.67:/volume1/sap_db /sapbackup/orabak
直接使用umount /sapbackup/orabak,提示“umount:
device is busy”,如是使用下面的命令进行卸载操作(Linux下通常是使用fuser -km
/mnt/cdrom 查询当前使用的进程,并kill掉)
AIX下umount命令:
fuser -kxuc
/sapbackup/orabak
umount
/sapbackup/orabak #如果卸载但提示设备正被使用的话,可以使用umount -f参数
mount -v nfs -o
rw,bg,hard,rsize=32768,wsize=32768,vers=3,cio,intr,timeo=600,proto=tcp
10.203.20.67:/volume1/sap_db /orabak
# startsrc -g nfs
# nfso -a | grep nfs_use_reserved_ports
# nfso -o nfs_use_reserved_ports=1
# mount -v nfs -o
rw,bg,hard,rsize=32768,wsize=32768,vers=3,cio,intr,timeo=600,proto=tcp
10.203.20.67:/volume1/sap_db /orabak
# mount 10.203.10.157:/SAP /nfs
# df -g
三、尝试使用下面的备份脚本:
# cat sapprd_bak.sh
rman nocatalog target / <
run{
configure retention policy to recovery window of 31
days;
allocate channel ch1 device type disk;
crosscheck backup;
crosscheck archivelog all;
sql 'alter system archive log current';
backup database format
"/sapbackup/orabak/rman_bak/bak_%T_%U";
sql 'alter system archive log current';
backup archivelog all format
'/sapbackup/orabak/rman_bak/arch_bak_%T_%U' delete all input;
backup current controlfile format
'/sapbackup/orabak/rman_bak/con_bak_%T_%U';
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt obsolete;
delete noprompt backup of database completed before 'sysdate -
31';
release channel ch1;
}
exit
EOF
测试备份成功!