`

Oracle 11g Direct NFS(原创)

 
阅读更多

Direct NFS Client
NAS storage devices use the Network File System (NFS) to access data. In Oracle Database 10g, NAS devices were accessed using operating system–specific kernel NFS drivers. This required that you tune many parameters, and the configuration varied across the platforms. The NFS clients tended to be inconsistent across the different operating system platforms. Manageability wasn’t easy because you had to contend with over 20 configuration parameters.
In Oracle Database 11g, the Oracle NFS implements the NFS Version 3 protocol in the Oracle RDBMS kernel. Implementing the Oracle Direct NFS offers the following benefits:
Avoids the bottlenecks and resource constraints by avoiding the kernel NFS layer.
Provides a common NFS interface for Oracle for use on all operating system platforms and supported NFS servers.
Provides load balancing across multiple connections to the NFS servers, thus improving performance.
Performance is predictable because the Oracle NFS implementation enables you to completely control the input/output path to the Network File Servers.
Easier management including simpler configuration and superior diagnosability.
Configuring Direct NFS
You don’t have to configure much to implement Oracle Direct NFS Client. Direct NFS searches for the mount point entries in the following order:
$ORCLE_HOME/dbs/oranfstab
/etc/orafnstab
/etc/mtab
The database uses the first match as the mount point. Oracle always requires that even when you use Direct NFS, the kernel NFS system must perform the mounting. For this reason, Oracle will always crosscheck the information about mount points in the oranfstab file with the operating system NFS mount points. If there’s a mismatch, Direct NFS can’t act as a client to the NFS server and stops serving the NFS server.
Enabling Direct NFS
You must follow these steps to enable Direct NFS:
1.You must mount all NFS mount points with your kernel NFS client. You must make sure you mount any file systems you plan on using through ODM NFS and make the file systems available to Oracle over regular NFS mounts.
2.If you want to specify Oracle-specific options to Direct NFS, you’ll need an oranfstab file. This is an optional step. The oranfstab file must have the following attributes so the database can access all NFS servers through Direct NFS:
server: Provides the NFS server name.
mount: Provides the local mount point for the NFS server.
export: Provides the exported path from the NFS server.
path: Provides the network path to the NFS server. You can specify up to four network paths with an IP address or by name. Using multiple network paths enables the Direct NFS client to use an alternate path if the current path fails. Multiple paths also enable the client to perform load balancing.
Mnt_timeout: Specifies (in seconds) the time Direct NFS Client should wait for a successful mount before timing out. This parameter is optional. The default timeout is 10 minutes (600).
Dontroute: Specifies that outgoing messages should not be routed by the operating system, but instead sent using the IP address to which they are bound. Note that this POSIX option sometimes does not work on Linux systems with multiple paths in the same subnet.
A typical oranfstab file looks similar to the following:
server: TestServer1
path: 130.33.34.11
export: /vol/oradata1
mount: /mnt/oradata1
In order to remove an NFS path that the database is using currently, you must restart the database.
3. You must replace the standard ODM library, libnfsodm10.so, with the ODM NFS library, as shown here:
$ cd $ORACLE_HOME/lib
$ mv libodmll.so libodmll.so_stub
$ ln -s libnfsodm11.so libodm11.so
You can disable the Direct NFS client by using any of the following three methods.
Delete the oranfstab file.
Replace the ODM NFS library with the stub libodm11.so file.
Modify the oranfstab file by deleting the specific NFS server or the network paths to the NFS server.
If the database can’t open the NFS server using Direct NFS, it will use the operating system kernel client instead.
Monitoring Direct NFS
You can query the following views in order to manage Direct NFS:
V$DNFS_STATS Shows performance statistics for Direct NFS.
V$DNFS_SERVERS Shows servers accessed by Direct NFS.
V$DNFS_FILES Shows files currently using Direct NFS.
V$DNFS_CHANNELS Shows the open network paths being used by Direct NFS.

Example

NFS SERVER 10.10.10.22
NFS CLIENT 10.10.10.12

1、nfs server需要启动的服务:

#service portmap start
Starting portmap: [  OK  ]
#service nfs start
Starting NFS services:  OK  ]
Starting NFS quotas: [  OK  ]
Starting NFS daemon: [  OK  ]
Starting NFS mountd: [  OK  ]
Starting RPC idmapd: [  OK  ]

2、nfs client需要启动的服务

#service portmap start
Starting portmap: [  OK  ]


3、在NFS SERVICE端配置NFS

   root用户编辑文件/etc/exports内容如下:

/u01/nfs 10.10.10.12(rw,no_root_squash,insecure)   --必须为此权限

检查配置结果:
[root@db11g-em10g nfs]# exportfs
/u01/nfs        10.10.10.12
[root@db11g-em10g nfs]# exportfs -rv
exporting 10.10.10.12:/u01/nfs

4、在NFS Client端root用户挂载NFS文件系统
[root@db11g oracle]# mount 10.10.10.22:/u01/nfs /oracle/nfs


5、配置NFS CLIENT数据库支持Direct NFS

   oracle用户编辑$ORACLE_HOME/dbs/oranfstab文件,内容如下
[oracle@db11g ~]$ cat $ORACLE_HOME/dbs/oranfstab
server:db11g-em10g
path:10.10.10.22
export:/u01/nfs mount:/oracle/nfs

   修改libodm11.so库文件的链接对象
$cd $ORACLE_HOME/lib
$mv libodm11.so libodm11.so.bak
$ln -s libnfsodm11.so libodm11.so

数据库启动的告警日志中有如下信息:

Oracle instance running with ODM: Oracle Direct NFS ODM Library Version 2.0

 

6、在NFS Client端创建表空间测试:

SQL> select * from v$dnfs_servers

        ID SVRNAME         DIRNAME                 MNTPORT    NFSPORT      WTMAX      RTMAX
---------- --------------- -------------------- ---------- ---------- ---------- ----------
         6 db11g-em10g  /u01/nfs                    718       2049                  0


SQL> create tablespace dnfs datafile '/oracle/nfs/dnfs01.dbf' size 2M;
SQL> select * from v$dnfs_files

FILENAME                                   FILESIZE       PNUM     SVR_ID
---------------------------------------- ---------- ---------- ----------
/oracle/nfs/dnfs01.dbf                      2105344                  5

7、检查NFS SERVER端口的链接情况:
[root@db11g-em10g nfs]# netstat -an |grep 2049
tcp            0 0.0.0.0:2049                0.0.0.0:*                   LISTEN     
tcp            0 10.10.10.22:2049            10.10.10.12:23052           ESTABLISHED
tcp            0 10.10.10.22:2049            10.10.10.12:728             ESTABLISHED
tcp            0 10.10.10.22:2049            10.10.10.12:56522           ESTABLISHED
udp            0 0.0.0.0:2049                0.0.0.0:*                              


发现的问题:
1、NFS CLient端必须要启动portmap服务,否者在client端mount nfs文件出错:
[root@db11g oracle]# mount 10.10.10.22:/u01/nfs /oracle/nfs
mount.nfs: Input/output error
[root@db11g oracle]# service portmap start
Starting portmap: [  OK  ]
[root@db11g oracle]# mount 10.10.10.22:/u01/nfs /oracle/nfs


2、NFS SERVER端的配置文件/etc/exports使用默认的内容:
[root@db11g-em10g nfs]# cat /etc/exports
/u01/nfs 10.10.10.12(rw,sync,no_root_squash)
那么在Client端创建表空间时候出现如下的错误:
[oracle@db11g dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.1.0.7.0 - Production on Sat Dec 22 15:33:19 2012

Copyright (c) 1982, 2008, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
With the Partitioning and Real Application Testing options

SQL> create tablespace nfsdemo datafile '/oracle/nfs/nfsdemo01.dbf' size 2M;
create tablespace nfsdemo datafile '/oracle/nfs/nfsdemo01.dbf' size 2M
*
ERROR at line 1:
ORA-01119: error in creating database file '/oracle/nfs/nfsdemo01.dbf'
ORA-27086: unable to lock file - already in use
Linux Error: 37: No locks available
Additional information: 10

告警日志提示如下错误:
Sat Dec 22 15:38:18 2012
ORA-1119 signalled during: create tablespace dnfs datafile '/oracle/nfs/dnfs01.dbf' size 2M...
Sat Dec 22 15:46:52 2012
create tablespace dnfs datafile '/oracle/nfs/dnfs01.dbf' size 2M
Direct NFS: NFS3ERR 1 Not owner. path db11g-em10g mntport 718 nfsport 2049

 

参考至: 《McGraw.Hill.OCP.Oracle.Database.11g.New.Features.for.Administrators.Exam.Guide.Apr.2008》           
http://docs.oracle.com/cd/E11882_01/install.112/e41961/storage.htm#CWLIN279
http://blog.sina.com.cn/s/blog_70bb81860101bs90.html

本文原创,转载请注明出处、作者

如有错误,欢迎指正

邮箱:czmcj@163.com

0
0
分享到:
评论

相关推荐

    使用NFS作为ASM磁盘组搭建RAC.docx

    该集群基于Linux 7操作系统,并启用了Direct NFS(DNFS)功能。 NFS配置步骤 在开始搭建RAC集群之前,需要先配置NFS服务器。步骤如下: 1. 在NFS服务器上创建目录,并授权给oracle用户。 2. 在客户端机器上挂载...

    在Linux上用NFS安装Oracle RAC二

    在Linux上使用NFS安装Oracle Real Application Clusters (RAC)是一个复杂但至关重要的过程,因为RAC提供了高可用性和可扩展性,使得数据库服务在多台服务器之间共享和负载均衡。以下是对这个主题的详细解释: 1. **...

    Oracle9i到12c的数据库架构图

    另外,11g推出了Fine-Grained Auditing (FGA)以增强安全审计,还有Direct NFS (dNFS)优化了Linux平台上的I/O性能。 最后,Oracle12c(Cloud Edition)是Oracle针对云环境设计的版本,强调了容器化和多租户架构。它...

    Hailey_Delphix_NFS_Tuning.pdf

    对于Oracle数据库而言,非RAC(Real Application Clusters)和非dNFS(Direct NFS)环境下,NFS挂载选项的设定非常重要。Kyle Hailey强调了NFS Mount选项对于提升Oracle性能的作用,例如: 1. 选择合适的文件系统...

    oracle ocp 考试 053 排序题库 答案

    在Oracle 11g的故障诊断基础设施中,122题涉及问题和事故的概念。其中,A选项错误,因为ADR(Automatic Diagnostic Repository)不仅存储事故元数据和转储,还存储其他诊断信息。B选项也是错误的,因为问题键并不...

    基于FlexPod的Oracle解决方案介绍.pdf

    - **Direct NFS连接**:NetApp与Oracle合作的Direct NFS解决方案,为NFS协议用户提供与光纤通道(FC)相同的性能,降低了数据库主机开销。 **存储灵活性**:在数据库环境中,存储对性能至关重要。FlexPod的存储设计...

    Oracle+19c+RAC+on+Linux+7.6超强安装手册

    - Direct NFS:配置直接NFS访问。 - Oracle Member Cluster:配置集群节点作为Oracle成员。 - 手工配置ASM磁盘,UDEV:通过udev规则配置自动设备管理。 7. gridSetup.sh: - gridSetup.sh:执行grid软件的安装...

    Oracle 19c RAC on Linux安装手册

    关闭X11转发,配置Direct NFS和Oracle Member Cluster是必要的。 ### 知识点七:ASM磁盘的手工配置 对于ASM(Automatic Storage Management)磁盘的手工配置,需要通过UDEV规则设置,确保ASM可以识别和管理磁盘。...

    Calibrate_IO.zip_indeed6gn_oracle_oracle dba

    此外,文档可能还会涉及Oracle的I/O子系统,如Direct NFS (dNFS) 和 ASM (Automatic Storage Management),以及如何针对这些子系统进行调优。ASM能够自动管理和优化存储,而dNFS则为Oracle数据库提供了对网络存储的...

    Oracle Database SecureFiles and Large Objects Developer's Guide

    Oracle数据库SecureFiles和Large Objects(LOBs)开发者指南11g Release 2(11.2)E18294-04是Oracle公司为开发人员提供的一份详细文档,旨在帮助他们充分利用Oracle数据库在处理大量数据和复杂对象时的功能。...

    libaio-devel

    在Oracle数据库的上下文中,libaIO主要用于实现Direct NFS (dNFS) 和 Direct I/O。dNFS允许Oracle直接与网络文件系统通信,绕过传统的Unix NFS客户端,减少了I/O路径中的层次,从而提升性能。而Direct I/O则使得...

    libaio-devel-0.3.105-2.i386.rpm.zip

    Oracle数据库使用Direct NFS (dNFS) 或 Direct Path I/O (DPI) 技术,这些技术依赖于libaio来实现数据文件的快速读写。因此,"libaio-devel-0.3.105-2.i386.rpm" 这个包是为了解决32位Linux系统上Oracle数据库的异步...

    libaio-devel-0.3.105-2.x86_64.rpm

    在安装Oracle数据库时,libaio-devel是必需的,因为Oracle数据库的某些功能,如Direct NFS (DNFS) 和 ASM (Automatic Storage Management),都需要libaio的支持来实现高效的I/O操作。 安装libaio-devel-0.3.105-2....

    Veeam Backup数据管理方案白皮书.docx

    11. Direct Storage Access:通过 Direct SAN Access 和 Direct NFS Access 更快速实施 vSphere 备份,同时降低影响。 12. 原生磁带支持增强功能:利用多个磁带支持选项,包括直接恢复至磁带、并行处理、全局介质池...

    HCNA-Storage (H13-611)题库 v4.pdf

    16. 直连存储(DAS,Direct-Attached Storage)的特点包括有限的主机端口连接数、存储系统维护时可能需要下电以及在存储空间紧张时难以扩展。 通过以上知识点,我们可以对华为HCNA-Storage(H13-611)认证的相关...

    华为存储认证HCIA Storage (H13-611)题库 v4.0

    ### 11. RTO 优化策略 **RTO (Recovery Time Objective)** 是指灾难恢复时希望达到的恢复时间目标。为了实现最短的 RTO,通常会选择 **远程复制** 的策略,因为它能够在发生灾难时快速恢复数据。 ### 12. Thick ...

    java7帮助文档

    see Sun PKCS#11 Provider's Supported Algorithms in Java PKCS#11 Reference Guide. Weak cryptographic algorithms can now be disabled; see Appendix D: Disabling Cryptographic Algorithms in Java PKI ...

    WEB工程师个人简历表.doc

    - 使用Direct Show技术开发实物展台与屏幕录播功能。 - 将电子教材嵌入电子白板中。 - 开发DRM数字版权保护技术。 - 运用ACE VC++/C#/Flex/WCF进行文件同步。 2. **2009.7-2010.7 在某电子科技有限公司担任测试...

Global site tag (gtag.js) - Google Analytics