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. MySQL的if,case语句使用总结

    原文地址: http://outofmemory.cn/code-snippet/1149/MySQL-if-case-statement-usage-summary

  2. iOS多线程-GCD之常用函数

    延迟执行任务函数dispatch_after(.....) -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEve ...

  3. java基础知识(十一)java反射机制(下)

    1.什么是反射机制? java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象都能够调用他的属性和方法,这种动态获取属性和方法的功能称为java的反射机制. ...

  4. Android——SharedPreferences

    SharedPreferences是一种轻型的Android数据存储方式,用来保存应用的一些常用配置. 实现SharedPreferences存储的步骤如下: 1.根据Context获取SharedP ...

  5. GSM07.10协议中串口复用使用的校验算法

    ] = { 0x00, 0x91, 0xE3, 0x72, 0x07, 0x96, 0xE4, 0x75, 0x0E, 0x9F, 0xED, 0x7C, 0x09, 0x98, 0xEA, 0x7B ...

  6. docker 目录迁移

    (ubuntu 12.04) 默认路径 /var/lib/docker  --> /data/docker root@node1:~# service docker stop root@node ...

  7. 【ASP.NET】VS编译成功后自动生成Nuget包

    在VisualStudio项目中,可以在每次编译成功后自动发布nuget包,具体配置过程如下:   1.下载nuget.exe,放置在Visual Studio项目的根目录下.   2.通过命令行生成 ...

  8. Google Code Jam 2016 Round 1C C

    题意:三种物品分别有a b c个(a<=b<=c),现在每种物品各选一个进行组合.要求每种最和最多出现一次.且要求任意两个物品的组合在所有三个物品组合中的出现总次数不能超过n. 要求给出一 ...

  9. js_面向对象

    面向对象的语言有一个标志,即拥有类的概念,抽象实例对象的公共属性与方法,基于类可以创建任意多个实例对象,一般具有封装.继承.多态的特性!但JS中对象与纯面向对象语言中的对象是不同的,ECMA标准定义J ...

  10. jdbcTemplate批量插入(添加)

    public void addSubscibe(List<PermedipUserSubscribeVo> list) { final List<PermedipUserSubscr ...