目录
一、概述
二、硬件平台搭建
三、 As4 update2安装配置
四、Oracle 10g安装配置
五、 Cluster Suite安装配置
六、系统切换测试
七、常用命令
一、概述
黄岛市开发区财政局本次采用两台IBM X3850-8664服务器、一台DS4300盘阵,平台采用 As4 update2 结合cluster suite,部署Oracle 10g数据库,形成高可用性数据集群系统。
操作系统: As4 update2_emt64
集群软件:rhel-4-u2-rhcs-emt64
数据库软件:Oracle 10g for linux64
服务器:IBM X3850-8664
盘阵:DS4300
二、硬件平台
IBM X3850-8664服务器为双网卡,Intelligent Platform Management Interface (IPMI)使用第一块网卡的端口,RSA II远程管理卡单独一个网络端口。
每个节点通过光纤连接DS4300盘阵。安装过程中最好把连接节点和盘阵的光纤拔下;或者如果不拔下光纤,安装过程中分区时只选择本机硬盘,不要选择盘阵。
每个节点的两个网卡分别通过标准网线连接交换机。
注:1、由于rhel-4-u2-rhcs-emt64尚不支持RSA II远程管理卡,而IBM还没有提供RSA II for As4 update2以上版本的驱动,为避免因驱动不匹配系统出现不可预知错误,因此使用IPMI 作为本次cluster的fence设备。IPMI也是经过Redhat认证的(参见Redhat官方文档 Cluster Suite: Configuring and Managing a Cluster 其中3.6. Configuring Fence Devices)
2、本次安装前硬件供应商已经做好DS400盘阵的配置,因此在本文档盘阵配置不再叙述。
三、 As4 update2安装配置
本次为服务器全新安装,并且服务器为oracle专用。
(一)、根据IBM提供的驱动制造驱动软盘。
(二)、配置BMC
分别在两台主机系统引导时根据屏幕提示选择[F1],进入BIOS,选择ADVANCE CONFIG,设置BMC,配置IPMI NETWORk,地址分别为192.168.17.11和192.168.17.12。
(三)、安装 As4 update2
安装时在系统引导时根据屏幕提示按[F11]进入BIOS,设置为从光盘引导。
请按照以下步骤安装 As4 update2:
1.使用第一张 CD 启动服务器。
2.启动屏幕上出现时在底部显示 boot:
o输入linux dd
o安装程序扫描硬件,短暂显示 闪屏,然后开始显示一系列屏幕提示。
o根据提示插入USB软驱并插入驱动软盘,选择通过sda(软盘)安装驱动
3.选择语言
o接受默认值。
4.配置键盘
o接受默认值。
5.欢迎屏幕
o单击 下一步。
6.配置鼠标
o接受默认值。
7.安装类型
o选择 Custom。
8.设置磁盘分区
o 此处接受默认值,只是更改swap分区大小,设为4G
(警告:对磁盘进行错误分区是删除硬盘上所有内容的最可靠、最快捷的方法之一。如果不确定如何分区,请先停下来,找人帮帮您,否则您将冒丢失数据的危险!)
9.配置启动加载程序
o接受默认值。
10.配置网络
o此时显示系统识别出一个网卡,利用规划好的地址配置。
o使用静态 IP 地址配置数据库服务器。单击 Edit。
o出现一个弹出窗口。取消选中 Configure using DHCP 复选框,并输入服务器的 IP 地址10.28.36.11和网络掩码255.255.255.0。确保选中 Activate on boot,然后单击 OK。
o在 Hostname 框中,选择 manually 并输入主机名kfqcz1……集群依次类推。
o在 Miscellaneous Settings 框中,输入网关10.28.36.1,DNS为空。
11.配置防火墙
o不配置防火墙。选择 No firewall。
12.其他语言支持
o接受默认值。
13.选择时区
o选择适合您区域的时间设置。
14.设置 Root 口令
o输入 root 的口令hd2001,并再次输入以进行确认。
15.选择程序包组
o选择必须的安装组件或者最下面选择全选。
o单击 下一步 继续操作。
16.准备安装
o单击 下一步。
17.安装程序包
o软件将被复制到硬盘并被安装。根据提示更改光盘,然后在安装完成时单击 下一步。
18.配置图形界面 (X)
o接受默认值
19.配置监视器
o如果安装程序正确识别了您的监视器,则接受默认值。否则,从列表中选择一个兼容的监视器。
20.定制图形配置
o接受默认值。
21.恭喜
o从系统中取出安装介质,然后单击 下一步。
22.系统自动重新启动并显示一个新的欢迎屏幕。
o单击下一步。
o根据提示更换光盘。第五张光盘安装完成后提示插入地一张光盘,安装完成后重新启动机器。
23.许可协议
o阅读许可协议。如果同意其中的条款,则选择 Yes, I agree to the License Agreement 并单击下一步。
24.日期和时间
o设置日期和时间。
25.用户帐户
o此时不要为 oracle 创建帐户。本部分稍后将介绍如何创建 oracle 帐户。
26. Network
o由于本次不能连接到internet网络,此时可不必激活。
27.其他 CD
o单击下一步。
28.完成设置
o单击下一步。
29.出现一个图形登录屏幕。
30.恭喜!您的 Linux 软件现已安装完毕。
(四)、配置网络(在两台机器上分别执行)
#rpm -ivh tg3-3.62b-1.src.rpm
#cd /usr/src/
#rpmbuild -bb SPECS/tg3.spec
#rpm -ivh RPMS/
#cd /lib/modules/
#modprobe tg3
#system-config-network
通过图形界面添加新安装的网卡,并配置地址为192.168.7.21
第二台机器配置新添加网卡地址为192.168.7.22
配置/etc/hosts文件:
#vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
10.28.36.11 kfqcz1
10.28.36.12 kfqcz2
10.28.36.13 share-kfqcz
192.168.7.11 fence-kfqcz1
192.168.7.12 fence-kfqcz2
其中10.28.36.13为cluster浮动ip地址,192.168.7.11、192.168.7.12为fence地址
(五)、配置磁盘阵列
1、(在kfqcz1上执行)磁盘阵列划分为四个分区,两个500M分区做为cluster投票分区,剩余磁盘空间分为两个分区,一个用来存放oracle数据库,另一个用来备份数据文件,其中只把第三分区格式化为ext3格式,1、2分区做为裸设备未格式化,4分区由于未备份数据,也未格式化。
步骤为:
#fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel.Changes will remain in memory only,
until you decide to write them.After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 4427.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):p
Disk /dev/sdb:255 heads, 63 sectors, 4427 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-4427, default 1):1
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):+500M
Using value 1000
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (1-4427, default 1001):
Using value 500
Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):+500M
Using value 1000
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (1-4427, default 1001):3001
Using value 3001
Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):4427
Using default value 4427
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 4
First cylinder (1-4427, default 1001):3001
Using value 3001
Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):4427
Using default value 4427
Command (m for help):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING:If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
#mke2fs -j -b 4096 /dev/sdb3
2、绑定raw设备(在两台机器上执行)
#vi /etc/sysconfig/rawdevice
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
#/etc/rc.d/init.d/rawdevice restart
四、Oracle 10g安装配置
Oracle 10g 经认证可以在不需要更新的情况下运行 AS 4.0的基本版本。
(如果安装完以后,把两台服务器和盘阵用光纤连接)以下步骤在两台机器上分别执行:
(一)、安装oracle前设置
1、安装oracle所需的软件包
如果安装时选择完全安装,则另外只需要安装以下两个软件包:
binutils-2.15.92.0.2-15.0.0.0.2.x86_64.rpm
compat-oracle-rhel4-1.0-5.i386.rpm
以root帐号使用以下命令安装:
rpm -Uvh binutils-2.15.92.0.2-15.0.0.0.2.x86_64.rpm
rpm -Uvh compat-oracle-rhel4-1.0-5.i386.rpm
2、建立帐号
# groupadd oinstall
# groupadd dba
# useradd -p oracle -g oinstall -G dba oracle
3、设置系统参数
#vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
#/sbin/sysctl -p
4、性能设置
#vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
# vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
#vi /etc/profile.local:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
5、设置目录
5.1 base directory
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle/
chmod -R 775 /u01/app/oracle/
5.2 data directory
mkdir /u02/oradata
chown oracle:oinstall /u02/oradata/
chmod 775 /u02/oradata/
6、设置环境变量
# .bashrc
# User specific aliases and functions
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=kfqcz
export ORACLE_TERM=xterm
export LD_ASSUME_KERNEL=2.4.1
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/sbin
export PATH
然后执行
$ source .bash_profile
使环境变量生效
(二)、以图形界面安装oracle软件
把oracle软件从光盘拷贝到硬盘,执行以下命令
# cp 10201_database_linux_x86_64.cpio.gz /home/oracle
# cd /home/oracle
# gzip –d 10201_database_linux_x86_64.cpio.gz
# cpio –idmv < 10201_database_linux_x86_64.cpio.gz
# xhost +
# su oracle
$ cd /home/oracle/database
$ ./runInstall
启动图形界面
1.Welcome — 单击 Next
2.Specify File Locations — 确认默认值后继续
3.Select Installation Type — Enterprise Edition
4.选择数据库配置 — 选择“Do not create a starter database”。 (我们将在一个单独的步骤中使用数据库配置助手 (DBCA) 来创建数据库。)在安装到最后的时候又会弹出对话框,提示执行以root权限执行两个脚本,这时打开一个新的终端窗口,分别执行这两个脚本
例如: #cd /u01/app/oracle/product/10.2.0/db_1/
#./root.sh
不要同时运行这些脚本。 等一个脚本结束后再启动另一个.
5.Configuration Results — 检查结果并单击 Exit。
6.安装结束
(三)、配置数据库
在两台机器上分别安装oracle数据库软件以后,需要在其中一台上安装oracle数据库实例,然后把配置文件拷贝到第二台机器上。我们在kfqcz1上创建oracle实例。
首先以root权限挂载盘阵:
#mount /dev/sdb3 /u02
切换到oracle用户,执行dbca命令:
#dbca
图形界面起来以后:
1.Welcome — 选择“Oracle Real Application Clusters database”
2.Operations — 创建数据库
3.Node Selection — 单击 Select All
4.Database Templates — 选择general
5.Database Identification — 全局数据库名:kfqcz;SID: kfqcz
6.Management Options — 利用 Enterprise Manager 配置数据库;使用数据库控制进行数据库管理
7.Database Credentials — 为所有帐户使用相同的口令;输入口令并再次确认
8.Storage Options — 文件系统 (filesystem)
9.Database File Locations — 更改路径为/u02/oradata
10.Recovery Configuration — 更改路径为/u02/oradata/recover file
11.Database Content — 示例模式
12.Initialization Parameters — 内存:把默认的40%改为60%;字符集的设定选择ZHSGBK16和UTF8。
13.Database Storage — 单击 Next
14.Create Options — 选择“Create Database”
15.Summary — 检查总结信息并单击 OK
oracle数据库实例创建以后用netmgr命令创建监听和服务。
现在在kfqcz1上oracle数据库已经能运行,把spfile文件和监听文件拷贝到kfqcz2上面(注意更改相关ip地址),然后在kfqcz1上停掉oracle服务,umount /u02,然后在kfqcz2上mount /dev/sdb3到/u02,启动oracle 监听、启动数据库,测试是否正常。
五、 Cluster Suite安装配置
(一)、安装 Cluster Suite rpm包(以下命令在两台机器上分别执行):
把 Cluster Suite安装光盘放入光驱,光盘加载后依此执行以下命令:
#mkdir /tmp/RPMS/
#cp /media/cdrom//RPMS/*.rpm /tmp/RPMS/
#cd /media/cdrom//RPMS/*.rpm /tmp/RPMS/
#rm -rf dlm-kernel*
#rm -rf cman-kernel
#rpm -ivh *.rpm
(二)、在kfqcz1上配置cluster服务
1、启动cluster配置工具
#system-config-cluster
2、命名cluster
3、添加fence设备
选择fence设备类型为ipmi,两个fence设备的地址为192.168.17.11、192.168.17.12,登录帐号和密码分别是USERID、PASSW0RD。
4、添加两个节点,并且把fence设备为节点添加上
5、保存配置,配置文件保存为/etc/cluster/cluster.conf。把改文件拷贝到kfqcz2上相同的目录下
6、启动服务
#service ccsd start
#service cman start
#service fenced start
#service rgmanager start
7、此时查看kfqcz2已经加入cluster
8、设置failover domain,把两节点加上
9、添加resource。这里添加了三个resource,一个mount :/dev/sdb3 /u02,一个ip :10.28.36.13,一个script
这时候需要把写好的脚本oracle_script放到/sbin/中,注意添加可执行权限
10、添加cluster service
把resource中的三个资源以share的形式添加到cluster service中,注意添加完保存后运行/sbin/ip addr list 查看浮动地址
11、把配置文件在两节点同步
至此,cluster 配置完毕
六、系统切换测试
切换测试主要模拟两种情况:
1、运行oracle服务的主机断电,另一主机能否顺利接管服务。这里是通过直接切断kfqcz1的电源进行测试
2、运行oracle服务的主机网络断,另一主机能否把该主机fence掉并接管服务。这里是通过直接拔掉kfqcz1的网线进行测试
经测试,oracle服务在两种情况下都能稳定的进行切换,达到了预期的效果。
七、常用命令
1、系统密码帐号
root/hd2001 oracle/oracle
oracle数据库所有密码为oracle
2、系统日志
cat /var/log/message
或者可以用 dmesg命令查看
3、数据库相关
启动:/sbin/oracle_script start
关闭:/sbin/oracle_script stop
重启:/sbin/oracle_script restart
查看状态:/sbin/oracle_script status
用sqlplus登录: $sqlplus /nolog
>conn / as sysdba
查看监听状态:lsnrctl status
启动监听:lsnrctl start
关闭监听:lsnrctl stop
10.54.170.00.0.0.0 255.255.255.128 u 0 0 0 eth0
10.0.0.0 0.0.0.0
169.254.0.0 0.0.0.0 255.255.
0.0.0.0 10.0.0.1 0.0.0.0 ug 0 0 0 eth1
1、查看系统负载,红色 id表示系统cpu 空闲比例,wa表示等待比例
#top
top - 18:14:53 up 85 days, 8:34, 8 users, load average: 0.26, 0.33, 0.34
Tasks: 243 total, 1 running, 242 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.5% us, 0.3% sy, 0.0% ni, 99.1% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 4037144k total, 4007468k used, 29676k free, 70816k buffers
Swap: 5111800k total, 41504k used, 5070296k free, 3125632k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7182 oracle 16 0 1593m 81m 76m S 0.7 2.1 0:05.30 oracle
8072 root 16 0 6276 1128 768 R 0.7 0.0 0:00.03 top
3524 root 15 0 19572 7044 1588 S 0.3 0.2 33:33.32 hald
1 root 16 0 4748 548 456 S 0.0 0.0 0:24.65 init
2 root RT 0 0 0 0 S 0.0 0.0 0:02.39 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.04 ksoftirqd/0
2、查看系统I/O
#vmstat 2 (表示每隔2秒查看一次系统i/o情况)
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 41492 50812 63632 3105420 0 0 0 4 0 1 1 0 99 0
0 0 41492 50684 63632 3105420 0 0 0 118 1042 325 0 0 100 0
0 0 41492 50684 63632 3105420 0 0 0 90 1022 302 0 0 100 0
0 0 41492 50684 63632 3105420 0 0 0 74 1023 323 0 0 100 0
0 0 41492 50684 63632 3105420 0 0 0 16 1016 294 0 0 100 0
0 0 41492 50684 63632 3105420 0 0 0 32 1019 302 0 0 100 0
3、查看系统每硬盘I/O
#iostat 3
Linux 2.6.9-22.ELsmp (kfqcz1) 05/20/2008
avg-cpu: %user %nice %sys %iowait %idle
0.70 0.00 0.13 0.02 99.15
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.85 1.32 19.85 9769881 146367888
sdb 1.84 0.96 50.23 7093638 370351360
sdc 0.00 0.00 0.00 1984 0