Linux基于裸设备建库

一、分区

分区的步骤不说了,把硬盘分为如下几个区:

[root@suk1 ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 4294 MB, 4294967296 bytes

255 heads, 63 sectors/track, 522 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdb1 1 44 353398+ 83 Linux

/dev/sdb2 45 69 200812+ 83 Linux

/dev/sdb3 70 88 152617+ 83 Linux

/dev/sdb4 89 522 3486105 5 Extended

/dev/sdb5 89 101 104391 83 Linux

/dev/sdb6 102 114 104391 83 Linux

/dev/sdb7 115 117 24066 83 Linux

/dev/sdb8 118 120 24066 83 Linux

/dev/sdb9 121 127 56196 83 Linux

/dev/sdb10 128 134 56196 83 Linux

2、绑定裸设备

绑定裸设备有两种方式

1)用命令绑定

[root@suk1 raw]# raw /dev/raw/raw1 /dev/sdb1

/dev/raw/raw1: bound to major 8, minor 17

[root@suk1 raw]# raw /dev/raw/raw2 /dev/sdb2

/dev/raw/raw2: bound to major 8, minor 18

[root@suk1 raw]# raw /dev/raw/raw3 /dev/sdb3

/dev/raw/raw3: bound to major 8, minor 19

[root@suk1 raw]# raw /dev/raw/raw5 /dev/sdb5

/dev/raw/raw5: bound to major 8, minor 21

[root@suk1 raw]# raw /dev/raw/raw6 /dev/sdb6

/dev/raw/raw6: bound to major 8, minor 22

[root@suk1 raw]# raw /dev/raw/raw7 /dev/sdb7

/dev/raw/raw7: bound to major 8, minor 23

[root@suk1 raw]# raw /dev/raw/raw8 /dev/sdb8

/dev/raw/raw8: bound to major 8, minor 24

[root@suk1 raw]# raw /dev/raw/raw9 /dev/sdb9

/dev/raw/raw9: bound to major 8, minor 25

[root@suk1 raw]# raw /dev/raw/raw10 /dev/sdb10

/dev/raw/raw10: bound to major 8, minor 26

[root@suk1 raw]# raw -qa

/dev/raw/raw1: bound to major 8, minor 17

/dev/raw/raw2: bound to major 8, minor 18

/dev/raw/raw3: bound to major 8, minor 19

/dev/raw/raw5: bound to major 8, minor 21

/dev/raw/raw6: bound to major 8, minor 22

/dev/raw/raw7: bound to major 8, minor 23

/dev/raw/raw8: bound to major 8, minor 24

/dev/raw/raw9: bound to major 8, minor 25

/dev/raw/raw10: bound to major 8, minor 26

注意:

/dev/sdb4是扩展分区,不要把裸设备绑定到那个分区上。

这种方式绑定的裸设备在OS重启后会失效,为了你重启后仍然生效,你可以修改/etc/rc.local文件,将如下内容加入到/etc/rc.local文件中:

raw /dev/raw/raw1 /dev/sdb1

raw /dev/raw/raw2 /dev/sdb2

raw /dev/raw/raw3 /dev/sdb3

raw /dev/raw/raw5 /dev/sdb5

raw /dev/raw/raw6 /dev/sdb6

raw /dev/raw/raw7 /dev/sdb7

raw /dev/raw/raw8 /dev/sdb8

raw /dev/raw/raw9 /dev/sdb9

raw /dev/raw/raw10 /dev/sdb10

这种方式实际上就是在开机的时候执行/etc/rc.local文件里的raw命令进行绑定的。

2)用服务的方式绑定

修改/etc/sysconfig/rawdevices文件如下,以开机时自动加载裸设备

/dev/raw/raw1 /dev/sdb1

/dev/raw/raw2 /dev/sdb2

/dev/raw/raw3 /dev/sdb3

/dev/raw/raw5 /dev/sdb5

/dev/raw/raw6 /dev/sdb6

/dev/raw/raw7 /dev/sdb7

/dev/raw/raw8 /dev/sdb8

/dev/raw/raw9 /dev/sdb9

/dev/raw/raw10 /dev/sdb10

然后启动服务:

[root@suk1 raw]# service rawdevices start

[root@suk1 raw]# service rawdevices start

Assigning devices:

/dev/raw/raw1 --&gt /dev/sdb1

/dev/raw/raw1: bound to major 8, minor 17

/dev/raw/raw2 --&gt /dev/sdb2

/dev/raw/raw2: bound to major 8, minor 18

/dev/raw/raw3 --&gt /dev/sdb3

/dev/raw/raw3: bound to major 8, minor 19

/dev/raw/raw5 --&gt /dev/sdb5

/dev/raw/raw5: bound to major 8, minor 21

/dev/raw/raw6 --&gt /dev/sdb6

/dev/raw/raw6: bound to major 8, minor 22

/dev/raw/raw7 --&gt /dev/sdb7

/dev/raw/raw7: bound to major 8, minor 23

/dev/raw/raw8 --&gt /dev/sdb8

/dev/raw/raw8: bound to major 8, minor 24

/dev/raw/raw9 --&gt /dev/sdb9

/dev/raw/raw9: bound to major 8, minor 25

/dev/raw/raw10 --&gt /dev/sdb10

这种方式绑定的裸设备在OS重启后仍然生效。

