增加ORACLE归档到NFS

增加ORACLE 归档位置到NFS

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 用户向服务器端的RPCport 111)提出访问请求

2 服务器端查询NFS damon端口地址,提供给client端。

3 client通过portserver端进行通讯。

3 NFS的后台进程

       NFS主要用来做文件的分享。最主要有两个后台进程,一个接受连接,一个提供服务。

rpc.nfsd 校验登入权限。

rpc.mount 管理文件系统。读设定文件/etc/exports,确定权限。

rpc.lockd  这个进程不是必需的。用途加锁管理。避免并发问题。如果多个会话同时存取一个文件,可能会有并发问题。为了解决这个问题。增加了这个进程,注意必需客户端和服务器端同时启动才行。通常与rpc.statd同时启用。

Rpc.statd,校验文件一致性的进程。通常与ntplockd同时启动

 

4 权限问题

NFS共享目录的权限是通过UID,GID来判断的。 比方在服务器端共享目录的属主为503503。如果共享目录的权限比较小,而如果客户端没有503,503的用户。用gid,uid501的用户登入的时候,就既不能读,也不能写。。所以通常情况下都会将共享目录设置成777的权限。

当登入用户为root 0:0的时候,映射到服务端如果也是00就会有安全上的隐患。NFS默认将uid,0,gid0当成nobody来处理,

当登入的用户对应的uid,gid在服务端存在的时候,在该目录中的权限和服务端对应用户相同。

当登入的用户不存在的时候。创建的uid,gid为用户的uid,gid,服务端看到的文件有uid,gid,但是没有用户名。其读取的权限和nobody相同。

总之,只要client登入用户的uidgid和服务器端的不对应,就会造成困扰。这也是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),数据文件(包括控制文件和日志文件,数据文件)OCRVOTING 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 –o rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp 10.10.100.14/home/oracle/aa /14dir;

2必需启动的服务

注意:ORACLE直接归档到nfs的时候必需启动ntplocked 服务,这个服务通常与rfs.statd同时启动。在serverclient都需要,否则归档时会出现如下的错误。

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,ntplock自动启动。可以用setup工具来实现。

  服务端配置portmap,nfs,ntplock自动启动。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10522540/viewspace-661561/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10522540/viewspace-661561/

你可能感兴趣的:(数据库)