暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

009 #Oracle# Oracle文件部署在NFS磁盘导致的ORA-19504问题研究

拾遗补 2021-04-16
2216

一、说在前面

    上周接到恢复需求,在恢复服务器上例行使用RMAN恢复备份,Restore阶段发生报错,查看Alert日志,报错号如下:ORA-19870,ORA-19504,ORA-27054。


二、处理过程

    服务器为恢复专用服务器,由于恢复数据量过大,恢复服务器使用NFS磁盘作为恢复盘的容量扩充,正常恢复多次了。存放在本机磁盘的文件恢复正常。排除RMAN备份集问题。


      分析报错信息看到Fail Create,第一反应是磁盘权限出现问题,查看目录权限755,属主属组正确,再次级联修改恢复目录权限755,重新发起,报错依旧。看来并不是权限问题。


      通过对比发现Restore时间比同期还原时间变长,尝试于NFS上touch文件,果然速度很慢,与网络同事沟通发现网络并无异常。


    与主机同事了解最近恢复服务器变动情况,发现恢复目录挂载的NFS磁盘于两周前进行过缩容处理,磁盘重新挂载过,详细询问只是使用mount命令挂载,未添加任何参数,遂怀疑挂载参数出现问题。


     依稀记得NFS挂载选项有很多,查询MOS文档,发现Oracle文件使用NFS存放有大学问。


     文档Mount Options for Oracle files for RAC databases and Clusterware when used with NFS on NAS devices (Doc ID 359515.1)中列举了Oracle于不同平台存放不同文件情况的具体挂载参数。


    更有意思的是在更早版本的文档中,Oracle还附带了非RAC单实例的参数表,但是在最新版的里面删除掉了,Non-RAC单实例与RAC单实例仅在挂载参数intr,nointr有区别。RAC单实例中使用参数nointr,表示不允许用户中断,怀疑是为grid用户后台操作。


     恢复服务器文件系统为AIX 7.1,Oracle版本为11.2.0.3单实例,决定使用较早版本的参数进行挂载。

   rw,bg,hard,rsize=32768,wsize=32768,vers=3,cio,intr,timeo=600,proto=tcp   

    命令如下:


    挂载成功后,重启开启作业,恢复成功。


三、问题复盘

      由于Mount默认即为硬挂载,所以创建失败应该不是软挂载命令挂起导致。

      Doc ID 359515.1中指出,用于RMAN的NFS盘挂载时需要指定NOCA用以提升性能,怀疑因为这个参数导致。


       以下为此参数描述。

       AC/NOAC,设置是缓存文件属性。为了提高性能,NFS客户端缓存文件属性(默认AC),然后每隔一段时间去检查文件属性后更新。在缓存有效期内,客户端不检测服务器上文件属性是否改变。默认为AC。

       当服务器上共享文件的属性频繁地被多个客户端改变时,建议使用NOAC选项,或者使用AC并配合使用较小的acregmin/acregmax/acdirmin/acdirmax设置,这样就能获得较好的属性一致性。当服务器上共享文件的属性不会被频繁改变时,例如文件共享为只读,或者网络性能较好,建议使用默认的AC选项,然后根据实际的网络状况来调整acregmin/acregmax/acdirmin/acdirmax设置。


        文档内说明部分如下:



四、关于NFS相关参数

      由于文档参数表中涉及大量Mount参数,查询后将频次较高的参数具体含义列在下面:

1. rw/ro

rw 以读写方式安装文件系统(也必须要以相同的方式来导出),ro 以只读方式安装文件系统。

2. bg/fg
bg在执行mount时如果无法顺利mount上时,系统会将mount的操作转移到后台并继续尝试mount,直到mount成功为止。(通常在设定/etc/fstab文件时都应该使用bg,以避免可能的mount不上而影响启动速度)

fg 和bg正好相反,是默认的参数。

3. hard/soft

hard NFS CLIENT会不断的尝试与SERVER的连接(在后台,不会给出任何提示信息,在LINUX下有的版本仍然会给出一些提示),直到MOUNT上。

soft会在前台尝试与SERVER的连接,是默认的连接方式。当收到错误信息后终止mount尝试,并给出相关信息。

对于到底是使用hard还是soft的问题,这主要取决于你访问什么信息有关。例如你是想通过NFS来运行X PROGRAM的话,你绝对不会希望由于一些意外的情况(如网络速度一下子变的很慢,插拔了一下网卡插头等)而使系统输出大量的错误信息,如果此时你用的是HARD方式的话,系统就会等待,直到能够重新与NFS SERVER建立连接传输信息。另外如果是非关键数据的话也可以使用SOFT方式,如FTP数据等,这样在远程机器暂时连接不上或关闭时就不会挂起你的会话过程。

4. intr/nointr

intr 允许用户中断被阻塞的操作(并且让它们返回一条出错消息),nointr 不允许用户中断。

5. rsize 、wsize

rsize=n 设置读缓冲的大小为n字节。对TCP和UDP安装都适用,但最优值不一样(32K较好)。
wsize=n 设置写缓冲的大小为n字节。对TCP和UDP安装都适。

6.timeo

