NFS相信应该都很熟悉了,但是我们对它的性能一直有所诟病。Oracle在10g版本通过允许对数据库文件直接IO引入ASM。在11g版本中,Oracle对NFS提供了类似的增强,为了改进NFS的性能,开创了DNFS(Direct Network File System)的数据库世界,也就是说经过简单设置之后,就能直接利用其他NAS存储设备了。利用这个新特性,Oracle数据库核心自动进行所用调整处理,简单来说就是Oracle自己内部实现了一套NFS Client的机制而不是操作系统NFS Client去和NFS Server打交道了。DBA和SA不再需要熟悉与NFS相关的参数调整。

使用这个特性大致步骤如下:

nfs Server端: IP为192.168.211.129;Hostname为tserver.oracle.com ; nfs目录为/u02/nfsserver
nfs Client端:  IP为192.168.211.128;Hostname为test.oracle.com ;      nfs目录为/u02/nfsdata

1.配置server端,挂载client (这一步和平时的挂载nfs没有区别)
配置nfs服务端:
[oracle@tserver bin]$ sudo mkdir -p /u02/nfsserver
[oracle@tserver bin]$ sudo chown oracle:oinstall /u02/nfsserver
[oracle@tserver bin]$ /usr/sbin/exportfs -v
[oracle@tserver bin]$ sudo vi /etc/exports
[oracle@tserver bin]$ cat /etc/exports
/u02/nfsserver *(rw,sync)
[oracle@tserver bin]$ /etc/init.d/nfs stop
[oracle@tserver bin]$ sudo /etc/init.d/nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
[oracle@tserver bin]$
[oracle@tserver bin]$ sudo /usr/sbin/exportfs -v
/u02/nfsserver <world>(rw,wdelay,root_squash,no_subtree_check,anonuid=65534,anongid=65534)

挂载nfs client
[oracle@test bin]$ sudo mkdir -p /u02/nfsdata
[oracle@test bin]$ sudo chown oracle:oinstall /u02/nfsdata
[oracle@test agent]$ sudo mount -t nfs even.oracle.com:/u02/nfsserver /u02/nfsdata
Password:
[oracle@test agent]$
[oracle@test agent]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
55G 19G 33G 37% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 1.3G 537M 732M 43% /dev/shm
even.oracle.com:/u02/nfsserver
55G 27G 25G 53% /u02/nfsdata

2.替换内核的odm(做这一步应该要小心,如果odm替换错误的话,连sqlplus都无法使用)
[oracle@test lib]$ pwd
/u01/app/oracle/product/11.1/db_1/lib
[oracle@test lib]$ mv libodm11.so libodm11.so.bak
[oracle@test lib]$ ln -s libnfsodm11.so libodm11.so
[oracle@test lib]$ ls -lrt | grep odm
-rw-r--r-- 1 oracle oinstall 8905 Sep 10 2008 libodmd11.so
-rw-r--r-- 1 oracle oinstall 44730 Sep 10 2008 libnfsodm11.so
lrwxrwxrwx 1 oracle oinstall 12 Feb 15 14:17 libodm11.so.bak -> libodmd11.so
lrwxrwxrwx 1 oracle oinstall 14 Feb 17 14:37 libodm11.so -> libnfsodm11.so

替换完成之后要重启数据库方能生效,在启动时alert日志中会有如下的提示:
Oracle instance running with ODM: Oracle Direct NFS ODM Library Version 2.0

3.创建表空间并查看
SQL> create tablespace nfs_tbs datafile'/u02/nfsdata/nfstbs001.dbf' size 10M ;

Tablespace created.

SQL> select * from v$dnfs_servers;

ID SVRNAME DIRNAME MNTPORT NFSPORT WTMAX RTMAX
---------- --------------- -------------------- ---------- ---------- ---------- ----------
7 even.oracle.com /u02/nfsserver 924 2049 0 0

4.Oracle是如何知道哪个目录挂载了NFS

按照优先级有3个目录:

$ORACLE_HOME/dbs/oranfstab

/etc/oranfstab

/etc/mtab

oranfstab文件不是实现DNFS必需的(对于RAC来说是必需的,必需在所有的RAC节点上同步oranfstab)。它是一个列出专门针对Oracle数据库DNFS额外选项的特殊文件,大致有如下几个属性:

Server:NFS服务器名

Path: NFS服务器的IP地址,最多可以用4个不同的网卡地址

export: NFS服务端的nfs路径

mount:NFS client端挂载的路径

参考:Step by Step - Configure Direct NFS Client (DNFS) on Linux [ID 762374.1]

