增加ORACLE归档位置到NFS(转)

http://blog.sina.com.cn/s/blog_77cc503101013bfh.html

NFS文件服务器系统搭建

1什么是NFS
NFS(network file system),网络文件系统,不同的操作系统可以通过NFS来共享文件,可以简单地将之看成是一个文件服务器。可以将远端的主机分享目录挂载到本地的目录下,使用的时候就像本地的目录一样,只要权限足够,可以直接在目录中创建文件并使用mv,cp,,rm等命令直接对之进行管理。用起来相当的方便。
2 NFS的原理
NFS使用TCP/IP协议进行通讯。所以肯定需要port端口进行通讯。这个端口是从1—1024中随机取得的端口。因为NFS的功能很多,需要分配很多的端口,客户端通过RPC来找到这个端口并进行通讯。NFS每次启动的时候都要向RPC进行注册才行。而RPC服务重启后,所有的端口信息都会丢失,所以如果RPC重启,则NFS SERVICE也必需重新启动重新向RPC服务注册。这样客户端才能知道该使用哪个端口通讯。客户端连接NFS服务器的步骤。
1用户向服务器端的RPC(port 111)提出访问请求
2服务器端查询NFS damon端口地址,提供给client端。
3 client通过port和server端进行通讯。
3 NFS的后台进程
      NFS主要用来做文件的分享。最主要有两个后台进程,一个接受连接,一个提供服务。
rpc.nfsd校验登入权限。
rpc.mount管理文件系统。读设定文件/etc/exports,确定权限。
rpc.lockd 这个进程不是必需的。用途加锁管理。避免并发问题。如果多个会话同时存取一个文件,可能会有并发问题。为了解决这个问题。增加了这个进程,注意必需客户端和服务器端同时启动才行。通常与rpc.statd同时启用。
Rpc.statd,校验文件一致性的进程。通常与ntplockd同时启动
 
4权限问题:
NFS共享目录的权限是通过UID,GID来判断的。比方在服务器端共享目录的属主为503,503。如果共享目录的权限比较小,而如果客户端没有503,503的用户。用gid,uid为501的用户登入的时候,就既不能读,也不能写。。所以通常情况下都会将共享目录设置成777的权限。
当登入用户为root 0:0的时候,映射到服务端如果也是0:0就会有安全上的隐患。NFS默认将uid,0,gid0当成nobody来处理,
当登入的用户对应的uid,gid在服务端存在的时候,在该目录中的权限和服务端对应用户相同。
当登入的用户不存在的时候。创建的uid,gid为用户的uid,gid,服务端看到的文件有uid,gid,但是没有用户名。其读取的权限和nobody相同。
总之,只要client登入用户的uid和gid和服务器端的不对应,就会造成困扰。这也是NFS文件系统权限管理上的一个很容易引起混乱的问题。要有合适的读写权限。需要
/etc/export中的合理设置。以及登入者的对应用户在共享目录的权限足够才行。
5配置NFS服务
前面说配置NFS需要RPC服务的启动。在linux系统上RPC对应的服务名是portmap.所以首先需要启动portmap服务。而且如果portmap服务重启,NFS服务就会变得不可用,必须重新启动。
service portmap restart;
service nfs restart;
NFS的配置文件是/etc/exports.格式是
共享目录,主机ip(权限关键字)可用主机名带通配符的主机名(权限)。
一个例子
[root@vdx2 rmanbak]# more /etc/exports
/home/oracle/aa 10.10.100.14(rw,nohide,no_subtree_check)
()内的语法可以通过man exports来查看,在此不做详述。
与权限有关的有rw表示允许读写共享,ro表示只读共享。
配置完/etc/exports以后,只要重新启动NFS,服务器端的配置就完成了。
另外需要注意,只要修改了/etc/exports文件,NFS都要重新启动。
为了避免NFS SERVER重启后服务未启动,使用setup工具把portmap, nfs,
nfslock配置为自动启动。
为ORACLE配置NFS服务客户端
1挂载选项
  如果仅仅只是做简单的拷贝动作,只要直接mount就OK了。但是如果想让ORACLE直接访问NFS目录,除了权限设置正确外,mount必需加上-o选项。否则ORACLE无法直接读写,会给出mount选项不对的错误。
  根据ORACLE,metalink Doc ID:359515.1,不同平台不同情况下的mount选项是不同的,如下是ORACLE提供的对照表。针对二进制文件(ORACLE_HOME,CRS_HOME),数据文件(包括控制文件和日志文件,数据文件),OCR和VOTING DISK的不同情况可以在如下表中查询。
