Linux下使用裸設備作為數據文件

本文详细介绍如何在Linux环境下使用裸设备作为Oracle数据库文件的方法,包括创建分区、绑定裸设备、设置权限、连接数据文件等步骤,并提供了创建表空间的具体示例。

裸設備作為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/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值