网上有很多关于在VMWare server 2.x上安装RED HAT ENTERPRISE LINUX 5虚拟机(以下简称RHEL5),实现oracle rac的文章,参考http://hi.baidu.com/ggb98/blog/item/749e2554803b7dc3b745aebe.html。这篇文章已经介绍得很详细,以下为几点补充。
首先,安装、配置好linux后,在安装Oracle Clusterware以前,建议将虚拟机节点目录备份,今后无论是重装,还是增加新的Oracle RAC节点,都可以此副本作为安装起点,避免安装、配置linux的繁琐步骤。当然,如果是新增节点,不要忘记修改虚拟机.vmx文件、/home/oracle/.bash_profile、/etc/hosts中的设置。
其次,oracle cluster的ocr、votingdisk、asm必须在共享存储中,所以不能在VMWare server 2.x的“Create Virtual Machine”向导中上创建虚拟磁盘,因为向导中创建的虚拟磁盘并非共享的,而是各虚拟机节点独有的,这会导致安装完oracle cluster后,在第二个节点上运行root.sh报错:
Failure at final check of Oracle CRS stack
这时,运行两个节点上crs安装目录下的bin/ocrcheck.sh或bin/cluvfy.sh,显示两个节点的ocr的id属性不相等(ID值必须相等),导致cluster安装失败。
应该使用VMware/VMware Server目录下的vmware-vdiskmanager,在命令行创建虚拟磁盘,然后在两个虚拟机的vmx文件中,分别指定这些虚拟磁盘:
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1.sharedBus = "virtual"
scsi1:1.present = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.filename = "c:\vmwareshares\votingdisk.vmdk"
scsi1:1.deviceType = "disk"
scsi1:2.present = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.filename = "c:\vmwareshares\ocr.vmdk"
scsi1:2.deviceType = "disk"
scsi1:3.present = "TRUE"
scsi1:3.mode = "independent-persistent"
scsi1:3.filename = "c:\vmwareshares\asm.vmdk"
scsi1:3.deviceType = "disk"
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
以上配置内容中,scsi1.sharedBus设置为"virtual",c:\vmwareshares\votingdisk.vmdk、c:\vmwareshares\ocr.vmdk、c:\vmwareshares\asm.vmdk为vmware-vdiskmanager创建的虚拟磁盘,被两个虚拟机节点共享。
第三,注意在cluster安装向导界面中,当提示设置CRS安装目录/名称时,不要将CRS安装目录/名称和数据库的安装目录/名称混淆,CRS安装目录/名称一般设置为:
/opt/ora10g/product/10.2.0/crs_1和Ora10Crs_home
数据库安装目录/名称一般设置为:
/opt/ora10g/product/10.2.0/db_1和Ora10Db_Home
两者在/opt/ora10g/product/10.2.0下同一层不同子目录中,不能安装在同一子目录下或有包含关系,否则后面安装数据库时会报错。请在安装向导界面中看清楚,不能一味按"next"。本人在安装Clusterware时,安装界面默认的安装目录是/opt/ora10g/product/10.2.0/db_1,应该改为/opt/ora10g/product/10.2.0/crs_1
第四,当用dbca创建数据库时,可能会有出现以下错误提示窗口:
ORA-27504: IPC error creating OSD context
ORA-27300: OS system dependent operation:skgxpcini failed with status: 0
ORA-27301: OS failure message: Error 0
ORA-27302: failure occurred at: past_inmemor
若发生以上错误,先退出dbca界面,在命令行运行oifcfg getif,返回类似以下内容:
eth0 192.168.1.0 global public
eth1 10.10.17.0 global cluster_interconnect
virbr0 192.168.122.0 global cluster_interconnect
多了一个cluster_interconnect,须将virbr0一行删除,为此,运行oifcfg delif -global virbr0,然后再次运行oifcfg getif,返回如下:
eth0 192.168.1.0 global public
eth1 10.10.17.0 global cluster_interconnect
virbr0一行已删除,然后重新运行dbca。
第五,当oracle rac全部安装完后,必须测试负载均衡(load balance)和故障切换(failover)功能在两个节点间能否实现。
在数据库连接客户端的tnsnames.ora中设置:
RACDB =
(DESCRIPTION =
(load_balance = yes)
(FAILOVER = on)
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.103)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.104)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = RACDB)
(failover_mode = (type = select)(method = basic))
)
)
在两个虚拟机节点上的oracle的tnsnames.ora中设置:
RACDB =
(DESCRIPTION =
(load_balance = yes)
(FAILOVER = on )
(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = RACDB)
(failover_mode = (type = select)(method = basic))
)
)
其中node1-vip和node2-vip对应两个节点的虚拟ip
按以上设置后,负载均衡和故障切换将能正常实现。可试着开多个sqlplus,分别运行:
select instance_number, instance_name, host_name from v$instance;
从返回记录可以看出,sqlplus分摊到两个节点上,实现负载均衡。若所有sqlplus连接到同一个节点,试着在另一个节点上重启监听器:
lsnrctl stop
lsnrctl start
然后再看负载均衡是否正常。
在虚拟机节点上用以下命令停止/启动一个节点上的实例,看故障切换是否正常:
srvctl stop instance -d racdb -i racdb1
srvctl start instance -d racdb -i racdb1
当某个节点上的实例停止后,上面的sql应返回另一个节点的instance_number/instance_name/host_name
第六,如果需要增加新的RAC节点,可按本文开头安装、配置好linux后的副本作为起点,先修改新节点的/etc/hosts文件,加入新节点的ip、priv ip、vip,接着在RAC主节点的$Ora10Crs_home/oui/bin/目录下,以oracle用户执行addNode.sh,按向导提示操作,添加新的crs节点。然后主节点的$Ora10gDb_/oui/bin目录下,以oracle用户执行addNode.sh,按向导提示操作,添加新的db节点。最后在主节点上运行dbca,将新节点上的实例添加到集群。
参考http://www.bitscn.com/pdb/oracle/200904/160414_2.html。
最后一点,首次安装RAC,安装失败几乎不可避免,由于步骤繁多,需要格外仔细。如果安装报错,请参考本文开头的URL中的文章。如果不得已需要重装,请按照oracle metalinke 239998.1中的步骤,删除各节点上的crs。如果没有删干净,重装很可能无法进行下去。
分享到:
相关推荐
整个文档展现了如何在Vmware虚拟化平台上,使用RHEL 5.5作为操作系统,以及Oracle 11g R2作为数据库软件,搭建并升级Oracle 11g RAC的过程。这涉及到虚拟机的搭建、配置、Oracle安装、集群维护以及升级和回退等高级...
- **实验目标**:在Red Hat Enterprise Linux 5.4 (RHEL 5.4) 32位操作系统上,利用VMware Server 2.0.2.203138虚拟化平台,部署Oracle 10g R2 RAC(Real Application Clusters)集群。 - **实验背景**:随着业务...
本文档主要介绍了如何在vmware服务器2.0环境下,利用Red Hat AS4操作系统安装Oracle 10g RAC(Real Application Clusters)的详细步骤。Oracle RAC是一种高可用性解决方案,允许多台服务器共享同一数据库,提供故障...
在RHEL5.1上安装Oracle 10g RAC,需要下载10201_clusterware_linux32.zip和10201_database_linux32.zip文件,包含集群软件和数据库软件。在安装前,必须创建多块虚拟磁盘,包括OCR(Oracle Cluster Registry)磁盘、...
在这个环境中,我们将使用VMware Server 2.0.2和Red Hat Enterprise Linux 5.4(32位)来创建一个Oracle 11g RAC测试系统。以下是详细步骤: 1. **系统配置**: 主机操作系统为Windows 7 64位,用于运行VMware ...
Oracle 10g + ASM (Automatic Storage Management) + VMware Server 的组合是构建高可用性数据库环境的典型配置,尤其在创建Real Application Clusters (RAC)时。Oracle RAC是一种集群数据库技术,允许多台服务器...
- **虚拟化平台**:选择使用 VMware Server 1.0.6 版本而非 VMware Workstation,主要是因为前者支持创建共享磁盘,这对于构建 Oracle RAC 环境至关重要。 - **操作系统**:选用 Red Hat Enterprise Linux (RHEL) ...
在本实验指南中,我们将详细探讨如何在Vmware Sphere ESXI 5.0环境下使用虚拟文件共享安装RHEL 5_x64操作系统,并在此基础上构建Oracle 11gR2_x64 RAC集群。Oracle Real Application Clusters (RAC)是一种高可用性和...
本文将详细介绍如何在Vmware Workstation上的Red Hat Enterprise Linux 6 (RHEL6)操作系统中安装Oracle 11.2.0.4的RAC群集。 首先,了解Oracle RAC的基本概念。RAC是一种数据库集群技术,它允许多个服务器节点共享...
【ESX+Linux 5+Oracle 11G RAC 利用NFS存储】的知识点详解 在构建Oracle 11g RAC (Real Application Clusters) 集群时,选择合适的存储解决方案至关重要。在给定的场景中,采用的是VMware ESX Server作为虚拟化平台...
### 手把手教你用VMware在Linux下安装Oracle 10g RAC #### 一、准备工作 在开始安装Oracle 10g RAC之前,需要确保已经做好充分的准备工作。这包括安装必要的软件和配置合适的环境。 ##### 必备软件 1. **VMware ...
### 手把手教你用VMware在Linux下安装Oracle 10g RAC #### 一、概述 在本文中,我们将详细介绍如何使用VMware在Linux环境下安装Oracle 10g RAC(Real Application Clusters)。Oracle 10g RAC是一种数据库集群技术...
在vmware workstation 8虚拟机上,并不是server版本,使用redhat 5按照oracle 10g rac,经过多次实验100%成功,
本篇文章将深入探讨"Linux+Oracle11g+RAC"的组合,包括VMware Server 2.0.2环境下的安装与配置。 首先,让我们了解Oracle 11g RAC的基本概念。RAC是一种集群数据库技术,允许多台服务器共享同一数据库实例,提供...
在本教程中,我们将深入探讨如何在VMware环境中搭建Linux7.6操作系统,并在其上安装Oracle 11g数据库,包括RAC(Real Application Clusters)集群配置。首先,我们来了解一下Linux7.6和Oracle 11g的基础知识。 **...
- **注意事项**:不建议使用VMware Workstation,因为它不支持共享存储功能,这在安装Oracle RAC时是非常关键的。 ##### 2. **操作系统选择** - **推荐系统**:RHEL5 32bit 或 Oracle Enterprise Linux 5 - **...
2. **Linux操作系统**: 选用RHEL5 32位或Oracle Enterprise Linux 5,这两个系统都可以作为RAC的基础。确认操作系统版本与Oracle 10g R2兼容。 3. **Oracle软件**: 下载Oracle 10g R2的Clusterware和Database软件,...
10 ADG Linux+Oracle 11g+RAC+12cc+adg国内业界最详细生产系统下实施文档 11 ADG Linuxel6.5 RAC+DG11204bestpratice 12 ADG Linuxel6.5 RAC+DG11204脚本安装 13 ADG Oracle 10g DataGuard实施文档 14 ADG ...
根据提供的文件信息,本文将详细解析如何在VMware环境下利用Linux系统安装Oracle 10g RAC(Real Application Clusters)的过程。Oracle RAC是一种集群技术,能够在多台服务器上运行Oracle实例,共享一个数据库,从而...