zoukankan      html  css  js  c++  java
  • 11g新特性-使用DNFS

    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]

  • 相关阅读:
    【原】用Java编写第一个区块链(二)
    SpringBoot 下配置 IDEA 热部署
    【原】用Java编写第一个区块链(一)
    【译】如何入门区块链学习
    轻量级微服务架构【读书笔记4】
    Ubuntu 下命令安装 ZooKeeper
    Ubuntu 下命令安装 Java
    集体智慧编程1寻找相近用户
    SfM执行流程
    SfM环境的搭建windows8.1+vs2010
  • 原文地址:https://www.cnblogs.com/nazeebodan/p/5195463.html
Copyright © 2011-2022 走看看