timeo=n 设置超时时间,当数据传输遇到问题时,会根据这个参数尝试进行重新传输。默认值是7/10妙(0.7秒)。如果网络连接不是很稳定的话就要加大这个数值,并且推荐使用HARD MOUNT方式,同时最好也加上INTR参数,这样你就可以终止任何挂起的文件访问。

7.actime

actimeo=n 将acregmin、acregmax、acdirmin、acdirmax设定为同一个数值,默认是没有启用。

8.noac

noac 关闭cache机制。

9.retrans

retrans=n 指定在以软方式安装的文件系统上,在返回一条出错消息之前重复发出请求的次数。


五、关于Mount相关参数    

Mount Options for Oracle files for RAC databases and Clusterware when used with NFS on NAS devices (Doc ID 359515.1)

RAC including RAC one and single instance RAC

Operating System

Mount options for Binaries ##

Mount options for Oracle Datafiles

The NFS storage for asm diskgroup (not quorum disks) that does not have 
the OCR and voting disk must also use this mount options

Mount options for CRS Voting Disk and OCR

(12.1 and lower)
In 12.2, both OCR and voting disks must reside in ASM.
Refer to Document 2201844.1
The NFS storage for asm diskgroup (not quorum disks) that has the OCR and voting disk must also use this mount options

Sun Solaris

*

rw,bg,hard,

nointr,

rsize=32768,

wsize=32768,

proto=tcp,

noac,

vers=3,

suid

rw,bg,hard,

nointr,

rsize=32768,

wsize=32768,

proto=tcp,

noac,

forcedirectio, 

vers=3

rw,bg,hard,

nointr,

rsize=32768,

wsize=32768,

proto=tcp,

vers=3,

noac,

forcedirectio

AIX (5L)

**

rw,bg,hard,

nointr,

rsize=32768,

wsize=32768,

proto=tcp,

vers=3,

timeo=600

cio,rw,bg,hard,

nointr,

rsize=32768,

wsize=32768,

proto=tcp,

noac,

vers=3,

timeo=600

cio,rw,bg,hard,

intr,

rsize=32768,

wsize=32768,

tcp,

noac,

vers=3,

timeo=600

HPUX 11.23

***  --

rw,bg,

vers=3,

proto=tcp,

noac,

hard,nointr,

timeo=600,

rsize=32768,

wsize=32768,

suid

rw,bg,

vers=3,

proto=tcp,

noac,

forcedirectio,

hard,nointr,

timeo=600,

rsize=32768,

wsize=32768

rw,bg,

vers=3,

proto=tcp,

noac,

forcedirectio,

hard,nointr,

timeo=600,

rsize=32768,

wsize=32768

Windows
(Used NFS if needed. Refer to 
Document 1468114.1
Not SupportedNot Supported
Not Supported
Linux x86
#
****

rw,bg,hard,

nointr,

rsize=32768,

wsize=32768,

tcp, 

vers=3,

timeo=600,

actimeo=0

rw,bg,hard,

nointr,

rsize=32768,

wsize=32768,

tcp,

actimeo=0,

vers=3,

timeo=600

rw,bg,hard,

nointr,

rsize=32768,

wsize=32768,

tcp,noac,

actimeo=0,

vers=3,

timeo=600

Linux x86-64

#

****

rw,bg,hard,

nointr,

rsize=32768,

wsize=32768,

tcp,

vers=3,

timeo=600,

actimeo=0

rw,bg,hard,

nointr,

rsize=32768,

wsize=32768,

tcp,

actimeo=0,

vers=3,

timeo=600

rw,bg,hard,

nointr,

rsize=32768,

wsize=32768,

tcp,

noac,

vers=3,

timeo=600,

actimeo=0

Linux - Itanium

rw,bg,hard,

nointr,

rsize=32768,

wsize=32768,

tcp,

vers=3,

timeo=600,

actimeo=0


rw,bg,hard,

nointr,

rsize=32768,

wsize=32768,

tcp,

actimeo=0,

vers=3,

timeo=600


rw,bg,hard,

nointr,

rsize=32768,

wsize=32768,

tcp,

noac,

vers=3,

timeo=600,

actimeo=0

* NFS mount option “forcedirectio” is required on Solaris platforms when mounting the OCR/CRS files when using Oracle 10.1.0.4 or 10.2.0.2 or later (Oracle unpublished bug 4466428) 
** AIX is only supported with NAS on AIX 5.3 TL04 and higher with Oracle 10.2.0.1 and later
*** NAS devices are only supported with HPUX 11.23 or higher ONLY

# These mount options are for Linux kernels 2.6 and above. For older kernels please check Note 279393.1

## The stated mount options for binaries are applicable only if the ORACLE HOME is shared.


七、文档参考


1. 文档 ID 359515.1(2014版):

https://blog.csdn.net/itdba/article/details/38356477


2. Mount Options for Oracle files for RAC databases and Clusterware when used with NFS on NAS devices (Doc ID 359515.1)(2021年4月版)

http://ke.sandata.com.cn/page/269


3. Linux/NetApp: RHEL/SUSE Setup Recommendations for NetApp Filer Storage (Doc ID 279393.1)(2021年4月版)

http://ke.sandata.com.cn/page/270


4. NFS挂载常用参数

https://bbs.huaweicloud.com/blogs/114222






文章转载自拾遗补,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论