注意linux内核版本需要>=2.6
RAC情况下。
Operating System
Mount options for Binaries
Mount options for Oracle Datafiles
Mount options for CRS Voting Disk and OCR
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,suid
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,suid
rw,bg,vers=3,proto=tcp,noac,
forcedirectio,hard,nointr,timeo=600
,rsize=32768,wsize=32768,suid
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,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,vers=3,
timeo=600,noac
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
根据BUG 5856342,在RAC使用网络存储设备,操作系统为linux X86或者X86_64, oracle版本低于10.2.0.4的情况下,必需设置初始化参数
filesystemio_options = DIRECTIO
 
在单实例(single-Instance)情况下的对照表
Operating System
Mount options for Binaries
Mount options for Oracle Datafiles
Sun Solaris *
(8, 9, 10)
rw,bg,hard,rsize=32768,
wsize=32768,vers=3,nointr,
proto=tcp,suid
rw,bg,hard,rsize=32768,
wsize=32768,vers=3,[forcedirectio or llock],
nointr,proto=tcp,suid
AIX (5L) **
 rw,bg,hard,rsize=32768,
wsize=32768,vers=3,intr,
timeo=600,proto=tcp
rw,bg,hard,rsize=32768,
wsize=32768,vers=3,cio,intr,
timeo=600,proto=tcp
HPUX 11.23 ****
rw,bg,hard,rsize=32768,
wsize=32768,vers=3,nointr,
timeo=600,proto=tcp,suid
rw,bg,hard,rsize=32768,
wsize=32768,vers=3,nointr,
timeo=600,proto=tcp,suid
Linux x86
#
rw,bg,hard,rsize=32768,
wsize=32768,vers=3,nointr,
timeo=600,tcp
rw,bg,hard,rsize=32768,
wsize=32768,vers=3,nointr,
timeo=600,tcp,actime=0*
Linux x86-64 #
rw,bg,hard,rsize=32768,
wsize=32768,vers=3,nointr,
timeo=600,tcp
rw,bg,hard,rsize=32768,
wsize=32768,vers=3,nointr,
timeo=600,tcp,actime=0*
Linux–Itanium
rw,bg,hard,rsize=32768,
wsize=32768,vers=3,nointr,
timeo=600,tcp
rw,bg,hard,rsize=32768,
wsize=32768,vers=3,nointr,
timeo=600,tcp
其中acime=0*,*代表也可以使用noac
我们的操作系统为linux X86.所以可以root帐号执行以下语句来挂载
Shell> mount –t nfs –orw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp 10.10.100.14:/home/oracle/aa /14dir;
2必需启动的服务
注意:ORACLE直接归档到nfs的时候必需启动nfslocked 服务,这个服务通常与rfs.statd同时启动。在server和client都需要,否则归档时会出现如下的错误。
ORA-19504: failed to create file "/u03/245dir/1_8665_567259761.dbf"
ORA-27086: unable to lock file - already in use
Linux Error: 37: No locks available
Additional information: 10
3修改归档位置
  直接修改归档参数就可以了
  ALTER SYSTEM SET LOG_ARCHIVE_DEST_2=’LOCATION=/14dir’;
后续处理
1修改/ETC/fstab文件实现自动挂载
 为了避免系统重启需手动挂载NFS,可修改/etc/fstab文件来实现自动挂载。
 使用root来编辑,加入一行
10.10.100.14:/home/oracle/aa /14dir nfs    rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,vers=3,timeo=600,actimeo=0 0 0
2将必需的服务设定为自动启动
  客户端需要设置portmap,nfslock自动启动。可以用setup工具来实现。
 服务端配置portmap,nfs,nfslock自动启动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值