11g新特性-使用DNFS的更多相关文章

  1. 11g新特性与12c新特性

    1. 11g新特性概图 管理新特性> 开发新特性> 2. 12c 新特性概图

  2. 11g新特性-自动sql调优(Automatic SQL Tuning)

    11g新特性-自动sql调优(Automatic SQL Tuning) 在Oracle 10g中,引进了自动sql调优特性.此外,ADDM也会监控捕获高负载的sql语句. 在Oracle 11g中, ...

  3. 使用Oracle 11g新特性 Active Database Duplication 搭建Dataguard环境

    Duplication Database 介绍 Duplicate database可以按照用途分为2种: duplicate database(复制出一个数据库) duplicate standby ...

  4. Oracle 11g 新特性 --SQL Plan Management 说明

    Oracle 11g 新特性 --SQL Plan Management 说明 参见大神博主文章: http://blog.csdn.net/tianlesoftware/article/detail ...

  5. Oracle 11g 新特性 – HM(Hang Manager)简介

    在这篇文章中我们会对oracle 11g 新特性—hang 管理器(Hang Manager) 进行介绍.我们需要说明,HM 只在RAC 数据库中存在. 在我们诊断数据库问题的时候,经常会遇到一些数据 ...

  6. 11G 新特性之 密码延迟认证

    11G 新特性之 密码延迟认证 11G 新特性之 密码延迟认证 Table of Contents 1. 特性简述 2. 特性潜在引发问题 3. 关闭特性 1 特性简述 为了防止用户密码的暴力破解,从 ...

  7. Oracle 11g新特性延迟段创建和truncate的增强

    下面测试Oracle 11g开始的新特性truncate的增强和延迟段空间创建. Oracle从11g开始,当用户创建一张空表的时候不会先分配段和空间,只有当对这张表插入第一行数据的时候才分配段和空间 ...

  8. 11g新特性-查询缓存(1)

    众所周知,访问内存比访问硬盘快得多,除非硬盘体系发生革命性的改变.可以说缓存在Oracle里面无处不在,结果集缓存(Result Cache)是Oracle Database 11g新引入的功能,引入 ...

  9. 11g新特性-dba_users安全性的一些增强

    1.dba_user表的password(除了GLOBAL和EXTERNAL的密码)不再保存密码. 查询10g的dba_user表 SQL> select username,password f ...

随机推荐

  1. split分割大文件--包含通过awk按规则分割文件到对应子文件

    当对一个大文件进行传输或者分析的时候,一个可以参考的办法是先通过split对文件进行分割,再对每个子文件进行处理,如果需要合并再进行合并. split函数可以按文件大小或者行数来进行分割. -a :  ...

  2. js学习篇--数组按升序降序排列

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. runtime-对成员变量和属性的操作

    成员变量 首先我们来看看成员变量在runtime中是什么样的 在runtime中成员变量是一个objc_ivar类型的结构体,结构体定义如下 struct objc_ivar { char *ivar ...

  4. SQL Server性能计数器收集汇总方案(Reporting Service)

    通过收集计数器信息,并将计数器信息汇总为不同粒度存储,以Reporting Service报表服务器显示.以下是计数器收集汇总的基本架构. 笔者需要收集的SQL Server计数器包括:SQL Ser ...

  5. Thrift的TJsonProtocol协议分析

    Thrift协议实现目前有二进制协议(TBinaryProtocol),紧凑型二进制协议(TCompactProtocol)和Json协议(TJsonProtocol). 前面的两篇文字从编码和协议原 ...

  6. linux git实现代理

    说明  Git 目前支持的三种协议 git://.ssh:// 和 http://,使用git:// 和 http://比较多,ssh://忽略,FQ后可以直接加快同步google和github代码. ...

  7. 高性能MySQL(三):服务器性能剖析

    select * from c LEFT JOIN c100w on c.id=c100w.id; -- 联合查询 show PROFILES; -- 查看查询耗时 select * from c; ...

  8. Springboot快速入门创建

    maven构建项目 1.访问http://start.spring.io/,进入快速创建工程的主页 可参考下图所示: 2.选择构建工具Maven Project.Spring Boot版本1.3.6以 ...

  9. 在CentOS 7.2下升级gcc编译器的版本

    默认情况下,CentOS 7.2预装的gcc版本是4.8.x,通过执行命令 gcc -v 可以看到,一般情况下这个版本的编译器已经满足需要了,但是某些特殊的时候为了支持C++更高的特性,需要对gcc编 ...

  10. Python之路,Day6 - Python基础6

    本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...