Chinaunix首页 | 论坛 | 博客
  • 博客访问: 212927
  • 博文数量: 70
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 735
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-25 13:37
个人简介

对我认真的人,我会加倍珍惜

文章分类

全部博文(70)

文章存档

2016年(1)

2015年(15)

2014年(54)

分类: Oracle

2015-01-22 16:40:55

Linux

下使用裸设备创建

oracle

表空间

 

1. 

环境

 

?

 

系统环境

 

[root@node1 ~]# uname 

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 

2. 

查看磁盘

 

[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 

  

  

  

  

  

  

  

  

  

  

 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 

  

  

  

  

  

  

  

  

  

  

 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 

3. 

/dev/sdc 

划分一个

1g

的分区

 

 

用作裸设备

 

[root@node1 ~]# fdisk /dev/sdc 

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel 

Linux

下使用裸设备创建

oracle

表空间

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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) 

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 

 

Linux

下使用裸设备创建

oracle

表空间

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 Device Boot 

  

  

 Start 

  

  

  

  

End 

  

  

 Blocks 

  

Id 

 System 

/dev/sdc1 

  

  

  

  

  

  

  

  

  

  

  

125 

  

  

1004031 

  

83 

 Linux 

 

Command (m for help): w 

The partition table has been altered! 

 

Calling ioctl() to re-read partition table. 

Syncing disks.

 

 

4. 

修改

/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" 

5. 

启动裸设备

 

[root@node1 ~]# start_udev 

Starting udev: 

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

 OK 

 ] 

[root@node1 ~]#  

6. 

修改裸设备的权限

                         

[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 

Linux

下使用裸设备创建

oracle

表空间

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[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 

7. 

查看裸设备的可用空间

                                

[root@node1 raw]# blockdev --getsize /dev/raw/raw1 

2008062 

[root@node1 raw]# blockdev --getsize /dev/raw/raw2 

2008125 

 

2008125*512/1024/1024=980M

 

 

8. 

oracle

中添加裸设备为数据文件的表空间

 

SQL> create tablespace 

tbs_raw

 datafile

'/dev/raw/raw1'

 size 950m; 

Tablespace created

阅读(1520) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~