原文: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