上一篇文章主要讲了创建基于LVM的裸设备。本文开始介绍安装数据库软件和如何创建数据库库。
对于软件的安装,网上文章很多,相对来讲也比较容易,这里不再详细说明。
在我们安装好Oracle软件以后(推荐安装Oracle的时候,只安装软件),我们自己来创建数据库。
Oracle创建数据库有两种方法:一是用Oracle自带的工具DBCA,另一种是使用脚本手工来创建数据库。
本文也分别用这两种方法,在裸设备上建库。
一、使用Oracle自带工具DBCA创建数据库
继续上一篇文章,查看我们已经创建了所需要的裸设备。
[root@myhost ~]# raw -a
/dev/raw/raw1: bound to major 253, minor 8
/dev/raw/raw2: bound to major 253, minor 9
/dev/raw/raw3: bound to major 253, minor 10
/dev/raw/raw4: bound to major 253, minor 5
/dev/raw/raw5: bound to major 253, minor 6
/dev/raw/raw6: bound to major 253, minor 0
/dev/raw/raw7: bound to major 253, minor 7
/dev/raw/raw8: bound to major 253, minor 1
/dev/raw/raw9: bound to major 253, minor 2
/dev/raw/raw10: bound to major 253, minor 3
/dev/raw/raw11: bound to major 253, minor 4
裸设备与逻辑卷的对应关系如下:
[root@myhost ~]# cat /etc/sysconfig/rawdevices
# This file and interface are deprecated.
# Applications needing raw device access should open regular
# block devices with O_DIRECT.
# raw device bindings
# format:
#
# example: /dev/raw/raw1 /dev/sda1
# /dev/raw/raw2 8 5
/dev/raw/raw1 /dev/oradata/control01
/dev/raw/raw2 /dev/oradata/control02
/dev/raw/raw3 /dev/oradata/control03
/dev/raw/raw4 /dev/oradata/redo01
/dev/raw/raw5 /dev/oradata/redo02
/dev/raw/raw6 /dev/oradata/system01
/dev/raw/raw7 /dev/oradata/sysaux
/dev/raw/raw8 /dev/oradata/undotbs1
/dev/raw/raw9 /dev/oradata/temp
/dev/raw/raw10 /dev/oradata/users
/dev/raw/raw11 /dev/oradata/spfile
逻辑卷的详细信息。
[root@myhost ~]# lvscan
ACTIVE '/dev/oradata/system01' [600.00 MB] inherit
ACTIVE '/dev/oradata/undotbs1' [600.00 MB] inherit
ACTIVE '/dev/oradata/temp' [600.00 MB] inherit
ACTIVE '/dev/oradata/users' [600.00 MB] inherit
ACTIVE '/dev/oradata/spfile' [12.00 MB] inherit
ACTIVE '/dev/oradata/redo01' [600.00 MB] inherit
ACTIVE '/dev/oradata/redo02' [60.00 MB] inherit
ACTIVE '/dev/oradata/sysaux' [600.00 MB] inherit
ACTIVE '/dev/oradata/control01' [60.00 MB] inherit
ACTIVE '/dev/oradata/control02' [60.00 MB] inherit
ACTIVE '/dev/oradata/control03' [60.00 MB] inherit
这是我的.bash_profile 文件中关于ORACLE_BASE,ORACLE_HOME ,ORACLE_SID的设置:
unset USERNAME
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
umask 022
###在$ORACLE_BASE/oradata目录下创建裸设备的链接文件,如果oradata不存在,我们可以在Oracle 用户下自己创建。
[oracle@myhost oradata]$ ln -s /dev/raw/raw1 controle01
........
........
[oracle@myhost oradata]$ ll
总用量 0
lrwxrwxrwx 1 oracle oinstall 13 7月 5 08:43 control01 -> /dev/raw/raw1
lrwxrwxrwx 1 oracle oinstall 13 7月 5 08:44 control02 -> /dev/raw/raw2
lrwxrwxrwx 1 oracle oinstall 13 7月 5 08:44 control03 -> /dev/raw/raw3
lrwxrwxrwx 1 oracle oinstall 13 7月 5 08:44 redo01 -> /dev/raw/raw4
lrwxrwxrwx 1 oracle oinstall 13 7月 5 08:44 redo02 -> /dev/raw/raw5
lrwxrwxrwx 1 oracle oinstall 14 7月 5 08:45 spfile -> /dev/raw/raw11
lrwxrwxrwx 1 oracle oinstall 13 7月 5 08:44 sysaux -> /dev/raw/raw7
lrwxrwxrwx 1 oracle oinstall 13 7月 5 08:44 system01 -> /dev/raw/raw6
lrwxrwxrwx 1 oracle oinstall 13 7月 5 08:45 temp -> /dev/raw/raw9
lrwxrwxrwx 1 oracle oinstall 13 7月 5 08:45 undotbs1 -> /dev/raw/raw8
lrwxrwxrwx 1 oracle oinstall 14 7月 5 08:45 users -> /dev/raw/raw10
### 创建裸设备映射文件
在Oracle根目录下创建裸设备映射文件dbca.conf内容如下:
system=/u01/app/oracle/oradata/system01
sysaux=/u01/app/oracle/oradata/sysaux
undotbs1=/u01/app/oracle/oradata/undotbs1
temp=/u01/app/oracle/oradata/temp
users=/u01/app/oracle/oradata/users
redo1_1=/u01/app/oracle/oradata/redo01
redo1_2=/u01/app/oracle/oradata/redo02
control01=/u01/app/oracle/oradata/control01
control02=/u01/app/oracle/oradata/control02
control03=/u01/app/oracle/oradata/control03
spfile=/u01/app/oracle/oradata/spfile
到这里准备工作已经完成,我们可以启动DBCA,按照提示内容进行数据库的创建。
当选择存储的时候,选择我们创建的裸设备映射文件。
后面指定数据文件,控制文件等路径的时候,可能提示文件不存在,是因为oracle默认的路径和我们指定的路径不同。修改成我们映射文件的路径即可。