裸裝置
裸裝置,也叫裸分區(原始分區),是一種沒有經過格式化,不被Unix通過檔案系統來讀取的非凡字元裝置。
它由應用程式負責對它進行讀寫操作。不經過檔案系統的緩沖。
我們可以将oracle得表空間直接建立在裸裝置上,提高讀寫速度
create tablespace sale_ts datafile '/dev/raw/raw1'
size 20000m
autoextend on next 100m maxsize unlimited
extent management local
segment space management auto;
1.[root@rac2 ~]#/sbin/fdisk /dev/sdb
50M
ora1,partprobe --立即生效
2.[root@rac2 ~]#vi /etc/sysconfig/rawdevices --編輯檔案,建立映射
/dev/raw/raw1 /dev/sdb1
[root@rac2 ~]#/etc/init.d/rawdevices restart --重新開機服務(redhat 5之前的版本)
or
3.[root@rac2 ~]#raw /dev/raw/raw1 /dev/sdb1
儲存在/etc/rc.local中,重新開機後還會生效
4. udev
redhat5:
vi /etc/udev/rules.d/60-raw.rules
ACTION=="add", KERNEL=="sde", RUN+="/bin/raw /dev/raw/raw1 %N"
...
vi /etc/rc.local (修改權限)
reboot
/etc/udev/rules.d/60-raw.rules
添加如下幾句,其他的也可以類推
ACTION=="add", KERNEL=="xvdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="xvdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="raw*", WNER=="oracle", GROUP=="oinstall", MODE=="0664"
create tablespace sale_ts datafile '/dev/sdb1' size 20m ;
隻要/dev/raw/raw1,/dev/sdb1是oracle.dba屬主,以上寫法都可以.
SQL> select name from v$datafile
2 union all
3 select name from v$controlfile
4 union all
5 select name from v$tempfile;
NAME
--------------------
/dev/raw/raw8
/dev/raw/raw10
/dev/raw/raw9
/dev/raw/raw12
/dev/raw/raw2
/dev/raw/raw3
/dev/raw/raw4
/dev/raw/raw11
8 rows selected.
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_
---------- ---------- ------- -------------------- ---
3 STALE ONLINE /dev/raw/raw7 NO
2 ONLINE /dev/raw/raw6 NO
1 ONLINE /dev/raw/raw5 NO
SQL> show parameter pfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /dev/raw/raw1
本文轉自vcdog 51CTO部落格,原文連結:http://blog.51cto.com/255361/837533,如需轉載請自行聯系原作者