参考了百度文库上的 <在裸设备上面安装oracle10g> 一文。
不过为了简单起见,我选择OS 为 Redhat AS 4.8 32位。
准备安装数据库为Oracle10gR2 32 位。
我的分区和映射关系如下:
/dev/sdb5 --> /dev/raw/raw1 --> spfile
/dev/sdb6 --> /dev/raw/raw2 --> control01
/dev/sdb7 --> /dev/raw/raw3 --> control02
/dev/sdb8 --> /dev/raw/raw4 --> control03
/dev/sdb9 --> /dev/raw/raw5 --> redo01
/dev/sdb10 --> /dev/raw/raw6 --> redo02
/dev/sdb11 --> /dev/raw/raw7 --> system
/dev/sdb12 --> /dev/raw/raw8 --> sysaux
/dev/sdc5 --> /dev/raw/raw9 --> undotbs1
/dev/sdc6 --> /dev/raw/raw10 --> temp
/dev/sdc7 --> /dev/raw/raw11 --> users
/dev/sdc8 --> /dev/raw/raw12 --> data
而用dbca 安装数据库的时候,若遇到无法识别裸设备,则多半是权限问题。
首先设置:
****************************************************
/etc/rc.local中如下:
raw /dev/raw/raw1 /dev/sdb5
raw /dev/raw/raw2 /dev/sdb6
raw /dev/raw/raw3 /dev/sdb7
raw /dev/raw/raw4 /dev/sdb8
raw /dev/raw/raw5 /dev/sdb9
raw /dev/raw/raw6 /dev/sdb10
raw /dev/raw/raw7 /dev/sdb11
raw /dev/raw/raw8 /dev/sdb12
raw /dev/raw/raw9 /dev/sdc5
raw /dev/raw/raw10 /dev/sdc6
raw /dev/raw/raw11 /dev/sdc7
raw /dev/raw/raw12 /dev/sdc8
chmod 777 /dev/raw/raw1
chmod 777 /dev/raw/raw2
chmod 777 /dev/raw/raw3
chmod 777 /dev/raw/raw4
chmod 777 /dev/raw/raw5
chmod 777 /dev/raw/raw6
chmod 777 /dev/raw/raw7
chmod 777 /dev/raw/raw8
chmod 777 /dev/raw/raw9
chmod 777 /dev/raw/raw10
chmod 777 /dev/raw/raw11
chmod 777 /dev/raw/raw12
chown oracle:dba /dev/raw/raw1
chown oracle:dba /dev/raw/raw2
chown oracle:dba /dev/raw/raw3
chown oracle:dba /dev/raw/raw4
chown oracle:dba /dev/raw/raw5
chown oracle:dba /dev/raw/raw6
chown oracle:dba /dev/raw/raw7
chown oracle:dba /dev/raw/raw8
chown oracle:dba /dev/raw/raw9
chown oracle:dba /dev/raw/raw10
chown oracle:dba /dev/raw/raw11
chown oracle:dba /dev/raw/raw12
****************************************************
/home/oracle/dbca.conf的内容:
spfile=/oracle/oradata/mydata/spfile
control1=/oracle/oradata/mydata/control01
control2=/oracle/oradata/mydata/control02
control3=/oracle/oradata/mydata/control03
redo1_1=/oracle/oradata/mydata/redo01
redo1_2=/oracle/oradata/mydata/redo02
system=/oracle/oradata/mydata/system
sysaux=/oracle/oradata/mydata/sysaux
undotbs1=/oracle/oradata/mydata/undotbs1
temp=/oracle/oradata/mydata/temp
spfile=/oracle/oradata/mydata/users
spfile=/oracle/oradata/mydata/data
然后,我发现在 /etc/rc.local中的设定并不是完全生效。
需要我重新手工执行:
chown oracle:dba /dev/raw/raw1
chown oracle:dba /dev/raw/raw2
chown oracle:dba /dev/raw/raw3
chown oracle:dba /dev/raw/raw4
chown oracle:dba /dev/raw/raw5
chown oracle:dba /dev/raw/raw6
chown oracle:dba /dev/raw/raw7
chown oracle:dba /dev/raw/raw8
chown oracle:dba /dev/raw/raw9
chown oracle:dba /dev/raw/raw10
chown oracle:dba /dev/raw/raw11
chown oracle:dba /dev/raw/raw12
以及执行:chown -R oracle:dba /oracle
然后dbca安装以及数据库启动可成功。
原因在于 /udev的目录下有一个permission设定,给 /dev/raw 下所有的设备设置了拥有者:root:disk,必须修改为 oracle:dba