WINDOWS下的程序员出身,偶尔也写一些linux平台下小程序, 后转行数据库行业,专注于ORACLE和DB2的运维和优化。 同时也是ios移动开发者。欢迎志同道合的朋友一起研究技术。 数据库技术交流群:58308065,23618606
全部博文(599)
分类: Oracle
2011-10-23 08:49:02
在用RMAN备份文件到NFS文件系统,可能会遇到ORA-27054。
出现这个错误时遇到了ORACLE BUG 5146667
Bug 5146667: ORA-27054 ERRORS WHEN RUNNING RMAN WITH NFS |
具体可以参考metalink DOC ID:5146667
在metalink DOC ID:424785.1 ,ORACLE给出了以下3种解决方法:
Workarounds:
- Use the event 10298 (It can have a side effect of disabling direct IO on RAC using regular files on NFS mounts)
Reference : ORA-27054 ERRORS WHEN RUNNING RMAN WITH NFS
OR
Apply patch for
OR
- Set the mount options explictly.
Here are the mount options that need to be used for nfs volumes on Linux.
Use :
rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,vers=3,timeo=600,actimeo=0
default rsize and wsize for NFS is 4096 Blocks
so if you have rsize=32k and wsize=32k then NFS would be able to read and write large datagram as
compared to deafult one
TCP option will make sure that your client are getting the data or not
Hard & INTR - The program accessing a file on a NFS mounted file system will hang when the
server crashes. The process cannot be interrupted or killed unless you also specify intr. When
the NFS server is back online the program will continue undisturbed from where it was.
actimeo is for access timeout and it should be 0
经测试在10.2.0.4版本的数据库中,备份没有出现问题。
[root@dbserver orabackup]# cd
[root@dbserver ~]# mount -t nfs 192.168.0.200:/backup/DB201 /orabackup
[root@dbserver ~]# df
Filesystem 1K-块 已用 可用 已用% 挂载点
/dev/sda2 319711948 140090712 163380728 47% /
/dev/sda1 194442 11852 172551 7% /boot
none 1035100 0 1035100 0% /dev/shm
/dev/sda5 689024052 539803912 114219728 83% /u01
/dev/sda6 139201136 94296 132035832 1% /archivedlog
192.168.0.200:/backup/DB201
324688704 157129536 150799744 52% /orabackup
[root@dbserver ~]# chown oracle:oinstall /orabackup
[root@dbserver ~]# su - oracle
[oracle@dbserver ~]$ rman target /
Recovery Manager: Release 10.2.0.4.0 - Production on 03 09:01:54 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: DBSERVER (DBID=4224881462)
RMAN> run{
2> allocate channel ch1 device type disk;
3> backup tablespace tmptbs format '/orabackup/%U.bak';
4> }
allocated channel: ch1
channel ch1: sid=1102 devtype=DISK
Starting backup at 2011-10-23 09:04:16
channel ch1: starting full datafile backupset
channel ch1: specifying datafile(s) in backupset
input datafile fno=00028 name=/u01/oradata/dbserver/tmptbs01.dbf
channel ch1: starting piece 1 at 2011-10-23 09:04:16
channel ch1: finished piece 1 at 2011-10-23 09:06:01
piece handle=/orabackup/6mmpqd8g_1_1.bak tag=TAG20111023T090416 comment=NONE
channel ch1: backup set complete, elapsed time: 00:01:45
Finished backup at 2011-10-23 09:06:01
Starting Control File and SPFILE Autobackup at 2011-10-23 09:06:02
piece handle=/oraflashback/DBSERVER/autobackup/2011_10_23/o1_mf_s_765277562_7b6t3vd4_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2011-10-23 09:06:05
released channel: ch1
RMAN> quit
Recovery Manager complete.
[oracle@dbserver ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on 03 09:12:36 2011
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from v$version
2 ;
BANNER
--------------------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production