[原]Oracle 11 g Direct NFS Client試食

6516 ワード

この新しい特性はあまり紹介されていませんが、単刀直入にどのように配置するかを話しましょう.
指定ディレクトリへのNFSのマウント
この一歩は普段NFSに掛けているのと変わらないし、あまり言わないし、通常の命令は:
mount <NFS-SERVER-IP>:<EXPORT-LOCATION> <LOCAL-MOUNT-LOCATION>
### exmple ###
mount 192.168.0.203:/nfs/vol01 /nfs/test03/vol01/ 

ODMの置換
簡単に言えば$ORACLE_を変更することですHOME/lib/libodm11.soの指向:
[root@test01 ~]# su - oracle
[oracle@test01 ~]$ cd $ORACLE_HOME/lib
[oracle@test01 lib]$ ll *odm*
-rw-r--r-- 1 oracle oradba 60487 Sep  4 21:46 libnfsodm11.so
-rw-r--r-- 1 oracle oradba  7426 Sep  4 21:40 libodm11.a
lrwxrwxrwx 1 oracle oradba    12 Nov 20 22:15 libodm11.so -> libodmd11.so
-rw-r--r-- 1 oracle oradba 12315 Sep  4 21:46 libodmd11.so
[oracle@test01 lib]$ rm -rf libodm11.so 
[oracle@test01 lib]$ ln -s  libnfsodm11.so libodm11.so
[oracle@test01 lib]$ ll *odm*
-rw-r--r-- 1 oracle oradba 60487 Sep  4 21:46 libnfsodm11.so
-rw-r--r-- 1 oracle oradba  7426 Sep  4 21:40 libodm11.a
lrwxrwxrwx 1 oracle oradba    14 Nov 21 12:25 libodm11.so -> libnfsodm11.so
-rw-r--r-- 1 oracle oradba 12315 Sep  4 21:46 libodmd11.so

Direct NFS Clientの設定
まず、OracleはどのディレクトリがNFSをマウントしているかをどのように知っていますか?答えは次の3つのファイルの1つです.
1.$ORACLE_HOME/dbs/oranfstab
2./etc/oranfstab
3./etc/mtab
高度なプロパティを設定できるのは、最初の2つのファイルのみです.
oranfstabというファイルで設定できるプロパティは多くありません.「フルセット」とは、次の行です.
server: test03                               + NFS Server Name
local: 192.168.0.201                         +
local: 192.168.0.211                         | NFS Client            
local: 192.168.0.221                         |
local: 192.168.0.231                         +
path: 192.168.0.203                          +
path: 192.168.0.213                          | NFS Server            
path: 192.168.0.223                          |
path: 192.168.0.233                          +
dontroute                                    +         OS    
export: /nfs/vol01 mount: /nfs/test03/vol01  + 
export: /nfs/vol02 mount: /nfs/test03/vol02  |   OS  NFS     
export: /nfs/vol03 mount: /nfs/test03/vol03  +

複数のNFS Serverをマウントできる場合は、上の行を繰り返します.本文ではNFS ServerとNFS Clientの両方に4枚のギガビットネットワークカードが通信に使用できるので、すべて書き込みました.
最後にNFS bufferを設定し、/etc/filesystemsを変更して最後にこの段落を追加します.
/nfs/test03/vol01:
dev = "/nfs/test03/vol01"
vfs = nfs
nodename = test03
mount = true
options = bg,soft,intr,rsize=32768,wsize=32768
account = false

主な役割はrsizeとwsizeの2つのパラメータを修正することです.
 
今私達の成果を見ることができて、私はデータベースに対して1つの比較的に大きいI/O操作をしました(もちろんこれらのI/OはNFSのマウントポイントの上に落ちました)SQLは以下の通りです:
create table tab01
(
  id int,
  f01 varchar(50),
  f02 varchar(50),
  f03 varchar(50)
);

insert /*+ append parallel(tab01 4) */ into tab01 
select 
  level id , 
  lpad(level,30,'0') f01, 
  rpad(level,30,'0') f02,
  'killkill' f03
from dual
connect by level<500000;

--         :
insert /*+ append parallel(tab01 4) */ into tab01 
  select /*+ parallel(tab01 4) */ * from tab01 ;
commit; 

Direct NFS Clientの動作を次のコマンドでざっと確認します.
[root@test01 ~]# netstat -anop | grep 192.168.0.2
tcp  0  0 192.168.0.201:1000    192.168.0.203:2049  ESTABLISHED  -                   off (0.00/0/0)
tcp  0  0 192.168.0.211:36055   192.168.0.213:2049  ESTABLISHED  24790/ora_p000_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.231:37732   192.168.0.233:2049  ESTABLISHED  24794/ora_p002_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.221:41525   192.168.0.223:2049  ESTABLISHED  24792/ora_p001_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.201:42341   192.168.0.203:2049  ESTABLISHED  24792/ora_p001_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.231:41739   192.168.0.233:2049  ESTABLISHED  23064/ora_ckpt_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.221:46069   192.168.0.223:2049  ESTABLISHED  23060/ora_dbw0_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.211:45719   192.168.0.213:2049  ESTABLISHED  23064/ora_ckpt_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.211:45685   192.168.0.213:2049  ESTABLISHED  23060/ora_dbw0_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.221:46316   192.168.0.223:2049  ESTABLISHED  24790/ora_p000_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.231:46570   192.168.0.233:2049  ESTABLISHED  24792/ora_p001_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.211:48340   192.168.0.213:2049  ESTABLISHED  24794/ora_p002_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.231:45238   192.168.0.233:2049  ESTABLISHED  23844/oracleORCL    off (0.00/0/0)
tcp  0  0 192.168.0.201:48218   192.168.0.203:2049  ESTABLISHED  24794/ora_p002_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.221:50140   192.168.0.223:2049  ESTABLISHED  23064/ora_ckpt_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.221:50059   192.168.0.223:2049  ESTABLISHED  23844/oracleORCL    off (0.00/0/0)
tcp  0  0 192.168.0.231:52108   192.168.0.233:2049  ESTABLISHED  24796/ora_p003_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.231:49971   192.168.0.233:2049  ESTABLISHED  24790/ora_p000_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.221:54444   192.168.0.223:2049  ESTABLISHED  24794/ora_p002_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.221:54356   192.168.0.223:2049  ESTABLISHED  24796/ora_p003_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.201:56182   192.168.0.203:2049  ESTABLISHED  24790/ora_p000_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.211:56334   192.168.0.213:2049  ESTABLISHED  23844/oracleORCL    off (0.00/0/0)
tcp  0  0 192.168.0.211:56139   192.168.0.213:2049  ESTABLISHED  24792/ora_p001_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.201:57118   192.168.0.203:2049  ESTABLISHED  23064/ora_ckpt_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.201:57151   192.168.0.203:2049  ESTABLISHED  23060/ora_dbw0_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.211:58852   192.168.0.213:2049  ESTABLISHED  24796/ora_p003_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.201:58599   192.168.0.203:2049  ESTABLISHED  23844/oracleORCL    off (0.00/0/0)
tcp  0  0 192.168.0.201:59647   192.168.0.203:2049  ESTABLISHED  24796/ora_p003_ORCL off (0.00/0/0)
tcp  0  0 192.168.0.231:58527   192.168.0.233:2049  ESTABLISHED  23060/ora_dbw0_ORCL off (0.00/0/0)

ローカルのNICとNFS ServerのすべてのNICが通信に関与していることがわかります.