<!---->
ORACLE 10G RAC for Linux AS4 安装
作者:秋风no.1,学习测试所用,欢迎转载。
由于本人的硬件条件所限,所以采用的是虚拟机技术,虚拟机软件采用的是vmware server 1.0
宿主机,dell 2850,配置如下
_____________________________________
Intel(R) Xeon(TM) CPU 2.80GHz 两颗
内存2G
硬盘144G
os linux as 3
虚拟服务器 2台,配置如下
______________________________________
Intel(R) Xeon(TM) CPU 2.80GHz 1颗
内存1G
硬盘15G
os linux as 4
1.安装vmware server软件
从www.vmware.com下载vmware server 1.0 for linux软件,安装过程很简单,基本上是一路Enter.只是需要sn,在这里提供几个使用
928WH-Y65AW-21394-4C70J,92EY4-Y4NAT-23L07-4U7CH,9AWPN-Y400W-2179N-4K5HM
安装vmware server console,以便远程管理vmware server
2.安装虚拟服务器操作系统
我用的是OS是Redhat AS4,kernel 2.6.9-22,虚拟出两块网卡,开始安装操作系统,主机名叫
ha1pub,eth0:10.1.250.17,eth1:192.168.100.100.具体过程省略.安装结束后,使用ntsysv命令,关闭掉
一些不常使用的进程,只留下一下一些需要的,如ssh,ftp等等.然后关机!
然后cp ha1pub的所有配置文件到一个新的目录,在虚拟机console里面打开,就会出现一个新的系统,但是由于里面的ip信息和第一台机器的重复,进入系统后修改一下
编辑/etc/sysconfig/network文件,将ha1pub修改为ha2pub,然后修改ip,eth0:10.1.250.18,eth1:192.168.100.200.
注意,redhat系统里面,ip的配置文件ifcfg-eth文件里面,有可能包含mac地址的信息,需要删除掉,否则会mac地址重复的错误.ha2pub也关机
3.设置共享存储
由于安装RAC需要共享存储,所以必须为两台机器设置共享存储,我使用vmware-vdiskmanager命令创建一些虚拟硬盘
________________________________________________________________________
vmware-vdiskmanager -c -s 1Gb -a lsilogic -t 2 "/vmware/share/ocfs.vmdk" |用于Oracle集群注册表文件和CRS表决磁盘
________________________________________________________________________
vmware-vdiskmanager -c -s 2Gb -a lsilogic -t 2 "/vmware/share/asm1.vmdk" |用于Oracle的数据文件
________________________________________________________________________
vmware-vdiskmanager -c -s 2Gb -a lsilogic -t 2 "/vmware/share/asm2.vmdk" |用于Oracle的数据文件
________________________________________________________________________
vmware-vdiskmanager -c -s 2Gb -a lsilogic -t 2 "/vmware/share/asm3.vmdk" |用于Oracle的数据文件
________________________________________________________________________
vmware-vdiskmanager -c -s 2Gb -a lsilogic -t 2 "/vmware/share/asm4.vmdk" |用于Oracle的闪回恢复区
____________________________________________________________________
然后分别在两个虚拟服务器的的配置文件,ha1.vmx和ha2vmx文件里面添加如下信息
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1.sharedBus = "virtual"
scsi1:1.present = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.filename = "/vmware/share/ocfs.vmdk"
scsi1:1.deviceType = "disk"
scsi1:2.present = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.filename = "/vmware/share/asm1.vmdk"
scsi1:2.deviceType = "disk"
scsi1:3.present = "TRUE"
scsi1:3.mode = "independent-persistent"
scsi1:3.filename = "/vmware/share/asm2.vmdk"
scsi1:3.deviceType = "disk"
scsi1:4.present = "TRUE"
scsi1:4.mode = "independent-persistent"
scsi1:4.filename = "/vmware/share/asm3.vmdk"
scsi1:4.deviceType = "disk"
scsi1:5.present = "TRUE"
scsi1:5.mode = "independent-persistent"
scsi1:5.filename = "/vmware/share/asm4.vmdk"
scsi1:5.deviceType = "disk"
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
保存后,打开vmware console就可以看到添加的硬盘,启动ha1pub和ha2pub!随便进入一台系统,用fdisk格式化这些新添加的硬盘.
fdisk -l可以看到如下
__________________________________________________________________
Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 275 2104515 82 Linux swap
/dev/sda3 276 1958 13518697+ 83 Linux
Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 130 1044193+ 83 Linux
Disk /dev/sdc: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 261 2096451 83 Linux
Disk /dev/sdd: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdd1 1 261 2096451 83 Linux
Disk /dev/sde: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sde1 1 261 2096451 83 Linux
Disk /dev/sdf: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdf1 1 261 2096451 83 Linux
____________________________________________________________________
修改/etc/hosts文件,如下所示
127.0.0.1 localhost(这里必须这样修改,否则RAC节点名出现在回送地址中,安装RAC期间可能会报错)
10.1.250.17 ha1pub
10.1.250.18 ha2pub
192.168.100.100 ha1prv
192.168.100.200 ha2prv
10.1.250.19 ha1vip
10.1.250.20 ha2vip
4.调整网络设置,设置共享内存和信号参数
分别在ha1pub和ha2pub上,编辑/etc/sysctl.conf文件,添加如下信息,这些信息可以根据自己的机器实际情况来调整
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
5. 配置 hangcheck-timer 内核模块
该模块是用来监控集群的状态情况,linux as4中已经安装了此模块,使用下面的命令确认
find /lib/modules -name "hangcheck-timer.o" 看看有没有,如果有,配置并加载该模块
#echo "/sbin/modprobe hangcheck-timer" >> /etc/rc.local
#modprobe hangcheck-timer
#grep Hangcheck /var/log/messages | tail -2
Jul 31 15:01:49 ha2pub kernel: Hangcheck: starting hangcheck timer 0.5.0 (tick is 30 seconds, margin is 180 seconds).
如果看到上面的信息,说明模块的设置工作正确
6. 在两个节点上创建oracle用户和目录
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
以oracle用户登陆,分别建立两个目录
mkdir /home/oracle/app 用于安装oracle 数据库
mkdir /home/oracle/orcl 用于Oracle 集群文件系统 (OCFS) 的挂载点
修改oracle用户的.bash_profile文件如下所示
__________________________________________________________________
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORA_CRS_HOME=/home/oracle/app/oracle/product/10.2.0/crs/
export ORACLE_SID=orcl1
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
________________________________________________________________________
注意,在第二个节点上,修改SID=orcl2
7.建立节点之间的互信
我采用的是ssh,具体过程有很多文档说明,这里省略.分别要建立root用户,oracle用户的互信.
然后在分别以root用户,oracle在两个节点上执行如下命令
ssh localhost
ssh ha1pub
ssh ha2pub
ssh ha1prv
ssh ha2prv
8.安装配置ocfs2
从http://oss.oracle.com/projects/ocfs2/下载与自己操作系统版本相符合的ocfs,ocfs console
比如我的内核是2.6.9-22.EL,于是我下载的就是ocfs2-2.6.9-22.EL-1.2.2-1.i686.rpm,这点非常重要
安装很简单,把该下载的包都下载了rpm安装就ok了
8.1 ocfs2的配置
先使用下面命令禁用SElinux
#system-config-securitylevel &
然后在集群中的每个节点上生成和配置 /etc/ocfs2/cluster.conf
可以使用ocfs2console命令调出图形界面,将ha1pub和ha2pub两个节点都加入,点击apply,然后退出.
在/etc/ocfs2/目录下面将有cluster.conf文件,内容应该如下
______________________________________________________
node:
ip_port = 7777
ip_address = 10.1.250.17
number = 0
name = ha1pub
cluster = ocfs2
node:
ip_port = 7777
ip_address = 10.1.250.18
number = 1
name = ha2pub
cluster = ocfs2
cluster:
node_count = 2
name = ocfs2
________________________________________________________
接着编辑 /etc/init.d/o2cb, 删除开始带 #的配置行
然后 /etc/init.d/o2cb offline ocfs2
/etc/init.d/o2cb unload ocfs2
/etc/init.d/o2cb configure ocfs2 输入y就ok了
8.2 创建ocfs2文件系统
mkfs.ocfs2 -b 4k -C 32k -L oradatafiles /dev/sdb1
然后挂载ocfs2文件系统
mount -t ocfs2 -o datavolume /dev/sdb1 /home/oracle/orcl
修改/etc/fstab,添加
/dev/sdb1 /home/oracle/orcl ocfs2 _netdev,datavolume 0 0
8.3 调O2CB的心跳阀值
修改文件/etc/sysconfig/o2cb将O2CB_HEARTBEAT_THRESHOLD 设置为 301
修改文件 /etc/sysconfig/o2cb 后,需要更改 o2cb 配置。同样,应在集群的所有节点上执行以下操作。
# umount /home/oracle/orcl/
# /etc/init.d/o2cb unload
# /etc/init.d/o2cb configure
reboot两个节点
9. 安装,配置自动存储管理ASM2.0
可以从http://www.oracle.com/technology ... x/asmlib/rhel4.html这里下载相关rpm包
rpm安装过程省略
执行/etc/init.d/oracleasm configure
默认用户输入oracle,默认组输入dba,其他都y,y就可以了
9.1创建ASM磁盘
在一个节点上执行
/etc/init.d/oracleasm createdisk VOL1 /dev/sdc1
/etc/init.d/oracleasm createdisk VOL2 /dev/sdd1
/etc/init.d/oracleasm createdisk VOL3 /dev/sde1
/etc/init.d/oracleasm createdisk VOL4 /dev/sdf1
创建好后,执行/etc/init.d/oracleasm listdisks可以看到
VOL1
VOL2
VOL3
VOL4
然后在另外一个节点上执行
/etc/init.d/oracleasm scandisks
完成后执行
/etc/init.d/oracleasm listdisks应该可以看到和的一个节点相同的内容
10. 安装Oracle 10G cluster软件
从oracle网站下载10201_clusterware_linux32
以oracle用户登录,unset掉一些环境变量,如下
$ unset ORA_CRS_HOME
$ unset ORACLE_HOME
$ unset ORA_NLS10
$ unset TNS_ADMIN
开始安装cluster软件
./runInstaller -ignoreSysPrereqs
*确认安装目录是/home/oracle/app/oracle/product/10.2.0/crs/
*如果愿意可以将clustername由crs修改成其他的名称
*添加两个节点,如下所示
____________________________________________________________________
Public Node Name Private Node Name Virtual Node Name
ha1pub ha1prv ha1vip
ha2pub ha2prv ha2vip
____________________________________________________________________
*要修改一下eth0的类型,他默认的是private,修改为public
*指定OCR和mirror的路径
Specify OCR Location: /home/oracle/orcl/OCRFile
Specify OCR Mirror Location:/home/oracle/orcl/OCRFile_mirror
*指定Voting磁盘路径
Voting Disk Location: /home/oracle/orcl/CSSFile
Additional Voting Disk 1 Location:/home/oracle/orcl/CSSFile_mirror1
Additional Voting Disk 2 Location:/home/oracle/orcl/CSSFile_mirror2
*安装快结束时.会要求以root执行orainsRoot.sh和root.sh脚本,以root用户打开一个新的终端,一个一个节点顺序执行,千万不要抢时间一起执行
*执行最后一个root.sh的时候,可能会
报""eth0" is not public.Public interfaces should be used to configure virtual IPs."
这样的错误.这时候需要以root用户去执行$ORA_CRS_HOME/bin/vipca,选择两个节点,配置一下虚拟ip的信息.
至此,clusterware安装就ok了,检查一下集群节点
$ORA_CRS_HOME/bin/olsnodes -n
ha1pub 1
ha2pub 2
11. 安装Oracle 10g软件
从oracle网站下载10201_database_linux32
unset掉一些环境变量
$ unset ORA_CRS_HOME
$ unset ORACLE_HOME
$ unset ORA_NLS10
$ unset TNS_ADMIN
Oracle的安装省略,既然敢玩RAC,肯定以前也安装过oracle,只是有些地方需要注意
*节点的选择上,一定要选上所有的节点
*选择 "Install database software only",先不要建instance,等数据库安装完毕后时候dbca创建
*安装完成后,需要执行root.sh脚本,不要着急,一个节点一个节点执行
12. 建立TNS侦听
以oracle用户执行
$ netca &
*选择所有节点
*选择Listener configuration
*其他的都选择默认即可
结束后可以验证一下侦听是否已经在所有节点上运行
ps -ef|grep LISTEN
应该可以看到
/home/oracle/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_HA1PUB -inherit
另外一个节点应该是
/home/oracle/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_HA2PUB -inherit
13. 创建数据库实例
以oracle用户在任一节点执行
dbca &
*选择 Create a Database
*选择所有节点
*选择Custom Database
*全局数据库名输入orcl,SID也是orcl
*选择使用相同的密码对所有用户
*存储选项选择 use ASM
*修改“Create server parameter file (SPFILE)”为 /home/oracle/orcl/dbs/spfile+ASM.ora。所有其他选项可以保留其默认值。
*在ASM Disk Groups配置界面,选择Create New,会显示之前通过ASMlib创建的4个卷VOL1到VOL4
选择前三个,VOL1,VOL2,VOL3,Disk group name输入DATA,Redundancy,选择
Normal,单击ok,完成后再次单击Create New.选择最后一个VOL4,Disk group name输入
FLASH_RECOVERY_AREA, Redundancy选择External,单击ok,完成ASM的磁盘组创建.
*Database File Locations 选择DATA
*Recovery Configuration 选择FLASH_RECOVERY_AREA
*Database Content由于是测试,可以取消掉所有选项
*Service name 可以输入orcltest,TAF Policy选择Basic
*Database Storage 根据自己系统的硬件条件可以更改一些参数.
完成dbca,Oracle RAC就可以所已经完全安装成功了!
14. RAC的启动和关闭
如果都遵循了上面的安装步骤,那么每次节点重新启动的时候,所有服务都会自动启动,如果需要关闭或者启动某个节点,如下所示
*停止RAC
1.emctl stop dbconsole
2.srvctl stop instance -d orcl -i orcl1
3.srvctl stop asm -n ha1pub
4.srvctl stop nodeapps -n ha1pub
*启动RAC
和上面的步骤正好相反即
1.srvctl start nodeapps -n ha1pub
2.srvctl start asm -n ha1pub
3.srvctl start instance -d orcl -i orcl1
4.srvctl start dbconsole
15. RAC的验证和测试
有很多文档写的都很详细,本文就不赘述了
16. 参考文档
在 Linux 和 FireWire 上构建您自己的 Oracle RAC 10g 第 2 版集群
作者:Jeffrey Hunter
http://www.oracle.com/technology ... unter_rac10gr2.html |
|
相关推荐
本文将深入讲解如何在 VMware 虚拟环境中使用 Linux 操作系统来搭建 Oracle 10g RAC 环境。这一过程涉及多个步骤,包括虚拟机配置、Linux 安装、Oracle RAC 相关软件的安装和配置,以及故障排查。 首先,虚拟机的...
在IT领域,"vmware+linux+oracle10g rac"是一个典型的高性能数据库集群解决方案,主要涉及虚拟化技术、操作系统和数据库管理系统三个关键组件。在这个主题中,我们将深入探讨VMware虚拟化平台、Linux操作系统以及...
### vmware+linux+oracle10g RAC全过程解析 #### 实验背景与环境搭建 在探讨vmware+linux+oracle10g RAC全过程之前,我们先回顾一下实验的初衷与环境设置。实验旨在搭建一个基于虚拟化技术的Oracle RAC (Real ...
7.Oracle RAC 的实验环境搭建:文章中提到使用 VMware Server 1.0.6 创建虚拟机,安装 Linux Enterprise 5.1 操作系统,并安装 Oracle 10g RAC 软件,进行了详细的实验环境搭建。 8. 实验过程中的经验教训:文章中...
Vmware+Linux+Oracle_10G_RAC全程详细图解
雷宇《Vmware+Linux+Oracle 10G RAC全程详细图解》补丁 君三思的《手把手教你用VMware安装Oracle10g RAC 》补丁 补丁列表 compat-binutils215-2.15.92.0.2-24.i386 compat-libcwait-2.1-1.i386 compat-libstdc++-...
### 虚拟机ESXi + SuSELinux11 + Oracle10g RAC 安装 #### 一、安装前准备 ##### 1.1 基础概念 - **ESXi**: VMware ESXi 是一种类型 1 的虚拟化平台,能够直接运行在服务器硬件上,提供对硬件资源(CPU、内存、...
vmware+linux+oracle10g rac全过程
Vmware+Linux+Oracle 10G RAC全程详细图解
VMware Server 2.0.2 + Oracle Enterprise Linux 5.4(32bit) + Oracle 11g R2 RAC (11.2.0.1).rar VMware Server 2.0.2 + Oracle Enterprise Linux 5.4(32bit) + Oracle 11g R2 RAC (11.2.0.1).rar
本教程主要围绕"Vmware+Oracle 10G+RAC+Red Hat AS 4.7+RAW(裸设备)installing"的主题,将详细阐述如何在虚拟环境中搭建Oracle RAC集群。以下是关键知识点的详解: 1. **Vmware**:Vmware是一款强大的虚拟化软件...
在本实验中,我们将详细介绍如何使用VMware Server、Linux Enterprise 5.1以及Oracle 10g for Linux (10.2.0.1)来搭建一个完整的Oracle Real Application Clusters (RAC)环境。此实验旨在模拟企业级数据库集群的应用...
【标题】:"vmware+linux+oracle10g_rac全过程.doc"的详细解读 【描述】:本文档详细记录了一位专家在安装Oracle 10g RAC(Real Application Clusters)过程中的每一步,包括在vmware环境中设置Linux服务器以及解决...