ESX上基于Linux的Oracle 10g RAC安装

日期: 2008-04-16 作者:Wind 来源:TechTarget中国

原文地址:http://60.190.88.90/ljf/2008/01/esxlinuxoracle-10g-rac.html

原文作者:Wind

当前环境

在ESX上虚拟出两个节点的RedHat Linux集群。

该过程将通过以下个步骤实现:
1. 操作系统与共享盘的创建
2. 依赖性和前提条件
3. 安装和配置存储
4. 安装Oracle ClusterWare 10g组件
5. 安装Oracle Database 10g组件
6. 创建TNS监听器进程和数据库
7. 执行日常管理任务

第一步: 操作系统安装与共享盘的创建

1. 在ESX上创建两个虚拟机安装RedHat Linux AS4系统,设定IP地址,子网掩码,网关,DNS等,选择关闭防火墙和禁用SELinux并选择全部软件包安装。

2. 参照VMware ESX下共享磁盘的建立创建共享盘,并添加入两个节点中

虚拟设备节点:选择 SCSI 1:0。
模式:选择 Independent,针对所有共享磁盘选择 Persistent。

修改虚拟机配置文件,增加如下内容:
disk.locking = “FALSE”
diskLib.dataCacheMaxSize = “0”
scsi1.sharedBus = “virtual”
3. Smartd关闭,启用Telnet和Ftp服务

第二步:依赖性和前提条件

Oracle需要如下程序包:
binutils-2.15.92.0.2-10.EL4
compat-db-4.1.25-9
control-center-2.8.0-12
gcc-3.4.3-9.EL4
gcc-c++-3.4.3-9.EL4
glibc-2.3.4-2
glibc-common-2.3.4-2
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-9.EL4
libstdc++-devel-3.4.3-9.EL4
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2
使用rpm -qa | grep * 进行检查系统包安装情况,由于Linux系统安装时选择全部软件包安装,因此上述软件包都已安装。

更新系统内核参数

kernel.shmall = 2097152
kernel.shmmax = 4096000000
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.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144

将下列参数添加到 /etc/security/limits.conf

oracle soft nofile 4096
oracle hard nofile 63536
oracle soft nproc 2047
oracle hard nproc 16384

使系统设置立即生效
/sbin/sysctl -p

创建Oracle帐户及创建目录
两个节点的用户Oracle的UID和GID需要相同。
groupadd -g 500 oinstall
groupadd -g 501 dba
groupadd -g 502 oper
useradd -u 500 -g oinstall -G dba, oper oracle
建好后通过id oracle命令检查,确保两节点输出内容相同。

mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/oraInventory
mkdir -p /u01/app/oracle/product/10.2.0/crs_1
mkdir -p /u01/app/oracle/product/10.2.0/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01
为OCFS2创建挂载点:
mkdir -p /u02/oradata/orcl
chown -R oracle:dba /u02 /u02/oradata /u02/oradata/orcl

创建Oracle用户环境文件
/home/oracle/.profile
export PS1=”`/bin/hostname -s`-> ”
export EDITOR=vi
export ORACLE_SID=racdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/bin: /usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin umask 022

网络配置
要确保RAC节点名未出现在回送地址中。编辑/etc/hosts
127.0.0.1 localhost.localdomain localhost

#Public Network – (eth0)
192.168.1.31 rac10g01
192.168.1.32 rac10g02

#Private Interconnect – (eth1)
10.10.10.1 rac10g01-priv
10.10.10.2 rac10g02-priv

#Public Virtual IP (VIP) addresses for – (eth0)
192.168.1.34 rac10g01-vip
192.168.1.35 rac10g02-vip

建立用户等效性(所有节点)
在安装Oracle RAC 10g过程中,OUI安装程序需要向另一节点复制安装文件,这样的复制过程可以通过SSH协议(若)可用,或者用远程复制(rcp)来进行。为了使复制操作成功,RAC节点上的Oracle用户必须能够在无需提供密码或口令的情况下登录到另一节点。
在每个主机上,以 oracle 用户身份登录:
mkdir ~/.ssh
chmod 755 ~/.ssh
/usr/bin/ssh-keygen -t rsa
/usr/bin/ssh-keygen -t dsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
cp ~/.ssh/authorized_keys ~/.ssh/rac10g01.authorized_keys
ftp从另一节点获取rac10g02.authorized_keys,并上传本机的rac10g01.authorized_keys
cat ~/.ssh/rac10g02.authorized_keys >> ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys
通过如下命令建立等效性(Oracle用户下):
exec /usr/bin/ssh-agent $SHELL
/usr/bin/ssh-add
验证用户连接等效:
ssh rac10g01 hostname
ssh rac10g02 hostname

配置 hangcheck-timer 内核模块(所有节点)
编辑/etc/rc.local,增加如下内容
/sbin/modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

第三步:安装和配置存储

在一节点上对共享盘进行分区,在创建了所有必要分区后,以 root 用户帐户使用以下语法将分区的更改情况通知给内核:
/sbin/partprobe
并重启所有节点内核识别新建分区。

