技术开发 频道

基于LVM的裸设备构建ORACLE 10g数据库

  【IT168 技术】本文中,作者讲述了基于LVM的裸设备安装ORACLE数据库的方法。软件为vmware11,操作系统为OracleLinux 5.11 x64,构建的数据库是oracle 10.2.0.5 x64。另外,主机名称:odb.test.local;IP地址: 192.168.223.100 #使用的是虚拟机主机网络;实例: odb。

  一、系统安装

  过程略,安装过程中选择GNOME Desktop环境,将“Development Libraries","Development Tools","Legacy Software Development"记得选上安装,其它根据默认即可,像JAVA、OFFICE之类的可不安装。

  二、系统基本配置

  1.将光盘配置为本地yum安装源

[root@odb ~]# cd /etc/yum.repos.d/
[root@odb yum.repos.d]# cat local.repo
[local]
name=local
baseurl=file:///media/cdrom/Server
gpgcheck=0
enable=1

  2.禁用selinux、iptables服务

[root@odb ~]# sed -i 's/=enforcing/=disabled/g' /etc/sysconfig/selinux
[root@odb ~]# chkconfig iptables off
[root@odb ~]# chkconfig ip6tables off

  其它系统服务根据实际情况禁用

  3.安装oracle-validated包,进行oracle预置环境配置

[root@odb ~]# yum -y install oracle-validated.x86_64
[root@odb ~]# oracle-validated-verify

  执行该命令后会自动进行oracle软件安装所需的环境配置,如安装缺少的包,添加sysctl配置,ulimited相关等,像oracle用户,dba组之类的在系统安装好后会自动创建,用这个比使用centos的方便多了

[root@odb ~]# sed -i '1i\redhat 4' /etc/redhat-release
[root@odb ~]# sed -i '$a\192.168.223.100 odb.test.local odb' /etc/hosts

  4.安装rlwrap软件(使用该软件时可使sqlplus等增加上下翻页历史记录等功能)

[root@odb ~]# tar -xf rlwrap-0.42.tar.gz -C /tmp/
[root@odb ~]# cd /tmp/rlwrap-0.42/
[root@odb rlwrap-0.42]# ./configure ;make all;make install

  5.安装vmware-tools,过程略

  6.安装配置vncserver

[oracle@odb ~]# yum -y install vncserver
[oracle@odb ~]# cd /etc/sysconfig/
[oracle@odb sysconfig]# vim vncservers
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768 -depth 24"

  保存好以后配置后,

[root@odb ~]# vncserver                     #第一次执行会提示输入vnc的密码,并自动在用户目录下生成初始配置
[root@odb ~]# cd .vnc
[root@odb .vnc]# vim xstartup
#!/bin/sh

# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
gnome-session &

  修改很容易,将上两行红色的去掉注释,最后一行注释掉,添加使用gnome-session &就行了

  7.设置oracle安装目录,基本环境等

[root@odb ~]# mkdir -p /opt/oracle/
[root@odb ~]# chown -R oracle:oinstall /opt/oracle/
[root@odb ~]# chmod -R 775 /opt/oracle/

  添加oracle环境变量

[oracle@odb ~]$ su - oracle
[oracle@odb ~]$ vim .bash_profile                    #添加以下内容

export ORACLE_SID=odb
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

  三、Oracle数据库软件安装

  前期工作做完了,准备正式安装oracle数据库了,使用vnc客户端连接到该服务器(怎么连接这个没法教了,自己查资料吧),连接上后,打开一个新的terminal

[root@odb ~]# xhost +
access control disabled, clients can connect from any host
[root@odb ~]# export DISPLAY=:1
[root@odb ~]# su - oracle
[oracle@odb ~]$ cpio -idmv < /mnt/hgfs/Oracle/Oracle10g/linux.x64/10201_database_linux_x86_64.cpio
[oracle@odb ~]$ cd database/
[oracle@odb database]$ ./runInstaller

  后面就是图形化的安装过程了,也懒得讲了,如果在环境检查中有部分通不过,根据提示修改即可,安装时选择只安装software即可。

  安装完后再进行补丁安装

[oracle@odb ~]$ unzip /mnt/hgfs/Oracle/Oracle10g/linux.x64/p8202632_10205_Linux-x86-64.zip -d .
[oracle@odb ~]$ cd Disk1/
[oracle@odb Disk1]$ ./runInstaller

  也是图形化界面,过程懒得说了

  四、裸设备环境配置

  1.在线添加一块scsi虚拟硬盘,并使用以下方法在不重启系统时识别到

  [root@odb ~]# echo "- - -" > /sys/class/scsi_host/host0/scan

  2.创建卷组及相关逻辑卷

