linux 使用裸设备创建表空间
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,环境系统环境[root@node1 ~]# uname -aLinux node1 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:43 EDT 2010 i686 i6
千家信息网最后更新 2025年02月02日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.
设备
文件
环境
空间
主设备
数据
权限
磁盘
系统
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全掌控怎么设置
学术奖励数据库
银行软件开发技术要求
软件开发需要提交什么报告
刷卡手机无法连接到服务器
软件开发怎么做兼职
导航系统下载软件开发
超越安全网络专用服务器
中国软件开发大会
提出网络安全的意见或建议
软件开发周期测试阶段顺序
河南t3财务软件开发
做java开发好还是网络安全好
软件开发选择哪个行业比较好
软件开发培训学校一般多少钱
前台和后台数据库连接
数据库学习注意要点
怎么在数据库清空用户密码
停车场收费管理数据库
云服务器怎么管理用户名密码
四川军工数显钟服务器虚拟主机
sql数据库数据写入
jsp软件开发设计思想
上海漆影互联网科技
小型机 x86服务器
软件开发行业薪酬报告
rtmp串流服务器
服务器暴躁八卦图
数据库原理期末考试题经典题型
新建数据库文件怎么操作