linux 使用裸裝置建立表空間
環境
系統環境
[root@node1 ~]# uname -a
Linux node1 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:43 EDT 2010 i686 i686 i386 GNU/Linux
[root@node1 ~]# more /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
[root@node1 ~]#
oracle環境
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
檢視磁碟
[root@node1 ~]# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2610 20860402+ 8e Linux LVM
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 2610 20964793+ 83 Linux
Disk /dev/sdc: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdc doesn't contain a valid partition table
給/dev/sdc 劃分一個1g的分割槽 用作裸裝置
[root@node1 ~]# fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 1044.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1044, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1044, default 1044): +1024M
Command (m for help): p
Disk /dev/sdc: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 125 1004031 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
修改/etc/udev/rules.d/60-raw.rules 檔案
[root@node1 ~]# vi /etc/udev/rules.d/60-raw.rules
# Enter raw device bindings here.
#
# An example would be:
# ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
# ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", ENV{MAJOR}=="3", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add", ENV{MAJOR}=="7", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
~
啟動裸裝置
[root@node1 ~]# start_udev
Starting udev: [ OK ]
[root@node1 ~]#
修改裸裝置的主裝置號和復裝置號
[root@node1 ~]# raw -qa
/dev/raw/raw1: bound to major 8, minor 33
[root@node1 ~]# raw /dev/raw/raw1 1 1
/dev/raw/raw1: bound to major 1, minor 1
[root@node1 ~]# raw -qa
/dev/raw/raw1: bound to major 1, minor 1
刪除裸裝置,當然還必須修改/etc/udev/rules.d/60-raw.rules 檔案
[root@node1 ~]# raw /dev/raw/raw1 0 0
/dev/raw/raw1: bound to major 0, minor 0
[root@node1 ~]# raw -qa
[root@node1 ~]# raw /dev/raw/raw1 1 1
/dev/raw/raw1: bound to major 1, minor 1
[root@node1 ~]# raw -qa
/dev/raw/raw1: bound to major 1, minor 1
修改裸裝置的許可權
[root@node1 ~]# raw -qa
/dev/raw/raw1: bound to major 8, minor 33
/dev/raw/raw2: bound to major 8, minor 34
[root@node1 ~]# cd /dev/raw
[root@node1 raw]# ls -l
total 0
crw------- 1 root root 162, 1 Apr 7 18:03 raw1
crw------- 1 root root 162, 2 Apr 7 18:03 raw2
[root@node1 raw]# chown oracle:oinstall raw1
[root@node1 raw]# chown oracle:oinstall raw2
[root@node1 raw]# chmod 775 raw1 raw2
[root@node1 raw]# ls -l
total 0
crwxrwxr-x 1 oracle oinstall 162, 1 Apr 7 18:03 raw1
crwxrwxr-x 1 oracle oinstall 162, 2 Apr 7 18:03 raw2
檢視裸裝置的可用空間
[root@node1 raw]# blockdev --getsize /dev/raw/raw1
2008062
[root@node1 raw]# blockdev --getsize /dev/raw/raw2
2008125
2008125*512/1024/1024=980M
在oracle中新增裸裝置為資料檔案的表空間
SQL> create tablespace tbs_raw datafile'/dev/raw/raw1' size 950m;
Tablespace created.
系統環境
[root@node1 ~]# uname -a
Linux node1 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:43 EDT 2010 i686 i686 i386 GNU/Linux
[root@node1 ~]# more /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
[root@node1 ~]#
oracle環境
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
檢視磁碟
[root@node1 ~]# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2610 20860402+ 8e Linux LVM
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 2610 20964793+ 83 Linux
Disk /dev/sdc: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdc doesn't contain a valid partition table
給/dev/sdc 劃分一個1g的分割槽 用作裸裝置
[root@node1 ~]# fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 1044.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1044, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1044, default 1044): +1024M
Command (m for help): p
Disk /dev/sdc: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 125 1004031 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
修改/etc/udev/rules.d/60-raw.rules 檔案
[root@node1 ~]# vi /etc/udev/rules.d/60-raw.rules
# Enter raw device bindings here.
#
# An example would be:
# ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
# ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", ENV{MAJOR}=="3", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add", ENV{MAJOR}=="7", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
~
啟動裸裝置
[root@node1 ~]# start_udev
Starting udev: [ OK ]
[root@node1 ~]#
修改裸裝置的主裝置號和復裝置號
[root@node1 ~]# raw -qa
/dev/raw/raw1: bound to major 8, minor 33
[root@node1 ~]# raw /dev/raw/raw1 1 1
/dev/raw/raw1: bound to major 1, minor 1
[root@node1 ~]# raw -qa
/dev/raw/raw1: bound to major 1, minor 1
刪除裸裝置,當然還必須修改/etc/udev/rules.d/60-raw.rules 檔案
[root@node1 ~]# raw /dev/raw/raw1 0 0
/dev/raw/raw1: bound to major 0, minor 0
[root@node1 ~]# raw -qa
[root@node1 ~]# raw /dev/raw/raw1 1 1
/dev/raw/raw1: bound to major 1, minor 1
[root@node1 ~]# raw -qa
/dev/raw/raw1: bound to major 1, minor 1
修改裸裝置的許可權
[root@node1 ~]# raw -qa
/dev/raw/raw1: bound to major 8, minor 33
/dev/raw/raw2: bound to major 8, minor 34
[root@node1 ~]# cd /dev/raw
[root@node1 raw]# ls -l
total 0
crw------- 1 root root 162, 1 Apr 7 18:03 raw1
crw------- 1 root root 162, 2 Apr 7 18:03 raw2
[root@node1 raw]# chown oracle:oinstall raw1
[root@node1 raw]# chown oracle:oinstall raw2
[root@node1 raw]# chmod 775 raw1 raw2
[root@node1 raw]# ls -l
total 0
crwxrwxr-x 1 oracle oinstall 162, 1 Apr 7 18:03 raw1
crwxrwxr-x 1 oracle oinstall 162, 2 Apr 7 18:03 raw2
檢視裸裝置的可用空間
[root@node1 raw]# blockdev --getsize /dev/raw/raw1
2008062
[root@node1 raw]# blockdev --getsize /dev/raw/raw2
2008125
2008125*512/1024/1024=980M
在oracle中新增裸裝置為資料檔案的表空間
SQL> create tablespace tbs_raw datafile'/dev/raw/raw1' size 950m;
Tablespace created.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29108064/viewspace-1137296/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux下使用裸裝置建立oracle表空間LinuxOracle
- aix5.3上使用裸裝置建立表空間AI
- Linux新增裸裝置空間(Redhat)LinuxRedhat
- 裸裝置表空間對映檔案
- Linux-建立裸裝置RawLinux
- 建立裸裝置庫
- linux上建立裸裝置問答Linux
- AIX 5.3 10.2g rac環境下 給表空間擴容(裸裝置表空間)AI
- linux下裸裝置的使用Linux
- [轉]用裸裝置擴資料庫表空間專題(完整版)資料庫
- Oracle RAC--在Linux中建立裸裝置OracleLinux
- linux下表空間檔案系統移動到裸裝置測試Linux
- Linux使用udev繫結裸裝置Linuxdev
- linux裸裝置操作Linux
- Linux下建立Oracle表空間LinuxOracle
- HPUNIX下表空間檔案系統到裸裝置測試
- 在unix下和linux下建立裸裝置總結Linux
- Linux裸裝置總結Linux
- linux下新增裸裝置Linux
- linux下配置裸裝置Linux
- 指令碼建立表空間、使用者、表指令碼
- 【儲存管理】建立臨時表空間組、建立臨時表空間組及使用
- linux udev裸裝置繫結Linuxdev
- Linux裸裝置管理詳解Linux
- Linux裸裝置管理學習Linux
- Linux裸裝置總結(ZT)Linux
- LINUX下裸裝置的操作Linux
- LINUX裸裝置取消繫結Linux
- 根據源庫表空間實際使用建立表空間指令碼指令碼
- oracle建立表空間Oracle
- 建立加密表空間加密
- oracle 建立表空間和使用者Oracle
- Oracle建立表空間和使用者Oracle
- Redhat5.8 X64建立裸裝置Redhat
- Linux下基於裸裝置建立10g資料庫Linux資料庫
- oracle安裝使用裸裝置問題Oracle
- 字元裝置、塊裝置與裸裝置字元
- 字元裝置、塊裝置、裸裝置、RAW裝置 .字元