[root@odb ~]# fdisk /dev/sdb                    #创建一个单独的分区即可
[root@odb ~]# pvcreate /dev/sdb1
[root@odb ~]# vgcreate oradata /dev/sdb1

  然后创建oracle数据库需要的lvm逻辑卷

lvcreate -L 8M -n lv_spfile oradata
lvcreate -L 20M -n lv_control01 oradata
lvcreate -L 20M -n lv_control02 oradata
lvcreate -L 20M -n lv_control03 oradata
lvcreate -L 100M -n lv_redo01 oradata
lvcreate -L 100M -n lv_redo02 oradata
lvcreate -L 100M -n lv_redo03 oradata
lvcreate -L 1g -n lv_system01 oradata
lvcreate -L 1g -n lv_sysaux01 oradata
lvcreate -L 1g -n lv_users01 oradata
lvcreate -L 1g -n lv_undo01 oradata
lvcreate -L 1g -n lv_temp01 oradata

  创建成功后使用lvscan浏览一下

[root@odb ~]# lvscan
  /dev/hdc: open failed: No medium found
  ACTIVE            '/dev/oradata/lv_spfile' [8.00 MB] inherit
  ACTIVE            '/dev/oradata/lv_control01' [20.00 MB] inherit
  ACTIVE            '/dev/oradata/lv_control02' [20.00 MB] inherit
  ACTIVE            '/dev/oradata/lv_control03' [20.00 MB] inherit
  ACTIVE            '/dev/oradata/lv_redo01' [100.00 MB] inherit
  ACTIVE            '/dev/oradata/lv_redo02' [100.00 MB] inherit
  ACTIVE            '/dev/oradata/lv_redo03' [100.00 MB] inherit
  ACTIVE            '/dev/oradata/lv_system01' [1.00 GB] inherit
  ACTIVE            '/dev/oradata/lv_sysaux01' [1.00 GB] inherit
  ACTIVE            '/dev/oradata/lv_users01' [1.00 GB] inherit
  ACTIVE            '/dev/oradata/lv_undo01' [1.00 GB] inherit
  ACTIVE            '/dev/oradata/lv_temp01' [1.00 GB] inherit
  ACTIVE            '/dev/VolGroup00/LogVol00' [14.06 GB] inherit
  ACTIVE            '/dev/VolGroup00/LogVol01' [5.81 GB] inherit

  3.绑定裸设备,并设置开机自动加载

[root@odb ~]# vim /etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/oradata/lv_spfile
/dev/raw/raw2 /dev/oradata/lv_control01
/dev/raw/raw3 /dev/oradata/lv_control02
/dev/raw/raw4 /dev/oradata/lv_control03
/dev/raw/raw5 /dev/oradata/lv_redo01
/dev/raw/raw6 /dev/oradata/lv_redo02
/dev/raw/raw7 /dev/oradata/lv_redo03
/dev/raw/raw8 /dev/oradata/lv_sysaux01
/dev/raw/raw9 /dev/oradata/lv_system01
/dev/raw/raw10 /dev/oradata/lv_users01
/dev/raw/raw11 /dev/oradata/lv_undo01
/dev/raw/raw12 /dev/oradata/lv_temp01
[root@odb ~]# chkconfig rawdevices on
[root@odb ~]# /etc/init.d/rawdevices start
[root@odb ~]# ll /dev/raw*
total 0
cr--r----- 1 root root 162,  1 Jan 18 21:52 raw1
cr--r----- 1 root root 162, 10 Jan 18 21:52 raw10
cr--r----- 1 root root 162, 11 Jan 18 21:52 raw11
cr--r----- 1 root root 162, 12 Jan 18 21:52 raw12
cr--r----- 1 root root 162,  2 Jan 18 21:52 raw2
cr--r----- 1 root root 162,  3 Jan 18 21:52 raw3
cr--r----- 1 root root 162,  4 Jan 18 21:52 raw4
cr--r----- 1 root root 162,  5 Jan 18 21:52 raw5
cr--r----- 1 root root 162,  6 Jan 18 21:52 raw6
cr--r----- 1 root root 162,  7 Jan 18 21:52 raw7
cr--r----- 1 root root 162,  8 Jan 18 21:52 raw8
cr--r----- 1 root root 162,  9 Jan 18 21:52 raw9

  4.设置裸设备属组和访问权限(直接修改是没用的,在重启后会自动恢复root属组)

