裸設備作為Oracle數據庫文件:
1.先使用fdisk創建分區: 如:/dev/hda7
然後綁定裸設備:
Linux下最多可以綁定 255 個裸設備
raw /dev/raw/raw1 /dev/hda7
raw /dev/raw/raw2 /dev/hda8
raw /dev/raw/raw3 /dev/hda9
2.授權:
chown -R oracle:oinstall /dev/raw/*
chmod 775 /dev/raw/*
3.連接:
ls -n /dev/raw/raw1 /u02/oradata/qhdtest/tbs_ecard.dbf
最後別忘記寫到/etc/rc.loacl中:
raw /dev/raw/raw1 /dev/hda7
raw /dev/raw/raw2 /dev/hda8
raw /dev/raw/raw3 /dev/hda9
chown -R oracle:oinstall /dev/raw/*
chmod 775 /dev/raw/*
建立表空間語句:
SYS@qhdtest:SQL> create tablespace tbs_ecard datafile '/u02/oradata/qhdtest/tbs_ecard02.dbf' size 128M autoextend on next 2m maxsize 3000M;
Tablespace created.
SYS@qhdtest:SQL> alter tablespace tbs_ecard add datafile '/u02/oradata/qhdtest/tbs_ecard.dbf' size 128M autoextend on next 2M maxsize 1000M;
Tablespace altered.
SYS@qhdtest:SQL> create tablespace ndx_ecard datafile '/u02/oradata/qhdtest/ndx_ecard01.dbf' size 128M autoextend on next 2M maxsize 2000M extent management local uniform. size 1M;
Tablespace created.
清空裸設備: 1G
dd if=/dev/zero f=/dev/raw/raw1 bs=1024000 count=1000
查看綁定的裸設備及裸設備大小:
1) blockdev --getsize /dev/raw/raw1
2008062 可知: 2008062*512/1024/1024/1024 G
2)
[root@qhdtest ~]# raw -qa
/dev/raw/raw1: bound to major 3, minor 7
/dev/raw/raw2: bound to major 3, minor 8
/dev/raw/raw3: bound to major 3, minor 9
默認minor值為分區號.就是以上的raw1,對應hda7.
[root@qhdtest ~]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 3837 30716280 83 Linux
/dev/hda3 3838 4092 2048287+ 82 Linux swap / Solaris
/dev/hda4 4093 9729 45279202+ 5 Extended
/dev/hda5 4093 7279 25599546 83 Linux
/dev/hda6 7280 7888 4891761 83 Linux
/dev/hda7 7889 8013 1004031 83 Linux
/dev/hda8 8014 8263 2008093+ 83 Linux
/dev/hda9 8264 8637 3004123+ 83 Linux
使用dd查看裸設備是否被移除:
#dd if=/dev/raw/raw1 f=backup count=1
如果分區沒有被移除,則輸出
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000307 seconds, 1.7 MB/s
如果分區已被移除,但使用命令 raw 仍能成功查出綁定狀態
#raw -q /dev/raw/raw1
/dev/raw/raw1: bound to major 3, minor 7
應使用 dd 命令進行裸設備的查詢
# dd if=/dev/raw1 f=bakcup count=1
dd: opening `/dev/raw/raw1': No such device or address
dd 命令提示錯誤資訊,因為分區已被移出,所以不能讀寫。
使用裸設備作為oracle的資料檔案必須注意以下幾點:
1)一個裸設備只能放置一個資料檔案
2)資料檔案的大小不能超過裸設備的大小
如果是日誌檔,則裸設備最大可用大小=裸設備對應分區大小 - 1 * 512 (保留一個redo lock)
如果是資料檔案,則裸設備最大可用大小=裸設備對應分區大小 - 2 * db_block_size(保留兩個block)
為了簡單起見,對所有的檔設置稱比裸設備小1M即可.
3)資料檔案最好不要設置成自動擴展,如果設置成自動擴展,一定要把maxsize設置設置為比裸設備小
裸設備使用步驟:供日後查詢
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13023909/viewspace-615933/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13023909/viewspace-615933/
本文详细介绍如何在Linux环境下使用裸设备作为Oracle数据库文件的方法,包括创建分区、绑定裸设备、设置权限、连接数据文件等步骤,并提供了创建表空间的具体示例。
679

被折叠的 条评论
为什么被折叠?



