必威体育Betway必威体育官网
当前位置:首页 > IT技术

Oracle 11gR2 DNFS功能测试

时间:2019-08-27 08:10:00来源:IT技术作者:seo实验室小编阅读:79次「手机版」
 

dnfs



oracle 11.2.0.3 的dnfs与之前版本的dnfs配置还是有很多区别的,在测试后,整理下面的测试过程来说明oracle 11.2.0.3中的dnfs配置过程。

环境:

centos 6.5

Oracle 11.2.0.3

说明:

Oracle 11.2.0.3中的DNFS,是在操作系统的nfs目录挂载正常后,在nfs client端上按照一定步骤启用oracle的DNFS,从而提高nfs性能。

所以整个测试过程也分为两个阶段,第一个阶段是操作系统上的nfs配置和挂载,需要在nfs的server端和client端分别操作,该阶段与oracle数据库无关;

第二个阶段,只需要在nfs的client端进行,主要配置oracle文件,替换lib,在oracle中确认状态;

整个测试过程中都以oracle用户为命令操作用户,如果需要root权限,则使用sudo方式;

nfs Server端: IP为10.0.1.100;Hostname为enmoedu2.example.com ;nfs目录为/vol/oradata

nfs Client端: IP为10.0.1.200;Hostname为enmoedu1.example.com ;nfs挂载目录为/u01/nfs

阶段一:启用nfs服务

NFS服务端:

1.确认nfs和portmap服务状态:

sudo /etc/init.d/nfs status

sudo /etc/rc.d/init.d/portmap status

如果没有启动,使用下面的命令启用:

sudo /etc/init.d/nfs start

sudo /etc/rc.d/init.d/portmap start

2.配置nfs导出文件:

$ cat /etc/exports 

/vol/oradata *(rw,sync,no_wdelay,insecure,insecure_locks,no_root_squash)

注:参数设置内容说明:

第一部分为本地要导出的文件路径,在本例中,就是将/vol/oradata目录作为nfs共享出去;

第二部分指定可以连接的主机,可以指定nfs客户端IP地址,如果为*号,就说明所有的客户端都可以连接改nfs共享;

第三部分小括号内的参数,对nfs共享目录的权限等进行了说明,如可以读写,加密,锁定等设置;

3.导出文件确认:

whereis exportfs

sudo /usr/sbin/exportfs

sudo /usr/sbin/exportfs -rv

建立一个测试文件:

touch /vol/ordata/1.txt

echo "123"  > /vol/oradata/1.txt

确认挂载状态:

$ sudo /usr/sbin/showmount -e

Export list for enmoedu2:

/vol/oradata *

如果客户端挂载了nfs目录,可以看到下面的结果:

$ sudo /usr/sbin/showmount -a

All mount points on enmoedu2:

192.0.2.11:/vol/oradata

NFS客户端:

1.确认portmap服务状态,

只有portmap服务启动时,客户端才能挂载NFS共享目录:

sudo /etc/rc.d/init.d/portmap status 

如果服务没有启动,使用下面的命令启动:

sudo /etc/rc.d/init.d/portmap start

2.客户端服务启动后,创建挂载点并挂载nfs目录:

cd /u01/

mkdir nfs

mount 192.0.0.2:/vol/oradata /u01/nfs

3.确认共享文件内容:

cat /u01/nfs/1.txt

如果再nfs客户端能够正常挂载nfs目录,并看到里面的内容与server端一致,则说明操作系统的nfs目录挂载正常。

阶段二:在NFS客户端设置并使用DNFS

Oracle DNFS是在操作系统NFS挂载正常的情况下,在客户端设置挂载命令,并对相应的oracle数据库lib进行替换,绕过操作系统的NFS驱动,使用oracle的DNFS驱动。

配置DNFS有几点需要注意:

DNFS的配置全部在NFS客户端进行,NFS服务端不需要进行任何操作;

DNFS的配置步骤,先编写oranfstab文件,然后替换lib对象,启动DNFS,如果客户端数据库是open状态,替换后需要重启生效;

DNFS配置完毕后,没有使用时,在v$dnfs_servers视图中查询不到,只有客户端使用这个目录,创建了文件后,才会显示nfs服务端信息;