[root@odb ~]# vim /etc/udev/rules.d/60-raw.rules
ACTION=="add",KERNEL=="raw*",OWNER="oracle",GROUP="dba",MODE="0660"
[root@odb ~]# start_udev
Starting udev:                                             [  OK  ]
[root@odb ~]# ll /dev/raw*
crw-rw---- 1 oracle dba  162, 0 Jan 18 21:52 /dev/rawctl

/dev/raw:
total 0
crw-rw---- 1 oracle dba 162,  1 Jan 18 21:52 raw1
crw-rw---- 1 oracle dba 162, 10 Jan 18 21:52 raw10
crw-rw---- 1 oracle dba 162, 11 Jan 18 21:52 raw11
crw-rw---- 1 oracle dba 162, 12 Jan 18 21:52 raw12
crw-rw---- 1 oracle dba 162,  2 Jan 18 21:52 raw2
crw-rw---- 1 oracle dba 162,  3 Jan 18 21:52 raw3
crw-rw---- 1 oracle dba 162,  4 Jan 18 21:52 raw4
crw-rw---- 1 oracle dba 162,  5 Jan 18 21:52 raw5
crw-rw---- 1 oracle dba 162,  6 Jan 18 21:52 raw6
crw-rw---- 1 oracle dba 162,  7 Jan 18 21:52 raw7
crw-rw---- 1 oracle dba 162,  8 Jan 18 21:52 raw8
crw-rw---- 1 oracle dba 162,  9 Jan 18 21:52 raw9

  5.创建数据文件指向裸设备的软连接

[root@odb ~]# mkdir -p /opt/oracle/oradata/odb
ln -s /dev/raw/raw1 /opt/oracle/oradata/odb/spfile
ln -s /dev/raw/raw2 /opt/oracle/oradata/odb/control01
ln -s /dev/raw/raw3 /opt/oracle/oradata/odb/control02
ln -s /dev/raw/raw4 /opt/oracle/oradata/odb/control03
ln -s /dev/raw/raw5 /opt/oracle/oradata/odb/redo01
ln -s /dev/raw/raw6 /opt/oracle/oradata/odb/redo02
ln -s /dev/raw/raw7 /opt/oracle/oradata/odb/redo03
ln -s /dev/raw/raw8 /opt/oracle/oradata/odb/sysaux01
ln -s /dev/raw/raw9 /opt/oracle/oradata/odb/system01
ln -s /dev/raw/raw10 /opt/oracle/oradata/odb/users01
ln -s /dev/raw/raw11 /opt/oracle/oradata/odb/undo01
ln -s /dev/raw/raw12 /opt/oracle/oradata/odb/temp01

  创建完软连接后,建议将这些链接文件的属组和权限也改一下

[root@odb ~]# chown -R oracle:oinstall /opt/oracle/oradata/odb/
[root@odb ~]# chmod -R 775 /opt/oracle/oradata/odb/

  6.创建裸设备映射文件DBCA_RAW_CONFIG.txt

[root@odb ~]# su - oracle
[oracle@odb ~]$ vim DBCA_RAW_CONFIG.txt
spfile=/opt/oracle/oradata/spfile
control1=/opt/oracle/oradata/odb/control01
control2=/opt/oracle/oradata/odb/control02
control3=/opt/oracle/oradata/odb/control03
redo1_1=/opt/oracle/oradata/odb/redo01
redo2_1=/opt/oracle/oradata/odb/redo02
redo3_1=/opt/oracle/oradata/odb/redo03
sysaux=/opt/oracle/oradata/odb/sysaux01
system=/opt/oracle/oradata/odb/system01
users=/opt/oracle/oradata/odb/users01
undotbs1=/opt/oracle/oradata/odb/undo01
temp=/opt/oracle/oradata/odb/temp01

  7.先运行 netca 创建LISTENTER和TNSNAMES之类的,过程略

  8.运行DBCA创建数据库

[oracle@odb ~]$ export DBCA_RAW_CONFIG=/home/oracle/DBCA_RAW_CONFIG.txt
[oracle@odb ~]$ dbca

  后面的安装过程略,建议选择自定义安装,安装过程中裸设备文件如果没有到,可以手工指定软链接的文件位置

0
相关文章