裸设备,是没有经过格式化的分区或磁盘,也叫裸分区(原始分区),不被Unix通过文件系统来读取的特殊字符设备。它由应用程序负责对
它进行读写操作。不经过文件系统的缓冲,是不被操作系统直接管理的设备。由于跨过操作系统管理,使得I/O效率更高。在基于SUSE Linux
10上安装Oracle 10g RAC的话,由于Oracle 10g 不支持将ocr与votingdisk 存放在ASM 磁盘中,因此,依然需要为其使用裸设备方式。SUSE
Linux裸设备的配置与其他的Linux稍有差异,下面将具体描述。
1、先对磁盘进行分区,sdd如下面的方法炮制 #下面的示例中使用sdc和sdd来用作裸设备,一块用于ocr,一块用于votingdisk bo2dbp:~ # 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. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): Value out of range. Partition number (1-4): Value out of range. Partition number (1-4): 1 First cylinder (1-200, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-200, default 200): Using default value 200 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 2、分区后的结果 bo2dbp:~ # fdisk -l /dev/sdc Disk /dev/sdc: 209 MB, 209715200 bytes 64 heads, 32 sectors/track, 200 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System /dev/sdc1 1 200 204784 83 Linux bo2dbp:~ # fdisk -l /dev/sdd Disk /dev/sdd: 209 MB, 209715200 bytes 64 heads, 32 sectors/track, 200 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System /dev/sdd1 1 200 204784 83 Linux 3、配置裸设备 bo2dbp:~ # vi /etc/raw # /etc/raw # # sample configuration to bind raw devices # to block devices # # The format of this file is: # raw<N>:<blockdev> # # example: # --------- # raw1:hdb1 # # this means: bind /dev/raw/raw1 to /dev/hdb1 # # ... #Add new raw devices raw1:sdc1 raw2:sdd1 4、启动裸设备 bo2dbp:~ # rcraw start bind /dev/raw/raw1 to /dev/sdc1... done bind /dev/raw/raw2 to /dev/sdd1... done 5、配置裸设备随系统启动 bo2dbp:~ # chkconfig raw raw on #修改裸设备的权限与所有者,尽管该操作会修改,但重启之后将失效。永久修改见第7点.检查裸设备是否自动激活: chkconfig --list | grep raw bo2dbp:~ # chown oracle:dba /dev/raw/raw[1-2] bo2dbp:~ # chmod 660 /dev/raw/raw[1-2] 6、测试裸设备 bo2dbp:~ # dd if=/dev/zero of=/dev/raw/raw1 bs=1024k count=200 dd: writing `/dev/raw/raw1': No space left on device 200+0 records in 199+0 records out 209698816 bytes (210 MB) copied, 2.59567 seconds, 80.8 MB/s 7、修改裸设备启动后权限及所有者 #使用root用户修改/etc/udev/rules.d/50-udev-default.rules,确保raw设备的权限GROUP="dba", MODE="660", OWNER="oracle" #将其中包含KENREL=="raw"的记录修改为如下 KERNEL=="raw[0-9]*", SUBSYSTEM=="raw", NAME="raw/%k", GROUP="dba", MODE="660", OWNER="oracle" 8、确认配置成功 #重启之后的状态 #Author :Robinson Cheng Blog:http://blog.csdn.net/robinson_0612 bo2dbp:~ # ls -hltr /dev/raw total 0 crw-rw---- 1 root disk 162, 0 Sep 19 10:22 rawctl crw-rw---- 1 oracle dba 162, 1 Sep 19 10:22 raw1 crw-rw---- 1 oracle dba 162, 2 Sep 19 10:22 raw2 bo2dbs:~ # /usr/sbin/raw -qa /dev/raw/raw1: bound to major 8, minor 33 /dev/raw/raw2: bound to major 8, minor 49
更多参考
Linux/Unix shell sql 之间传递变量
Linux/Unix shell 脚本中调用SQL,RMAN脚本
有关基于用户管理的备份和备份恢复的概念请参考
Oracle 冷备份
Oracle 热备份
Oracle 备份恢复概念
Oracle 实例恢复
Oracle 基于用户管理恢复的处理(详细描述了介质恢复及其处理)
SYSTEM 表空间管理及备份恢复
SYSAUX表空间管理及恢复
Oracle 基于备份控制文件的恢复(unsing backup controlfile)
有关RMAN的备份恢复与管理请参考
RMAN 概述及其体系结构
RMAN 配置、监控与管理
RMAN 备份详解
RMAN 还原与恢复
RMAN catalog 的创建和使用
基于catalog 创建RMAN存储脚本
基于catalog 的RMAN 备份与恢复
RMAN 备份路径困惑(使用plus archivelog时)
有关ORACLE体系结构请参考
Oracle 表空间与数据文件
Oracle 密码文件
Oracle 参数文件
Oracle 联机重做日志文件(ONLINE LOG FILE)
Oracle 控制文件(CONTROLFILE)
Oracle 归档日志
Oracle 回滚(ROLLBACK)和撤销(UNDO)
Oracle 数据库实例启动关闭过程
Oracle 10g SGA 的自动化管理
Oracle 实例和Oracle数据库(Oracle体系结构)