Oracle Direct NFS (dNFS)
Oracle Direct NFS (dNFS), NAS depolama cihazlarında bulunan NFS depolama alanına daha hızlı ve daha ölçeklenebilir bir erişim sağlayan optimize edilmiş bir NFS istemcisidir.
Direct NFS veritabanı çekirdeğinin bir parçası olarak sağlanır ve böylece desteklenen tüm veritabanı platformlarında kullanılabilir. İşletim sisteminin NFS sürücüsünü bypass ederek , gereksinim duyduğu tüm istekleri kendisi sağlaması nedeniyle işletim sisteminin NFS sürücüsü tarafından sağlanandan daha hızlı performans sağlar.
Direct NFS etkinleştirilmesi :
Aşağıdaki komutlar ile dNFS etkinleştirilebilir.
cd $ORACLE_HOME/lib mv libodm11.so libodm11.so_stub ln -s libnfsodm11.so libodm11.so
11g R2 ile birlikte aşağıdaki gibi de etkinleştirilebiliriz.
cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk dnfs_on
Direct NFS’i devre dışı bırakmak:
Aşağıdaki komutlar ile dNFS devre dışı bırakılabilir.
cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk dnfs_off
Direct NFS , hangi mount dizinlerinin kullanılabilir olduğunu bulmak için , içeriği aşağıdaki gibi olan oranfstab isimli bir konfigürasyon dosyasını kullanır. Bu dosya /etc ya da $ORACLE_HOME/dbs dizinlerinde olabilir. Bu dosya yoksa , /etc/mtab dosyasındaki mount dizinlerine bakar.
oranstab:
server: NFSserver local: 192.168.10.10 path: 192.168.10.163 local: 192.168.10.10 path: 192.168.10.164 export: /export/ORCL mount: /zfssa/ORCL
Bu dosyadaki ;
server ile isteğe bağlı bir isim (genelde nfs sunucusunun ismi),
local ile istemcinin nfs sunucusuna ulaştığı arayüzün ip’si ,
path ile nfs sunucusunun hizmet verdiği arayüzün ip’si ,
export ile nfs sunucusundaki paylaşımın yolu,
mount ile istemcinin lokaldeki yolu ,
belirtilir. Yukarıdaki gibi path’ler birden fazla olduğunda yük dengeleme yapacaktır. Path’ler , nfs sunucusunun hizmet verdiği arayüzler birden fazla ise , çoğaltılabilir. En fazla 4 adet path girilebilir.
İlgili dizin mount edildikten sonra , 12c öncesi versiyona sahip veritabanınızın Direct NFS kullanması için yeniden başlatılması gerekmektedir. 12c olan veritabanlarında varsayılan olarak dNFS kullanmaktadır. Yeniden başlattığınızda alert log dosyasında aşağıdaki satırları gördüğünüzde , veritabanınız artık dNFS kullanıyor demektir.
Oracle instance running with ODM: Oracle Direct NFS ODM Library Version 4.0
Aktif kullanımı görmek için aşağıdaki sorguyu kullanabilirsiniz.
SQL> column ID format 99 SQL> column SVRNAME format a15 SQL> column DIRNAME format a15 SQL> select * from v$dnfs_servers; ID SVRNAME DIRNAME MNTPORT NFSPORT WTMAX RTMAX --- --------------- --------------- ---------- ---------- ---------- ---------- 1 192.168.10.155 /export/ORCL 35047 2049 1048576 1048576
Direct NFS ile ilgili kullanılabilecek görüntüler aşağıdaki gibidir.
İlgili nfs paylaşımını mount etmek için , mount edilecek bir dizin oluşturup, /etc/fstab dosyasında aşağıdaki gibi bir satır ekleyip , mount komutu ile mount edebilirsiniz.
192.168.10.163:/export/ORCL /zfssa/ORCL nfs rw,bg,hard,nointr,rsize=1048576,wsize=1048576,tcp,nfsvers=3,timeo=600,addr=192.168.10.163 0 0
mkdir /zfssa/ORCL mount /zfssa/ORCL
Mount opsiyonları , işletim sistemlerine göre farklılık göstermektedir. İşletim sisteminizde hangi opsiyonlarla mount edilmesi gerektiğini aşağıdaki tablodan öğrenebilirsiniz. Tablodaki 32768 olan rsize ve wsize değeri için 1048576 kullanılması önerilmektedir.
Operating System |
Mount options for Binaries |
Mount options for Oracle Datafiles | Mount options for CRS Voting Disk and OCR (12.1 and lower) |
Sun Solaris * |
rw,bg,hard,nointr,rsize=32768, vers=3,suid |
rw,bg,hard,nointr,rsize=32768, wsize=32768,proto=tcp,noac, forcedirectio, vers=3 |
rw,bg,hard,nointr,rsize=32768, wsize=32768,proto=tcp,vers=3, noac,forcedirectio |
AIX (5L) ** |
rw,bg,hard,nointr,rsize=32768, vers=3,timeo=600 |
cio,rw,bg,hard,nointr,rsize=32768, |
cio,rw,bg,hard,intr,rsize=32768, |
HPUX 11.23 *** — | rw,bg,vers=3,proto=tcp,noac, hard,nointr,timeo=600, rsize=32768,wsize=32768,suid |
rw,bg,vers=3,proto=tcp,noac, forcedirectio,hard,nointr,timeo=600, rsize=32768,wsize=32768 |
rw,bg,vers=3,proto=tcp,noac, forcedirectio,hard,nointr,timeo=600 ,rsize=32768,wsize=32768 |
Windows (Use dNFS if needed. Refer to Document 1468114.1 |
Not Supported | Not Supported | Not Supported |
Linux x86 # **** |
rw,bg,hard,nointr,rsize=32768, |
rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,actimeo=0, vers=3,timeo=600 |
rw,bg,hard,nointr,rsize=32768, |
Linux x86-64 # **** |
rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,vers=3, timeo=600, actimeo=0 |
rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,actimeo=0, vers=3,timeo=600 |
rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,noac,vers=3, timeo=600,actimeo=0 |
Linux – Itanium | rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,vers=3, timeo=600, actimeo=0 |
rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,actimeo=0, vers=3,timeo=600 |
rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,noac,vers=3, timeo=600,actimeo=0 |