1 相关案例
1 df -h无法正常显示文件系统挂载情况,使用如下命令进行处理
umount -f /nfsdir
2 节点启动出现问题
询问是否包含nfs服务,将分享节点nfs服务重启。
1 案例1从linux -linux
实施脚本如下:
mkdir
-p
/data
chown
-R nfsnobody:nfsnobody
/data
chmod 777 /data
vi /etc/exports
/data/nfs
192.168.86.131(rw)
/data/nfs
192.168.1.0
/24
(rw)
/data/nfs
192.168.1.0
/24
(rw) 192.168.86.131(rw,
sync
)
service rpcbind start
service nfs start
showmount -e 10.2xxxx
exportfs
mount
-t nfs 192.168.1.2:
/data /data
取消nfs配置
vi /etc/exports
删除信息,重启nfs和rpmbind服务即可。
其中共享对象可以用通配符,比如 * 代表所有地址。
配置参数:
rw: 读写
ro :只读
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:是大数据时使用,是先写到缓存区,必要时再写到磁盘里。
all_squash:所有访问用户都映射为匿名用户或用户组;
no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;
root_squash(默认):将来访的root用户映射为匿名用户或用户组;
no_root_squash:来访的root用户保持root帐号权限;
wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率;
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree_check :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
no_subtree_check(默认):即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
cat /var/lib/nfs/etab
[root@localhost ~]# chkconfig rpcbind
on
[root@localhost ~]# chkconfig nfs
on
mount
-t nfs 192.168.1.2:
/data /data
数据库进行rman备份:
[oracle@gzrac01 data]$ rman target /
Recovery Manager: Release 19.0.0.0.0 - Production on Tue Nov 12 16:10:15 2019
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
connected to target database: MONIDB (DBID=686937938)
RMAN> backup datafile 1 format '/data/11.dbf';
Starting backup at 2019:11:12 16:10:31
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=2960 instance=monidb1 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=+DATA01/monidb/system01.dbf
channel ORA_DISK_1: starting piece 1 at 2019:11:12 16:10:32
channel ORA_DISK_1: finished piece 1 at 2019:11:12 16:10:57
piece handle=/data/11.dbf tag=TAG20191112T161031 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:25
Finished backup at 2019:11:12 16:10:57Starting Control File and SPFILE Autobackup at 2019:11:12 16:10:57
piece handle=/u01/app/oracle/product/19.3/db_1/dbs/c-686937938-20191112-00 comment=NONE
Finished Control File and SPFILE Autobackup at 2019:11:12 16:10:58
2 挂载nfs目录 SOLARIS-SOLARIS
share –F nfs –o rw /backup 24.117
mount –F nfs 10.228.24.117:/backup /backup<适合 solariS>
mount -F nfs -o rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,noac,vers=3 10.228.242.13:/orabak /oraback
ORA-27054: NFS file system where the file is created or resides is not mounted with correct options
Additional information: 6
Recovery Manager complete.
二. 问题分析
首先目录的访问权限没有问题,尝试在db_node1上的/archivelog/orcl2 目录上建立,修改文件都没有问题,说明nfs设置没有问题.
在METALINK上搜索ora-27054 nfs,找到了一篇文章 ORA-27054 ERRORS WHEN RUNNING RMAN WITH NFS [ID 387700.1]
该 文档中提及造成问题的原因可能是oracle去考虑nfs的问题. 总之需要执行命令。
Alter system set events '10298 trace name context forever,level 32';
三. 问题解决
在执行rman备份的节点执行:
SQL>Alter system set events '10298 trace name context forever,level 32';
执行这个命令,不需要重新启动rac的实例,也不需要重新启动DB.但上面的命令在下次数据库重新启动后就失效了,需要再次手工执行。(笔者曾经在数据库重新启动后,忘记了执行这个语句,导致日志文件目录差点爆满)。
如果想数据库重新启动后,自动执行这个命令,则执行下面的命令:
SQL>alter system set event='10298 trace name context forever,level 32' SCOPE=SPFILE;
细心的朋友会发现上面提到的两个命令还是有一点小小区别的。
执行完命令后,再次执行rman的备份,正常。
加入/etc/filesystems
/arch2:
dev = /arch2
vfs = nfs
nodename = 10.228.242.25
mount = false
options = rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,vers=3,timeo=600
account = false