首页 > 数据库 > Oracle > Oracle通过软连接裸设备建库
首先,在vm虚拟机上添加一块硬盘,进入系统创建分区,我们以sdc1来划分lv
[root@Oracle ~]# fdisk -l –查看现在有分区
确保有空余硬盘
创建vg
[root@oracle ~]# vgcreate oradata /dev/sdc1[root@oracle ~]# pvcreate /dev/sdc1
查看pv信息
[root@oracle ~]# pvdisplay /dev/sdc1
查看vg信息
[root@oracle ~]# vgdisplay
创建lv
[root@oracle ~]# lvcreate -n system01 -L 200M oradata
[root@oracle ~]# lvcreate -n undotbs01 -L 200M oradata
[root@oracle ~]# lvcreate -n control01 -L 50M oradata
[root@oracle ~]# lvcreate -n redo01 -L 100M oradata
[root@oracle ~]# lvcreate -n redo02 -L 100M oradata
查看lv
[root@oracle ~]# lvscan
ACTIVE ‘/dev/oradata/system01′ [200.00 MB] inherit
ACTIVE ‘/dev/oradata/undotbs’ [200.00 MB] inherit
ACTIVE ‘/dev/oradata/redo01′ [100.00 MB] inherit
ACTIVE ‘/dev/oradata/redo02′ [100.00 MB] inherit
ACTIVE ‘/dev/oradata/control01′ [52.00 MB] inherit
赋权
[root@oracle ~]# cd /dev/mapper
[root@oracle mapper]# ll
total 0
crw——- 1 root root 10, 63 Aug 21 14:28 control
brw-rw—- 1 root root 253, 4 Aug 21 18:38 oradata-control01
brw-rw—- 1 root root 253, 2 Aug 21 18:22 oradata-redo01
brw-rw—- 1 root root 253, 3 Aug 21 18:22 oradata-redo02
brw-rw—- 1 root root 253, 0 Aug 21 18:20 oradata-system01
brw-rw—- 1 root root 253, 1 Aug 21 18:21 oradata-undotbs
[root@oracle mapper]# chown -R oracle:oinstall /dev/mapper/oradata*
[root@oracle ~]# cd /dev/mapper
[root@oracle mapper]# ll
crw——- 1 root root 10, 63 Aug 21 14:28 control
brw-rw—- 1 oracle oinstall 253, 4 Aug 21 18:38 oradata-control01 类似格式
[root@oracle ~]# cd /dev/oradata/
[root@oracle oradata]# ll
lrwxrwxrwx 1 root root 29 Aug 21 18:38 control01 -> /dev/mapper/oradata-control01 类似格式
绑定裸设备
[root@oracle oradata]# raw /dev/raw/raw1 /dev/mapper/oradata-system01 –注意,之前是没有/dev/raw目录的,执行后会自动创建
dev/raw/raw1: bound to major 253, minor 0
[root@oracle oradata]# raw /dev/raw/raw2 /dev/mapper/oradata-undotbs01
[root@oracle oradata]# raw /dev/raw/raw3 /dev/mapper/oradata-redo01
[root@oracle oradata]# raw /dev/raw/raw4 /dev/mapper/oradata-redo02
[root@oracle oradata]# raw /dev/raw/raw5 /dev/mapper/oradata-control01
为了保证重启后,可以挂载裸设备,修改下面文件,添加内容
# This file and interface are deprecated.
# Applications needing raw device access should open regular
# block devices with O_DIRECT.
# raw device bindings
# format:
#
# example: /dev/raw/raw1 /dev/sda1
# /dev/raw/raw2 8 5
/dev/raw/raw1 /dev/mapper/oradata-system01
/dev/raw/raw2 /dev/mapper/oradata-undotbs01
/dev/raw/raw3 /dev/mapper/oradata-redo01
/dev/raw/raw4 /dev/mapper/oradata-redo02
/dev/raw/raw5 /dev/mapper/oradata-control01
重启裸设备服务,验证是否能挂载
[root@oracle ~]# /etc/init.d/rawdevices restart
Assigning devices:
/dev/raw/raw1 –> /dev/mapper/oradata-system01
/dev/raw/raw1: bound to major 253, minor 0
/dev/raw/raw2 –> /dev/mapper/oradata-undotbs
/dev/raw/raw3 –> /dev/mapper/oradata-redo01
/dev/raw/raw4 –> /dev/mapper/oradata-redo02
/dev/raw/raw5 –> /dev/mapper/oradata-control01
done
给新创建的裸设备增加权限,以使oracle能使用
[root@oracle ~]# cd /dev/mapper
[root@oracle mapper]# ll
total 0
crw——- 1 root root 10, 63 Aug 21 14:28 control
brw-rw—- 1 oracle oinstall 253, 4 Aug 21 18:38 oradata-control01 类似格式
[root@oracle mapper]# ls -l /dev/raw
crw-rw—- 1 root disk 162, 1 Aug 21 19:43 raw1 类似格式
这地方的权限不能直接使用chown –R oracle:oinstall /dev/raw/raw*来修改,由于由于/dev下的文件都是动态建立的,所以在OS重启后,属主仍会变成root:disk,要解决这个问题,可以把上面的命令写入到50-udev.permissions文件中, 这样每次开机后可以重新改变属主。
修改/etc/udev/permissions.d/50-udev.permissions文件
采用:/raw搜索
将raw/*:root:disk:0660
修改为raw/*:oracle:oinstall:0660,这个的意思是修改裸设备的默认属主为oracle:oinstall,默认的mode是0660。
修改完后再通过chown –R oracle:oinstall /dev/raw/raw*来赋权。
[root@oracle ~]# cd /dev/raw/
[root@oracle raw]# ll
total 0
crw-rw—- 1 oracle oinstall 162, 1 Aug 21 19:43 raw1
crw-rw—- 1 oracle oinstall 162, 2 Aug 21 19:43 raw2
crw-rw—- 1 oracle oinstall 162, 3 Aug 21 19:43 raw3
crw-rw—- 1 oracle oinstall 162, 4 Aug 21 19:43 raw4
crw-rw—- 1 oracle oinstall 162, 5 Aug 21 19:43 raw5
随后创建软连接
[oracle@oracle prod2]$ pwd
/u01/app/oracle/oradata/prod2
[oracle@oracle prod2]$ ln -s /dev/raw/raw1 system01.dbf
[oracle@oracle prod2]$ ln –s /dev/raw/raw2 undotbs01.dbf
[oracle@oracle prod2]$ ln –s /dev/raw/raw3 redo01.rdo
[oracle@oracle prod2]$ ln –s /dev/raw/raw4 redo02.rdo
[oracle@oracle prod2]$ ln –s /dev/raw/raw5 control01.ctl
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29831645/viewspace-1693511/ ,如需转载,请注明出处,否则将追究法律责任。