3、修改裸设备的属主

修改裸设备的属主也有两种方式:

1)命令修改

命令修改很简单:

[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw1

[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw2

[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw3

[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw4

[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw5

[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw6

[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw7

[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw8

[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw9

[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw10

由于/dev下的文件都是动态建立的,所以在OS重启后,属主仍会变成root:disk,要解决这个问题,可以把上面的命令写入到/etc/rc.local文件中:

chown oracle:oinstall /dev/raw/raw1

chown oracle:oinstall /dev/raw/raw2

chown oracle:oinstall /dev/raw/raw3
chown oracle:oinstall /dev/raw/raw4

chown oracle:oinstall /dev/raw/raw5

chown oracle:oinstall /dev/raw/raw6

chown oracle:oinstall /dev/raw/raw7

chown oracle:oinstall /dev/raw/raw8

chown oracle:oinstall /dev/raw/raw9

chown oracle:oinstall /dev/raw/raw10

这样每次开机后可以重新改变属主。

2)修改/etc/udev/permissions.d/50-udev.permissions文件

将/etc/udev/permissions.d/50-udev.permissions的113行

raw/*:root:disk:0660

修改为
raw/*:oracle:oinstall:0660

这个的意思是修改裸设备的默认属主为oracle:oinstall,默认的mode是0660。

重启OS检验。

4、创建符号链接

这一步可以省略,但是为了更直观些,建议建立软链接

[oracle@suk1 ~]$ cd $ORACLE_BASE

[oracle@suk1 oracle]$ ls

oraInventory product

[oracle@suk1 oracle]$ mkdir -p oradata/test1

[oracle@suk1 oracle]$ cd oradata/test1

[oracle@suk1 oradata]$ ln -s /dev/raw/raw1 system01.dbf

[oracle@suk1 oradata]$ ln -s /dev/raw/raw2 undotbs01.dbf

[oracle@suk1 oradata]$ ln -s /dev/raw/raw3 sysaux01.dbf

[oracle@suk1 oradata]$ ln -s /dev/raw/raw5 users01.dbf

[oracle@suk1 oradata]$ ln -s /dev/raw/raw6 temp01.dbf

[oracle@suk1 oradata]$ ln -s /dev/raw/raw7 control01.ctl

[oracle@suk1 oradata]$ ln -s /dev/raw/raw8 control02.ctl

[oracle@suk1 oradata]$ ln -s /dev/raw/raw9 redo01.ora

[oracle@suk1 oradata]$ ln -s /dev/raw/raw10 redo02.ora

5、创建数据库

启动dbca,选择创建数据库

下一步,选择创建customer 数据库,

下一步,输入SID,

下一步,在存储选项页,选择裸设备,

下一步,在选择参数页面,选择字符集;初始化文件选择init文件,同时在这个界面点击《所有初始化参数》,在弹出的界面修改控制文件参数为:

/opt/oracle/oradata/test1/control01.ctl, /opt/oracle/oradata/test1/control02.ctl

下一步,在这一步,只保留两个控制文件、两组联机日志,确认表空间对应的数据文件的名称为刚才创建的对应的符号链接;并确定创建的数据文件、日志文件比对应的裸设备小(为了简单起见,统一设置为小1M)

下一步,开始创建数据库。

不出意外,一段时间后,数据库就可以安装完成。

纵观整个过程,基于裸设备创建数据库最重要的步骤是如何规划裸设备,如果裸设备设置过大,浪费空间,如果过小,安装就会失败。


1.创建pv

pvcreate -M2 -metadatasize 100M /dev/sda
pvcreate -M2 -metadatasize 100M /dev/sdb1
pvcreate -M2 -metadatasize 100M /dev/sdb2
pvcreate -M2 -metadatasize 100M /dev/sdc

物理卷可以是整个硬盘(lun),也可以是硬盘上的一个分区

2.创建vg

vgcreate vg_db /dev/sda /dev/sdb1 /dev/sdb2 /dev/sdc -s128m


3.创建lv

lvcreate -L2048m -i4 -I64k vg_db -n lv_2g_001
lvcreate -L2048m -i4 -I64k vg_db -n lv_2g_002

4.绑定

raw /dev/raw/raw1 /dev/mapper/vg_db-lv_2g_001
raw /dev/raw/raw2 /dev/mapper/vg_db-lv_2g_002

使用raw命令绑定的裸设备在重启后会失效。所以需要修改/etc/sysconfig/rawdevices配置文件,在文件中加入如下内容(每个裸设备一行):
/dev/raw/raw1 /dev/mapper/vg_db-lv_2g_001
/dev/raw/raw2 /dev/mapper/vg_db-lv_2g_002

执行 /etc/init.d/rawdevices restart 使配置文件中的裸设备生效
执行 /sbin/chkconfig rawdevices on 保证机器启动的时候裸设备能够加载

5.授权

chown -R oracle.dba /dev/mapper

修改配置文件/etc/udev/permissions.d/50-udev.permissions
注释掉raw/*:root:disk:0660
添加新行raw/*:oracle:dba:0660

6.链接(可选)

ln -s /dev/raw/raw1 /oradata/ningoo/system01.dbf
ln -s /dev/raw/raw2 /oradata/ningoo/undo01.dbf

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22531473/viewspace-742479/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22531473/viewspace-742479/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值