NFS Client端启用DNFS步骤:

1.使用oracle用户编辑$ORACLE_HOME/dbs/oranfstab文件,内容如下

$ cd $ORACLE_HOME/dbs

$ cat oranfstab 

server: enmoedu2.example.com

path:192.0.2.12

export: /vol/oradata mount: /u01/nfs

注:参数设置内容说明:

server为NFS服务的名称,一般填写服务端的主机名;

path是NFS服务器的名称,一般填写服务端的IP地址;

export是nfs服务器导出的路径;mount是nfs本地挂载的路径;

2.替换相关lib,启用DNFS

启用DNFS的步骤:

$ cd $ORACLE_HOME/rdbms/lib

$ make -f ins_rdbms.mk dnfs_on

rm -f /u01/APP/oracle/product/11.2.0/db_1/lib/libodm11.so; cp /u01/app/oracle/product/11.2.0/db_1/lib/libnfsodm11.so /u01/app/oracle/product/11.2.0/db_1/lib/libodm11.so

注:该步骤与之前版本有有不同,11.2.0.3将操作封装成了上面的命令,之前版本是用这样的方式:

修改libodm11.so库文件的链接对象

$cd $ORACLE_HOME/lib

$mv libodm11.so libodm11.so.bak

$ln -s libnfsodm11.so libodm11.so

3.重启数据库,确认DNFS生效状态

如果nfs客户端数据库已经启动,则重启oracle数据库:

sqlplus / as sysdba

shutdown immediate

startup

启动后,查询nfs服务视图的内容:

SQL> select * from v$dnfs_servers;

no rows selected

结果发现服务视图内容为空,这并不是说,DNFS配置失败,即使配置成功,client并没有使用DNFS,也不会显示服务端信息;

在nfs的客户端数据库上,创建一个使用DNFS的表空间

SQL> create tablespace dnfs datafile '/u01/nfs/dnfs01.dbf' size 20m;

Tablespace created.

此时再次查看nfs服务视图内容:

SQL>  select * from v$dnfs_servers;

ID SVRNAME                   dirname                 MNTPORT    NFSPORT      WTMAX      RTMAX

---------- ------------------------- -------------------- ---------- ---------- ---------- ----------

1 enmoedu2.example.com      /vol/oradata                657       2049      32768      32768

可以看到,已经有了相关nfs服务器信息,上述在DNFS上创建表空的过程,在alert日志中记录为:

Tue May 19 15:36:19 2015

create tablespace dnfs datafile '/u01/nfs/dnfs01.dbf' size 20m

Tue May 19 15:36:19 2015

Starting background process SMCO

Tue May 19 15:36:19 2015

SMCO started with pid=24, OS id=1360

Tue May 19 15:36:20 2015

Direct NFS: channel id [0] path [192.0.2.12] to filer [enmoedu2.example.com] via local [] is UP

Direct NFS: channel id [1] path [192.0.2.12] to filer [enmoedu2.example.com] via local [] is UP

ERRORs in file /u01/app/oracle/diag/rdbms/prod1/PROD1/trace/PROD1_ora_13539.trc:

ORA-27041: unable to open file

linux Error: 2: No such file or directory

Additional information: 44

Additional information: 1432096244

Completed: create tablespace dnfs datafile '/u01/nfs/dnfs01.dbf' size 20m

日志中显示了DNFS的使用过程。

最后在NFS服务端上,查看DNFS的端口信息为:

[oracle@enmoedu2 dbs]$ sudo netstat -an |grep 2049

tcp        0      0 0.0.0.0:2049                0.0.0.0:*                   LISTEN      

tcp        0      0 192.0.2.12:2049             192.0.2.11:26409            ESTABLISHED 

tcp        0      0 192.0.2.12:2049             192.0.2.11:59448            ESTABLISHED 

tcp        0      0 192.0.2.12:2049             192.0.2.11:45394            ESTABLISHED 

tcp        0      0 192.0.2.12:2049             192.0.2.11:1009             ESTABLISHED 

udp        0      0 0.0.0.0:2049                0.0.0.0:*                               

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读