安装cvuqdisk包(所有节点)
#export CVUQDISK_GRP=oinstall
#rpm -iv /mnt/crs/rpm/cvuqdisk-1.0.1-1.rpm

安装和配置OCFS(所有节点,root用户)
从 Oracle Linux 项目开发组网站 下载 与Linux内核版本匹配的OCFS 文件(驱动程序、工具、支持)。
安装:
rpm -Uvh ocfs2-2.6.9-42.ELsmp-1.2.7-1.el4.i686.rpm
ocfs2console-1.2.7-1.el4.i386.rpm
ocfs2-tools-1.2.7-1.el4.i386.rpm
配置:
/usr/sbin/ocfs2console
在出现的窗体中选择[Clucster]-[Configure Nodes]在“Node Configuration”对话框中,输入2个专用互连的节点名、IP 地址、端口号后,选择 [Clucster]-[Propagate Cluster Configuration] ,提示”Finished”。
在集群中的所有节点上以 root 用户帐户的身份运行以下命令
export PATH=$PATH:/sbin:/usr/sbin
/etc/init.d/o2cb enable
创建(单节点):
mkfs.ocfs2 -L “clusterfiles” /dev/sdb5
配置启动自动载入(所有节点):
export PATH=$PATH:/sbin:/usr/sbin
chkconfig –add o2cb
/etc/init.d/o2cb configure
在/etc/rc.local增加入下内容:
mount -o datavolume,nointr -t ocfs2 /dev/sdb5 /u02/oradata/orcl
chown –R oracle:dba /u02
chmod –R 775 /u02

安装并配置自动存储管理和磁盘(所有节点)
从 Oracle Linux 项目开发组网站 下载 与Linux内核版本匹配的ASMLib软件。
安装:
rpm -Uvh oracleasm-2.6.9-42.ELsmp-2.0.3-1.i686.rpm
oracleasm-support-2.0.3-1.i386.rpm
oracleasmlib-2.0.2-1.i386.rpm
配置:
/etc/init.d/oracleasm configure
输入用户和组,oracle和dba,选择在启动时加载程序模块,即Start Oracle ASM library driver on boot (y/n) [n]:y,其它项都默认。
创建ASM磁盘(单节点):
/etc/init.d/oracleasm createdisk VOL1 /dev/sdb6
/etc/init.d/oracleasm createdisk VOL2 /dev/sdb7
/etc/init.d/oracleasm createdisk VOL3 /dev/sdb8
其它节点通过以下命令发现ASM磁盘:
/etc/init.d/oracleasm scandisks

第四步:安装Clusterware组件

以Oracle用户登录
xhost +
建立用户等效
在一个节点上运行clusterware/runInstaller
指定群集配置,增加公共节点名称、专用节点名称、****名称
指定网络接口,指定eth0为公用,eth1为私有。
指定ORACLE集群注册表(OCR)和表决磁盘位置为/u02/oradata/orcl,选择外部冗余
安装结束后,在节点上按顺序执行脚本orainstRoot.sh,root.sh
以root用户身份在另一结点手动调用VIPCA,网络接口选择 eth0,输入虚拟节点IP,完成后
返回安装节点,结束安装。

第五步:安装Database组件

运行/database/runInstaller
选择 集群安装,并选择所有节点,选择全部组件。
选择只安装软件进行安装
安装结束后按顺序执行 root.sh脚本

第六步:创建TNS监听器进程和数据库(单节点)

创建TNS监听器进程
$xhost +
建立用户等效
运行netca
添加监听程序: 名为LISTENER,协议为TCP,端口号为1521
添加命名访求配置: 本地命名

创建数据库
$xhost +
建立用户等效
运行dbca
指定数据库标识,全局数据库名称: racdb SID前缀:racdb
存储选择ASM
创建ASM实例,输入SYS口令,并选择IFILE
创建磁盘组
指定数据库文件和闪回恢复区位置
按需要设置相关参数,如内存,字符集,连接模式
完成创建

第七步: 执行日常管理任务

查看所有实例和服务状态
$srvctl status database -d racdb
单个实例的状态
$srvctl status instance -d racdb -i racdb1
数据库全局命名服务的状态
$srvctl status service -d racdb -s racdb
节点应用程序的状态
$srvctl status nodeapps -n rac10g01
ASM实例的状态
$srvctl status asm -n rac10g01
停止 Oracle RAC 10g 集群
export ORACLE_SID=orcl1
emctl stop dbconsole
srvctl stop instance -d orcl -i orcl1
srvctl stop asm -n linux1
srvctl stop nodeapps -n linux1
启动 Oracle RAC 10g 集群
export ORACLE_SID=orcl1
srvctl start nodeapps -n linux1
srvctl start asm -n linux1
srvctl start instance -d orcl -i orcl1
emctl start dbconsole

EM管理器
http://rac10g01:1158/em

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Wind
Wind

相关推荐