原文:http://blog.chinaunix.net/u1/59074/showart_1095667.html
因为是第一次在裸设备上面安装数据库,所以有很多知识点还是没有学到位,经过自己的多方琢磨,深入思考,问题终于解决,现总结安装步骤如下: 
第一步:创建裸设备。 
按照以下步骤执行: 
我的实验机器上存在三块硬盘,sda,sdb,sdc。其中sda只用来安装了操作系统,以及应用软件,另外两块硬盘准备用来做裸设备存储数据。 
为sdb划分分区,这块硬盘用来存放数据库系统文件system,sysaux等等 
[root@pora ~]# fdisk /dev/sdb
 
Command (m for help): p    查看分区情况
 
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         652     5237158+   5  Extended
/dev/sdb5               1          13      104359+  83  Linux    control01
/dev/sdb6              14          26      104391   83  Linux    control02
/dev/sdb7              27          39      104391   83  Linux    control03
/dev/sdb8              40          52      104391   83  Linux    redo01
/dev/sdb9              53          59       56196   83  Linux     redo02
/dev/sdb10             60         182      987966   83  Linux   system
/dev/sdb11            183         305      987966   83  Linux  sysaux
/dev/sdb12            306         428      987966   83  Linux  undotbs1
/dev/sdb13            429         652     1799248+  83  Linux temp 
根据硬盘大小分别划分不同大小的区来作为每个文件的存储,这里用红色字体标识出来的内容为注释。 
具体如何利用fdisk来划分区,这里就不详细介绍了,可以参考相关资料。 
[root@pora ~]# fdisk /dev/sdb
 
Command (m for help): n    创建分区 
Command action
   l   logical (5 or over)
   p   primary partition (1-4) 
这里选择 l 创建逻辑分区 
First cylinder (1-261, default 1):    
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-261, default 261): +1000M   创建1G的分区 
Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.                                                       保存分区表,同步到硬盘 
同理使用fdisk 为sdc这块硬盘划分相应的分区,这块硬盘主要用来存放业务数据。 
创建完所有分区以后,我们使用如下命令来查看: 
[root@pora ~]# fdisk -l
 
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1177     9454221   83  Linux
/dev/sda2            1178        1304     1020127+  82  Linux swap
 
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         652     5237158+   5  Extended
/dev/sdb5               1          13      104359+  83  Linux
/dev/sdb6              14          26      104391   83  Linux
/dev/sdb7              27          39      104391   83  Linux
/dev/sdb8              40          52      104391   83  Linux
/dev/sdb9              53          59       56196   83  Linux
/dev/sdb10             60         182      987966   83  Linux
/dev/sdb11            183         305      987966   83  Linux
/dev/sdb12            306         428      987966   83  Linux
/dev/sdb13            429         652     1799248+  83  Linux
 
Disk /dev/sdc: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1         652     5237158+   5  Extended
/dev/sdc5               1         123      987934+  83  Linux
/dev/sdc6             124         246      987966   83  Linux
/dev/sdc7             247         369      987966   83  Linux
/dev/sdc8             370         492      987966   83  Linux
/dev/sdc9             493         620     1028128+  83  Linux
/dev/sdc10            621         652      257008+  83  Linux 
第二步:为裸设备建立映射关系 
#vi /etc/sysconfig/rawdevices    这个文件用来在启动的时候加载裸设备 
内容如下: 
/dev/raw/raw1 /dev/sdb5
/dev/raw/raw2 /dev/sdb6
/dev/raw/raw3 /dev/sdb7
/dev/raw/raw4 /dev/sdb8
/dev/raw/raw5 /dev/sdb9
/dev/raw/raw6 /dev/sdb10
/dev/raw/raw7 /dev/sdb11
/dev/raw/raw8 /dev/sdb12
/dev/raw/raw9 /dev/sdc5
/dev/raw/raw10 /dev/sdc6
/dev/raw/raw11 /dev/sdc7
/dev/raw/raw12 /dev/sdc8
/dev/raw/raw13 /dev/sdc9
/dev/raw/raw14 /dev/sdc10 
建立链接关系 
ln -s /dev/raw/raw1 /oracle/oradata/orcl/control01
ln -s /dev/raw/raw2 /oracle/oradata/orcl/control02
ln -s /dev/raw/raw3 /oracle/oradata/orcl/control03
ln -s /dev/raw/raw4 /oracle/oradata/orcl/redo01
ln -s /dev/raw/raw5 /oracle/oradata/orcl/redo02
ln -s /dev/raw/raw6 /oracle/oradata/orcl/system
ln -s /dev/raw/raw7 /oracle/oradata/orcl/sysaux
ln -s /dev/raw/raw8 /oracle/oradata/orcl/undotbs1
ln -s /dev/raw/raw9 /oracle/oradata/orcl/temp
ln -s /dev/raw/raw10 /oracle/oradata/orcl/users
ln -s /dev/raw/raw11 /oracle/oradata/orcl/data
ln -s /dev/raw/raw12 /oracle/oradata/orcl/spfile 
加载裸设备 
#/sbin/service rawdevices restart 
第三步:安装oracle软件 
1.创建用户,赋予权限 
#groupadd dba 
#useradd oracle -G dba 
#passwd oracle 
密码设置为: oracle 
#mkdir /oracle 
#chown oracle:dba /oracle 
#chmod -R 755 /oracle 
2.配置环境变量 
#vi /home/oracle/.bash_profile 
内容如下: 
ORACLE_SID=orcl
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/ora10g
PATH=$ORACLE_HOME/bin:$PATH:.
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
 
export ORACLE_SID ORACLE_BASE ORACLE_HOME PATH LD_LIBRARY_PATH 
以oracle用户登录,执行以下操作 
$mkdir /oracle/ora10g 
$mkdir /oracle/arch 
$su - 
#xhost + 
找到安装包所在目录,执行runInstaller 
$./runInstaller 
按照正常步骤安装oracle软件,但是不需要创建数据库。 
创建oracle裸设备文件 
#vi /home/oracle/dbca.conf 
内容如下: 
spfile = /oracle/oradata/orcl/spfile
system = /oracle/oradata/orcl/system
sysaux = /oracle/oradata/orcl/sysaux
undotbs1= /oracle/oradata/orcl/undotbs1
data =   /oracle/oradata/orcl/data
temp    = /oracle/oradata/orcl/temp
users    = /oracle/oradata/orcl/users
redo1_1   = /oracle/oradata/orcl/redo01
redo1_2   = /oracle/oradata/orcl/redo02
control1= /oracle/oradata/orcl/control01
control2= /oracle/oradata/orcl/control02
control3= /oracle/oradata/orcl/control03 
第四步:创建数据库 
$dbca 
在选择存储设备的时候,我们选择第三项Raw Devices,然后选中“specify Raw Devices Mapping File”复选框,点击“Browse”按钮,选择上一步我们创建好的裸设备文件/home/oracle/dbca.conf, 
然后点击“next”,配置相应的参数,在配置enable archiving的时候,选择归档日志的存放目录为/oracle/arch。 
后面的步骤不详细列举了,希望大家自己去琢磨,一直到创建数据库完成。 
第五步:测试数据库 [oracle@pora ~]$ sqlplus / as sysdba
 
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 17 14:24:51 2008
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
 
SQL> select status from v$instance;
 
STATUS
------------
OPEN