1. 程式人生 > >使用rman備份到掛載的NFS目錄,提示ORA-19504-27054報錯

使用rman備份到掛載的NFS目錄,提示ORA-19504-27054報錯

使用rman備份到掛載的nfs目錄提示

方案一:

一、在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 / <<EOF

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

測試備份成功!




-----------------------------------------------------------------------------------------------------------------------------------

方案二:

生產系統需要導出數據到一個NFS目錄下報錯

bash-3.00$ expdp \'/ as sysdba\' directory=bak_data_pump_dir schemas=epm_ha dumpfile=epm_ha.dmp logfile=epm_ha.log

Export: Release 10.2.0.4.0 - 64bit Production on Friday, 21 May, 2010 16:09:25

Copyright (c) 2003, 2007, Oracle. All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
ORA-39001: invalid argument value
ORA-39000: bad dump file specification
ORA-31641: unable to create dump file "/epmhis/DATA_PUMP_EPMHA1/epm_ha.dmp"
ORA-27054: NFS file system where the file is created or resides is not mounted with correct options
Additional information: 2


網上搜索資料,解決方法包括設置事件10298 level 32,alter system set event='10298 trace name context forever, level 32' scope = spfile;打補丁:5146667,或者在mount的時候設置參數:rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,vers=3,timeo=600,actimeo=0。在solaris系統上tcp參數不可用。

由於是生產系統,盡量采用不停數據庫來解決,重新mount。

1 umount目錄

umount /epmhis

2 mount目錄加一些參數

mount -F nfs -o rw,hard,nointr,noac,vers=3,rsize=32768,wsize=32768 IP地址:/epmhis /20100521

3 重新expdp導出文件到NFS目錄

Export: Release 10.2.0.4.0 - 64bit Production on Friday, 21 May, 2010 16:41:37

Copyright (c) 2003, 2007, Oracle. All rights reserved.
;;;
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
FLASHBACK automatically enabled to preserve database integrity.
Starting "SYS"."SYS_EXPORT_SCHEMA_15": '/******** AS SYSDBA' directory=bak_data_pump_dir schemas=epm_ha dumpfile=epm_ha.dmp logfile=epm_ha.log
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 355.2 GB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/SYNONYM/SYNONYM
Processing object type SCHEMA_EXPORT/DB_LINK
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/SEQUENCE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Master table "SYS"."SYS_EXPORT_SCHEMA_15" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.SYS_EXPORT_SCHEMA_15 is:
/epmhis/DATA_PUMP_EPMHA1/epm_ha.dmp
Job "SYS"."SYS_EXPORT_SCHEMA_15" successfully completed at 17:56:28

沒有報錯,問題解決。


使用rman備份到掛載的NFS目錄,提示ORA-19504-27054報錯