溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux 使用裸設(shè)備創(chuàng)建表空間

發(fā)布時(shí)間:2020-08-08 08:53:29 來源:ITPUB博客 閱讀:156 作者:不一樣的天空w 欄目:建站服務(wù)器
環(huán)境
系統(tǒng)環(huán)境
[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環(huán)境
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 劃分一個(gè)1g的分區(qū)  用作裸設(shè)備
[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"
~

啟動(dòng)裸設(shè)備
[root@node1 ~]# start_udev
Starting udev:                                             [  OK  ]
[root@node1 ~]# 
修改裸設(shè)備的主設(shè)備號(hào)和復(fù)設(shè)備號(hào)
[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
刪除裸設(shè)備,當(dāng)然還必須修改/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

修改裸設(shè)備的權(quán)限                        
[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
查看裸設(shè)備的可用空間                               
[root@node1 raw]# blockdev --getsize /dev/raw/raw1
2008062
[root@node1 raw]# blockdev --getsize /dev/raw/raw2
2008125

2008125*512/1024/1024=980M

在oracle中添加裸設(shè)備為數(shù)據(jù)文件的表空間
SQL> create tablespace tbs_raw datafile'/dev/raw/raw1' size 950m;
Tablespace created.


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI