当前位置:首页 >> IT/计算机 >>

oracle10g下RAC安装-linux版


{oracle10g 下 RAC 安装-linux 版}

北京握奇数据系统有限公司

文件状态: [√] 草稿 [ ] 修改稿 [ ] 正式发布

文档密级: 部 作 审 审 门: 者: 核: 批: 张建双

当前版本: cc 项目名称: 完成日期: 日 日 期: 期:

VCS 基本原理介绍

版本历史
版本 1.0 日期 2011-09-20 作者 张建双 说明

第 2 页 总 62 页

VCS 基本原理介绍

目录
1 引言........................................................................................................................................... 4 1.1 文档目的....................................................................................................................... 4 1.2 约定............................................................................................................................... 4 1.3 术语与缩写解释........................................................................................................... 4 安装前准备............................................................................................................................... 4 2.1 本次安装需要的软件 ................................................................................................... 4 2.2 操作系统补丁............................................................................................................... 5 针对 Oracle 配置 redhat .......................................................................................................... 5 3.1 验证系统要求............................................................................................................... 5 3.2 内核参数....................................................................................................................... 6 3.3 添加 oracle 用户和组 ................................................................................................. 7 3.4 网络设置....................................................................................................................... 7 3.5 为用户等效性设置 SSH ................................................................................................ 8 ASM 配置共享磁盘 ................................................................................................................ 10 4.1 安装 ASM 软件用 root 权限执行 .............................................................................. 10 4.2 用 ASM Library Driver 配置 ASM 的共享磁盘 ........................................................... 12 4.2.1 磁盘分区(fdisk) ......................................................................................... 12 4.2.2 创建 ASM 磁盘 ............................................................................................... 14 4.2.3 在各个节点重新扫描 ASM 磁盘 ................................................................... 14 安装配置 oracleRAC ............................................................................................................... 15 5.1 配置环境变量............................................................................................................. 15 5.2 创建 CRS 安装路径..................................................................................................... 16 5.3 安装和卸载 CRS.......................................................................................................... 17 5.4 安装数据库................................................................................................................. 33 创建数据库............................................................................................................................. 39 附录--常见问题解决 .............................................................................................................. 53 7.1 Failed to upgrade Oracle Cluster Registry configuration 错误 .................................... 53 7.2 error while loading shared libraries: libpthread.so.0: cannot open shared object file 53

2

3

4

5

6 7

第 3 页 总 62 页

VCS 基本原理介绍

1 引言
1.1 文档目的
本文档帮助大家熟悉 oracle RAC 在 linux 下的安装过程。读者对象 技术支持、开发人员及系统维护人员

1.2 约定
本文档中采用自动存储管理(ASM)技术来管理磁盘,而非裸设备方式和 oracle 集群文件 系统方式。 本文档中除特别说明外所有的操作均以 root 用户什么执行

1.3 术语与缩写解释
术语 RAC ASM 解释
real Application Cluste

集群软件

Oracle 自动存储管理



2 安装前准备
2.1 本次安装需要的软件

1、10201_database_linux_x86_64.cpio.gz 2、10201_clusterware_linux_x86_64.cpio.gz 3、oracleasm-support-2.1.7-1.el5.x86_64.rpm 4、oracleasmlib-2.0.4-1.el5.x86_64.rpm 5、oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm 6、binutils-2.17.50.0.6-12.el5.x86_64.rpm 说明:3-5 可能根据操作系统的内核不同而不同,1-2 以实际的数据库版本为准
第 4 页 总 62 页

VCS 基本原理介绍

可以通过 uname –r 命令来得到当前操作系统内核,然后到 oracle 官方网站下载对应的 3-5 文 件 , redhat5 版 本 对 应 的 网 址 为 http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel5-084877.html 7 部分文件在操作系统的安装盘中,
安装补丁

2.2 操作系统补丁
# rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' \binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ libstdc++-devel make sysstat libaio 如果有某个 rpm 包没有安装会在输出结果中注明 not install。 检查到没有安装的包可以通过 rpm 命令安装,也可以通过图形工具下面添加和删除安装程 序那里安装 下面举例说明使用 rpm 命令安装的方式 格式为 #rpm –Uvh 包名 进入到操作系统安装盘目录,找到 rpm 包的位置,通过 ll 包名*的办法找到具体的包名。 例如 ,如果上面检查包的命令里提示 gcc-c++ not install,则执行下列命令 #cd /media/CentOS_5.3_Final/ --不同的版本这个路径可能不同 #cd CentOS/ #ll gcc-c++* gcc-c++-4.1.2-46.el5.rpm 安装 #rpm –Uvh gcc-c++-4.1.2-46.el5.rpm 注意:1)以上检查命令涉及到的包,并不一定要在操作系统上都要安装,如果在操作系统 安装盘所在目录里并没有找到相关的包,那么就可以暂时不安装相对应的包 2)安装需要 binutils 补丁 并用 root 用户 按以下语法安装: # rpm –ivh binutils-2.17.50.0.6-12.el5.x86_64.rpm –该文件在操作系统安装盘中,

3 针对 Oracle 配置 redhat
注: (本节操作需要在所有节点上执行)

3.1 验证系统要求
要验证系统是否满足 Oracle 10g 数据库的最低要求,以 root 用户身份登录并运行以下命
第 5 页 总 62 页

VCS 基本原理介绍

令。 要查看可用 RAM 和交换空间大小,运行以下命令: grep MemTotal /proc/meminfo grep SwapTotal /proc/meminfo 例如: # grep MemTotal /proc/meminfo MemTotal:512236 kB # grep SwapTotal /proc/meminfo SwapTotal:1574360 kB 所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的 系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。 Oracle 10g 软件还需要 2.5GB 的可用磁盘空间,而数据库则另需 1.2GB 的可用磁盘空间。 /tmp 目录至少需要 400MB 的可用空间。

3.2 内核参数

1、内核参数 在/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 2、hangcheck-timer 设置 RAC 节点间通过 CSS 来判断通信状态, 因此需要设定定时器来触发判断。 该定时器就是 linux 内核自带的 hangcheck-timer。 具体操作: 在/etc/rc.local 中加入(数值以具体情况而定,以下是默认值) insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180 表示,每隔 30 秒检查一下节点状态,如果 180 秒内仍没有反应,则重启该节点。这也就是 说,检查的间隔最长为 30+180 秒,如果超过这个时间,则系统重启。
第 6 页 总 62 页

VCS 基本原理介绍

Tip:如果系统尚不稳定,可将数值设置的大一些,这样可以有充分的时间来修复系统,否 则系统会进入循环重启状态。

3.3 添加 oracle 用户和组

# /usr/sbin/groupadd oinstall # /usr/sbin/groupadd dba # /usr/sbin/useradd -m -g oinstall -G dba oracle # id oracle uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),6(disk),1001(dba) 设置 oracle 帐户的口令: # passwd oracle Changing password for user oracle. New password: Retype new password: passwd:all authentication tokens updated successfully.
限制: 设置 oracle 的 shell 限制 在/etc/security/limits.conf 文件中加入:oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536

3.4 网络设置
RAC 要求机群内的每个节点至少有两块网卡,一个设置为公用(公网) ,对外提供服务;一 个设置为私用(专用) ,提供节点内的高速传输。此外还需要为公用网卡配置一个虚拟地址, oracle 需要借此为用户提供透明的高可用服务。 公共网络 为维持高可用性,为每个集群节点分配了一个虚拟 IP 地址 (VIP)。 如果主机发生故障,则 可以将故障节点的 IP 地址重新分配给一个可用节点,从而允许应用程序通过相同的 IP 地 址继续访问数据库。

第 7 页 总 62 页

VCS 基本原理介绍

修改/etc/hosts 加入类似下面内容,: # Public 10.0.76.2 10.0.76.3 #Private 192.168.0.2 192.168.0.3 #Virtual 10.0.76.25 10.0.76.26

mainha standbyha mainha-priv standbyha-priv mainha-vip standbyha-vip

3.5 为用户等效性设置 SSH
在安装 Oracle RAC 10g 期间,OUI 需要把文件复制到集群中的其他主机上并在其上执行程 序。 为了允许 OUI 完成此任务,必须配置 SSH 以启用用户等效性。 用 SSH 建立用户等 效性就提供了一种在集群中其他主机上复制文件和执行程序时不需要口令提示的安全方式 具体步骤:这里以两个节点 rac 为例说明创建过程 以 oracle 用户身份登陆每个系统 进入 oracle 用户根目录 [oracle@mainha~]# cd --创建公钥、私钥 主机1上 [oracle@mainha ~]$ mkdir .ssh [oracle@mainha ~]$ chmod 700 .ssh [oracle@mainha ~]$ /usr/bin/ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/oracle/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/oracle/.ssh/id_rsa. Your public key has been saved in /home/oracle/.ssh/id_rsa.pub. The key fingerprint is: 76:da:4f:6f:4e:29:e3:1f:72:75:cd:26:c7:17:9b:71 oracle@mainha [oracle@mainha ~]$ /usr/bin/ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/home/oracle/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/oracle/.ssh/id_dsa.
第 8 页 总 62 页

VCS 基本原理介绍

Your public key has been saved in /home/oracle/.ssh/id_dsa.pub. The key fingerprint is: 44:cf:e1:e4:0b:4c:b0:3b:e1:7f:c0:0b:90:86:d8:45 oracle@mainha 注意:上面提示输入值的地方一路按回车选择默认 [oracle@mainha ~]$ 主机2上 [oracle@standbyha ~]$ mkdir .ssh [oracle@standbyha ~]$ chmod 700 .ssh [oracle@standbyha ~]$ /usr/bin/ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/oracle/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/oracle/.ssh/id_rsa. Your public key has been saved in /home/oracle/.ssh/id_rsa.pub. The key fingerprint is: 23:db:ae:74:b9:02:9d:50:62:83:7f:71:78:54:c5:2e oracle@standbyha [oracle@standbyha ~]$ /usr/bin/ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/home/oracle/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/oracle/.ssh/id_dsa. Your public key has been saved in /home/oracle/.ssh/id_dsa.pub. The key fingerprint is: 4d:5a:e2:6e:6e:e7:16:6c:59:c6:8d:dc:5e:03:0b:2c oracle@standbyha 注意:上面提示输入值的地方一路按回车选择默认 在主机1上完成密钥文件的copy [oracle@mainha ~]$ cd .ssh [oracle@mainha .ssh]$ cat id_rsa.pub >> authorized_keys [oracle@mainha .ssh]$ cat id_dsa.pub >> authorized_keys [oracle@mainha .ssh]$ /usr/bin/ssh standbyha cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys The authenticity of host 'standbyha (10.0.76.3)' can't be established. RSA key fingerprint is 7f:a8:8c:8c:ec:58:da:b3:ac:bb:9c:2f:13:46:25:51. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'standbyha,10.0.76.3' (RSA) to the list of known hosts. oracle@standbyha's password: [oracle@mainha .ssh]$ /usr/bin/ssh standbyha cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys oracle@standbyha's password: [oracle@mainha .ssh]$ /usr/bin/scp authorized_keys standbyha:~/.ssh/authorized_keys oracle@standbyha's password: authorized_keys
第 9 页 总 62 页

VCS 基本原理介绍

--使用下列命令测试,在每个机器上分别执行下面的两个命令,如果能够成功输出结果表示 配置成功 # [oracle@mainha .ssh]$ ssh mainha date Tue Aug 30 13:28:49 CST 2011 [oracle@mainha .ssh]$ ssh standbyha date Tue Aug 30 13:29:41 CST 2011 [oracle@mainha .ssh]$

4 ASM 配置共享磁盘
配置共享磁盘的方法有三种: 1. Oracle 集群文件系统 (OCFS) 2. 自动存储管理器 (ASM) 3. 原始设备(裸设备) 从可扩展性和可管理性方面考虑, 我们使用的是用 ASM Library Driver 配置 ASM 的共享磁盘。 另外随着 oracle 版本的不断升级,自动存储管理器将是未来配置共享磁盘的大方向

4.1 安装 ASM 软件用 root 权限执行

[root@standbyha rac]# rpm -ivh oracleasm-support-2.1.7-1.el5.x86_64.rpm warning: oracleasm-support-2.1.7-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID Preparing... 1:oracleasm-support ################################## [100%] ##################################### [100%]

[root@standbyha rac]# rpm -ivh oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm warning: oracleasm-2.6.18-164.15.1.el5-2.0.5-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, Preparing... ################################### [100%]

1:oracleasm-2.6.18-164.15################################## [100%] [root@standbyha rac]# rpm -ivh oracleasmlib-2.0.4-1.el5.x86_64.rpm warning: oracleasmlib-2.0.4-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... 1:oracleasmlib #################################### [100%] ################################### [100%]

第 10 页 总 62 页

VCS 基本原理介绍

对 ASM 进行配置: # /etc/init.d/oracleasm configure Configuring the Oracle ASM library driver.

这将配置 Oracle ASM 库驱动程序的启动时属性。以下问题将确定在启动时是否加载驱动程序以及它将拥 有的权限。 当前值将显示在方括号 (“[]”) 按 <ENTER> 而不键入回应将保留该当前值。 Ctrl-C 将 中。 按 终止。 按照下面的红色内容依次输入内容
Default user to own the driver interface []:oracle Default group to own the driver interface []:dba Start Oracle ASM library driver on boot (y/n) [n]:y Fix permissions of Oracle ASM disks on boot (y/n) [y]:y Writing Oracle ASM library driver configuration done Creating /dev/oracleasm mount point done Loading module "oracleasm" done Mounting ASMlib driver filesystem done Scanning system for ASM disks done 注意:如果发现这里配置失败,出现下面的提示 Writing Oracle ASM library driver configuration: done Initializing the Oracle ASMLib driver: [FAILED]

那说明下载的 oracleasm 文件和内核不对应,需要认真比对,重新下载对应的文件 将上面已经安装的三个包卸载,(卸载的时候把三个包写到同一个 rpm –e 命令下面,否则会出现依赖关 系提示不能卸载,安装后的包名字用 rpm -qa|grep oracleasm 来查询)举例如下:
oracleasm-support-2.1.7-1.el5 oracleasm-2.6.18-164.15.1.el5-2.0.5-1.el5 oracleasmlib-2.0.4-1.el5 [root@mainha root]# rpm -e oracleasm-support-2.1.7-1.el5 oracleasm-2.6.18-164.15.1.el5-2.0.5-1.el5 oracleasmlib-2.0.4-1.el5 warning: /etc/sysconfig/oracleasm saved as /etc/sysconfig/oracleasm.rpmsave

第 11 页 总 62 页

VCS 基本原理介绍
[root@mainha root]#

AMS 的命令如下所示:
oracle@DBRAC1:~> /etc/init.d/oracleasm Usage: /etc/init.d/oracleasm {start|stop|restart|enable|disable|configure|createdisk|deletedisk|querydisk|listdisks|scandisks|statu s}

现在,如下所示启用 ASMLib 驱动程序。
# /etc/init.d/oracleasm enable Writing Oracle ASM library driver configuration [ OK ] Scanning system for ASM disks [ OK ]

ASM 的安装和配置是要在集群中的每个节点上执行的

4.2 用 ASM Library Driver 配置 ASM 的共享磁盘 的共享磁盘
注意:4.2.1 和 4.2.2 部分只需在一个节点上完成

4.2.1 磁盘分区(fdisk) 磁盘分区( )
这次文档我们是将 RAID 光纤盘阵并只划了一个卷给数据库用,对操作系统来说就是认 到一个设备。本次安装中它认成/dev/sde 或/dev/sdd(正常情况下应该相同,但是我们测试 服务器两个节点由于本地磁盘部署不同所有对应的设备名也不同,本文档中下面都按照 /dev/sde 来描述) 。 进行 fdisk 操作,划 3 个分区,sde1 和 sde2 都为 1 个 G,剩下空间全部给 sde3。 sdb1 和 sdb2 是用来做 Oracle Cluster Registry (OCR) 和 Voting Disk。 sde3 是给 ASM 用的 (下面例子中数值可能不同,命令是相同的) [root@standbyha ~]# fdisk /dev/sde

The number of cylinders for this disk is set to 13054. There is nothing wrong with that, but this is larger than 1024,

第 12 页 总 62 页

VCS 基本原理介绍 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): n Command action e p p Partition number (1-4): 1 First cylinder (1-13054, default 1): 1 Last cylinder or +size or +sizeM or +sizeK (1-13054, default 13054): +1000M extended primary partition (1-4)

Command (m for help): n Command action e p p Partition number (1-4): 2 First cylinder (124-13054, default 124): 124 Last cylinder or +size or +sizeM or +sizeK (124-13054, default 13054): +1000M extended primary partition (1-4)

Command (m for help): n Command action e extended 第 13 页 总 62 页

VCS 基本原理介绍 p p Partition number (1-4): 3 First cylinder (247-13054, default 247): 247 Last cylinder or +size or +sizeM or +sizeK (247-13054, default 13054): 13054 primary partition (1-4)

Command (m for help): w The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks..

4.2.2 创建 ASM 磁盘

通过以 root 用户身份运行以下命令来标记由 ASMLib 使用的磁盘。 仅从一个集群 主机节点上执行此操作。提示: 以大写字母输入 DISK_NAME。当前版本中有一个错误, 即如果使用小写字母,ASM 实例将无法识别磁盘。 # /etc/init.d/oracleasm createdisk VOL1 /dev/sde3 Marking disk "VOL1" as an ASM disk: 以下示例演示了如何列出标记为由 ASMLib 使用的所有磁盘。 # /etc/init.d/oracleasm listdisks VOL1 …… [ OK ]

4.2.3 在各个节点重新扫描 ASM 磁盘

一定在集群的其他节点上,以 root 用户身份运行以下命令,扫描所配置的 ASMLib 磁盘: # /etc/init.d/oracleasm scandisks 这样其他节点上的 ASM Disk 才有效。
第 14 页 总 62 页

VCS 基本原理介绍

5 安装配置 oracleRAC
5.1 配置环境变量
编辑.bash_profile 设置 ORACLE_BASE 和 ORACLE_HOME 等环境变量 基本路径: ORACLE_BASE=/u01/app/oracle ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 ORA_CRS_HOME=/u01/crs/oracle/product/10.2.0/crs_1 据 oracle 的安装文档要求,CRS 的目录最好不是 ORACLE_BASE 的子目录,因为安装过程中 会改变 CRS 的父目录的权限,这会影响 ORACLE 的安装。在按以上要求生成对应目录之前, 需检查所在磁盘的空间是否满足安装要求,确定之后生成目录,并将相关环境变量设置在 oracle 用户的 profile 中。 用 oracle 帐号编辑 /home/oracle/.bash_profile oracle 用户的 profile 文件.bash_profile 内容: # .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 ORA_CRS_HOME=/u01/crs/oracle/product/10.2.0/crs_1 export ORACLE_SID=dbrac1 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:$ORA_CRS_HOME/bin:/sbin export PATH 然后执行 $ source .bash_profile 使环境变量生效 注意:ORACLE_SID 每台机器不一样,如 dbrac1 的 SID 为 dbrac1,dbrac2 的 SID 为 dbrac2, 以此类推。
第 15 页 总 62 页

VCS 基本原理介绍

5.2 创建 CRS 安装路径
注:With Oracle Database 10g Release 2 (10.2), Cluster Ready Services, or CRS, is now called Oracle Clusterware . 见 ORACLE 10.2 安装文档之 New Features for Oracle Clusterware and RAC Installation 1.CRS 安装路径的创建及授权 如下所示:root 用户身份登陆 # mkdir -p /u01/crs/oracle/product/10.2.0/crs_1 # chown -R oracle:oinstall /u01/crs/oracle # chmod -R 775 /u01/crs/oracle 2.OCR 及 voting disk 安装路径 解释一下 ocr(sdb1)和 vote(sdb2)文件的用途, OCR(Oracle Cluster Registry) :它记录了机群配置和机群数据库的基本配置,默认大概需 要 100M 的空间,这里我们给了它 1000M 的空间; Vote:它是 CSS(Cluster Synchronization Services)需要的文件,用来判断机群内各个节点 的状态,默认大概也需要 100M 的空间,这里我们也给了它 1000M 的空间。 # mkdir -p /u02/oracrs/ # chown -R oracle:oinstall /u02/oracrs/ # chmod -R 775 /u02/oracrs/ 绑定裸设备: #raw /dev/raw/raw1 /dev/sde1 –注意这里的设备名来自上面 fidisk 操作结果 #raw /dev/raw/raw2 /dev/sde2 然后在/etc/sysconfig/rawdevices 文件里加如下内容: /dev/raw/raw1 /dev/sde1 /dev/raw/raw2 /dev/sde2 #service rawdevices restart –重新启动该服务 权限: # chown oracle:oinstall /dev/raw/raw1
第 16 页 总 62 页

VCS 基本原理介绍

# chmod 640 /dev/raw/raw1 # chown oracle:oinstall /dev/raw/raw2 # chmod 660 /dev/raw/raw2 在/etc/rc.local 里加如下内容 chown oracle:oinstall /dev/raw/raw1 chmod 640 /dev/raw/raw1 chown oracle:oinstall /dev/raw/raw2 chmod 660 /dev/raw/raw2 以上操作在所有节点上执行 在安装 CRS 的过程中,安装程序会提示用户输入存放 OCR 和 Vote 文件的位置。因此,通 常我们会使用以下方法设置文件位置(在所有节点上执行) ,以 oracle 用户执行: $ ln -s /dev/raw/raw1 /u02/oracrs/ocr.crs $ ln -s /dev/raw/raw2 /u02/oracrs/vote.crs

5.3 安装和卸载 CRS
安装 CRS 需要注意的问题: 1、每一步都要看清楚安装路径是否正确 2、分清虚拟地址和专用地址 3、安装过程中提示的执行脚本要一个节点一个节点的执行,切不可同时执行 4、如果安装过程中出现 in future。。之类错误,应为两台主机时间不一致导致,解决方法: 。 1〉用 root 执行 net time –I TARGETIP 命令同步 2〉如果 net time 同步仍然不成功,最好配置一台服务器(节点中的一台为 ntp 服务器) ,具 体方法可以网络查询 在安装 CRS 之前,确认显示没有问题: # xhost + 解压 CRS 软件: # cp 10201_clusterware_linux_x86_64.cpio.gz /home/oracle #cd /home/oracle # gzip –d 10201_clusterware_linux_x86_64.cpio.gz # cpio –idmv < 10201_clusterware_linux_x86_64.cpio # chown –R oracle:oinstall /home/oracle # su oracle
第 17 页 总 62 页

VCS 基本原理介绍

切换到 oracle 用户,建立安装目录(该命令需要在各个节点上执行) $ mkdir –p /u01/app/oracle/oraInventory 进入解压路径/home/oracle/cluterware 执行(在集群的一个节点上执行) : $ ./runInstall 这个提示可能在系统上已经安装数据库产品的时候提示, 安装前检查是否所有的 oracle 实例 都已经关闭, 如果是就输入 y 进行下面的操作(这个 rootpre 脚本就是先停掉已经运行的实例 的操作)。 Answer 'y' if root has run 'rootpre.sh' so you can proceed with Oracle Clusterwa re installation. Answer 'n' to abort installation and then ask root to run 'rootpre.sh'.

******************************************************************************* * Has 'rootpre.sh' been run by root? [y/n] (n)

第 18 页 总 62 页

VCS 基本原理介绍

进入图形配置界面: 1.Welcome;单击 Next

2.Specify Inventory Directory and Credentials — 默认值应该就是正确的;确保 inventory 目录位 于 ORACLE_BASE 目录中(例如: /u01/app/oracle/oraInventory)并且操作系统组是“oinstall” (确保在 /etc/hosts 中而不仅仅是在 DNS 中配置了您的主机)

第 19 页 总 62 页

VCS 基本原理介绍

3.Specify File Locations — 修改安装路径/u01/app/oracle/product/10.2.0/db_1 为 /u01/crs/oracle/product/10.2.0/crs_1

第 20 页 总 62 页

VCS 基本原理介绍 安装前检查,检查需要的程序是否安装,各种路径是否正确,物理内存设置是否满足条件,以及系统是是 否有其他 rac 服务等等,如果没有问题点击[next]继续,如果有警告信息可以在提示框中点击忽略[yes ]继续

5.Cluster Configuration — 输入集群名 (或接受默认的“crs”) 配置 public 和 private 地址时, ; public 地址即为主机名(与 hostname 命令所示相同即可),注意大小写;private 地址即为 ip,与/etc/hosts 中所列相同,virtual 地址填写/etc/hosts 中 virtual address 对应的主机名 默认的"Specify Cluster Configuration"只有一个节点,单击[add]添加其他节点

第 21 页 总 62 页

VCS 基本原理介绍

6.Private Interconnect Enforcement — 为每个接口指定接口类型(公共、专用或“不使用”) 将 10.0.76.0 网段设置为公用

第 22 页 总 62 页

VCS 基本原理介绍

修改后如下图

第 23 页 总 62 页

VCS 基本原理介绍

7.Oracle Cluster Registry — 选择外部冗余 在 clusterSpecify OCR Location 中输入 ocr disk 名: /u02/oracrs/ocr.crs (这里前面已经做了/dev/raw/raw1 的映射)

8.Voting Disk — 输入 voting disk 名: /u02/oracrs/vote.crs(这里前面已经做了/dev/raw/raw2 的映射)

第 24 页 总 62 页

VCS 基本原理介绍

9.Summary —单击 Install,开始安装。在安装到最后的时候又会弹出对话框,提示分别在各节点上以 root 执行 orainstRoot.sh 和 root.sh。注意不要同时运行这些脚本,等一个脚本结束后再运行另一个。

第 25 页 总 62 页

VCS 基本原理介绍

我在执行第一个 root.sh 的时候报错:Failed to upgrade Oracle Cluster Registry configuration, 查看 client 目录下的 ocrconfig_22625.log,有“INVALID FORMAT”字样,这是一个编号为 p4679769 的 BUG,可以执行下面命令来确认: # ./clsfmt.bin ocr /dev/raw/raw1 clsfmt: Failure trying to resize OCR file from 205567488 bytes to 205570048 bytes clsfmt: Received unexpected error 4 from skgfifi skgfifi: Additional information: -2 Additional information: 205567488 这里没有成功,确认是 BUG,去 metalink 上下载补丁文件(clsfmt.bin)打上,清空 ocr 与 voting disk(dd if=/dev/zero of=/dev/raw/raw1 bs=1M count=300) ,再次运行 root.sh 成功! 或者直接执行下面的命令 root@rac2 oracrs]# service rawdevices reload Assigning devices: /dev/raw/raw1 --> /dev/sdb1 /dev/raw/raw1: bound to major 8, minor 17 /dev/raw/raw2 --> /dev/sdb2 /dev/raw/raw2: bound to major 8, minor 18 Done 然后再次执行 root.sh 就 ok 了. 另外,执行最后一个 root.sh 的时候,可能会报""eth0" is not public.Public interfaces should be used to configure virtual IPs."这样的错误. 这时候需要以 root 用户去执行 $ORA_CRS_HOME/bin/vipca。 具体过程如下: 在另外一个节点上(非正在安装 crs 的节点) # cd /u01/crs/oracle/product/10.2.0/crs_1/bin # ./vipca Click the "Next" button on the VIPCA welcome screen.

第 26 页 总 62 页

VCS 基本原理介绍

Network Interfaces (只选择用于公共网络的接口,本示例中为 eth0,集群中所有主机上的这 个接口必须相同,即如果在安装主机上该接口是 eth0,则在集群中所有其他主机上都必须 是 eth0)。

——Virtual IPs for cluster nodes 在 vipca 的提示框中输入/etc/hosts 中事先定义的虚拟 ip 地址 (本例中为 10.0.76.25 和 10.0.76.26), vipca 会自动将虚拟 ip 对应的 hostname 显示出来。 配 VIP 置助手创建并启动 VIP、GSD 和 ONS 应用程序资源。配置完毕后,oracle 会自动为 public 网卡绑定虚拟地址。注意下图中的 ip 地址以实际的 ip 为准

第 27 页 总 62 页

VCS 基本原理介绍

点击 next 完成安装

第 28 页 总 62 页

VCS 基本原理介绍

这里可能还会出现另外一个错误报 error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory 这个解决方面比较内容比较长,请参考下面的附录,常见问题解决

第 29 页 总 62 页

VCS 基本原理介绍

所有脚本执行完成后,回到安装 crs 服务的节点,点击 ok 继续完成安装

第 30 页 总 62 页

VCS 基本原理介绍

到此 CRS 安装结束 从 $ORA_CRS_HOME/bin 目录中运行 olsnodes 验证安装已成功;例如: $ cd $ORA_CRS_HOME/bin [oracle@mainha bin]$ olsnodes standbyha mainha [oracle@mainha bin]$ Once CRS 已安装并运行;现在可以安装 Oracle RAC 软件的其余部分 了。

第 31 页 总 62 页

VCS 基本原理介绍 卸载 CRS 如果我们安装 CRS 出现了问题,就必须要卸载 CRS 了。而 CRS 是一个很令人头疼的服务,卸载 CRS 也是一 个非常繁琐的工作。在目前的 release1 中,如果机群中的一个节点重启(无论什么原因,即使 crs 服务是 正常的),机群中的所有节点都会随之重启。因为 CSS 服务会定期检查机群中所有节点的服务可用性,当 有一个节点出现问题,系统为了保证数据一致性,就会令其他节点重启,重新检查服务,直到所有节点服 务都正常。但是就我们现在遇到的情况而言,这种重启后自动回复正常的情况极少(目前还没有自动恢复 过),经常会导致 loopreboot。因此,在 metalink 上有很多关于这方面的介绍。这里,作者将实战经验 与网上经验相结合,总结如下(目前的方法就是卸载所有 oracle 服务和 CRS,然后重装)。 1.阻止循环重启的方法 方法一:将 CRS 服务禁止 在机器重启之间的那几秒中检测时间内,执行 # /etc/init.d/init.crs disable 禁止 crs 服务,在下一此重启后,系统将停止循环,但是要把握操作时机。 方法二:拔掉与共享设备的连线 ocr 和 voting disk 文件是存放在共享设备中的,而 CSS 进程每次都要从这些文件中读取机群的配置信息, 因此,在机器重启时断掉与共享设备的连接,机器也将停止循环重启。该方法操作简单,但是由于读取数 据不完整,对于接下来的修复可能会带来一些不便。 方法三:改写启动脚本 将/etc/inittab 中的最后三行注释掉,如: #h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 </dev/null #h2:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 </dev/null #h3:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 </dev/null 令机器在下一次重启时,不在启动服务。该方法的操作时机要把握好,否则没等文件修改完毕,机器就又 要重启。 2.在机群中的所有节点上执行$ORA_CRS_HOME/install/rootdelete.sh; 3.在机群中的任意一个节点上执行$ORA_CRS_HOME/install/rootdeinstall.sh; 4.用图形界面 OUI 卸载 crs; a)执行./runInstall b)在界面中选择 Installed; 第 32 页 总 62 页

VCS 基本原理介绍 c)选择 home1,一般要先安装 CRS,所以 CRS 的 home 一般都是 home。 5.在机群所有节点上执行

/bin/rm -f /etc/init.d/init.cssd /bin/rm -f /etc/init.d/init.crs /bin/rm -f /etc/init.d/init.crsd /bin/rm -f /etc/init.d/init.evmd /bin/rm -f /etc/rc2.d/K96init.crs /bin/rm -f /etc/rc2.d/S96init.crs /bin/rm -f /etc/rc3.d/K96init.crs /bin/rm -f /etc/rc3.d/S96init.crs /bin/rm -f /etc/rc5.d/K96init.crs /bin/rm -f /etc/rc5.d/S96init.crs /bin/rm -rf /etc/oracle /bin/rm -f /etc/inittab.crs /bin/rm -f /etc/oratab /bin/rm -f /etc/oraInst.loc /bin/cp /etc/inittab.orig /etc/inittab /bin/rm -rf /var/tmp/.oracle /bin/rm -rf /u01/crs/oracle/product/10.1.0/crs_1 清掉共享磁盘上的内容。 如果 ocr 和 voting disk 所在分区不大,可以直接用下面命令清除: # dd if=/dev/zero of=/dev/sdb1 # dd if=/dev/zero of=/dev/sdb2 7.如果可以,重启机群内所有节点。 8.清理干净后,按照 5.2.1 的介绍,重新安装 CRS。

5.4 安装数据库
创建 oracle 安装路径,以 root 用户执行 # mkdir -p /u01/app/oracle # chown -R oracle:oinstall /u01/app/oracle # chmod -R 775 /u01/app/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
第 33 页 总 62 页

VCS 基本原理介绍

# cd /home/oracle/database # su oracle $ ./runInstall 启动图形界面 1.Welcome — 单击 Next 选择安装类型 — Enterprise Edition

2.Specify File Locations — 确认默认值后继续

第 34 页 总 62 页

VCS 基本原理介绍

3.Specify Hardware Cluster Installation Mode — 选择 Cluster Installation 并选择集群中的其他 节点

第 35 页 总 62 页

VCS 基本原理介绍 安装前安装条件检查,如果没有失败(failed)的项目点击下图的[yes]继续,如果有失败的项目,需要先 解决然后重试

4.选择配置选项,这里我们选择只安装数据库软件,创建数据库使用 dbca 单独创建

第 36 页 总 62 页

VCS 基本原理介绍

点击 install 开始安装

第 37 页 总 62 页

VCS 基本原理介绍 安装过程中可能会出现下图的提示,主要是两个节点的时间有差异造成的,时间差别不大的时候可以忽略, 单击[yes]

在安装到最后的时候又会弹出对话框,提示执行 root.sh,这时从安装节点开始,每次在一个节点上运行 Oracle 主目录中的 root.sh(例如: /u01/app/oracle/product/10.2.0/db_1/root.sh) 不要同时 。 运行这些脚本。 等一个脚本结束后再启动另一个.全部执行完成后点击 ok

7.安装结束

第 38 页 总 62 页

VCS 基本原理介绍

6 创建数据库
在以 oracle 用户身份登录时,设置环境并运行 dbca。 $ dbca 图形界面起来以后: 1.Welcome — 选择“Oracle Real Application Clusters database”

第 39 页 总 62 页

VCS 基本原理介绍

2.Operations — 创建数据库

3.Node Selection — 单击 Select All

第 40 页 总 62 页

VCS 基本原理介绍

4.Database Templates — 选择 general

5.Database Identification — 全局数据库名:dbrac.world;SID: dbrac –这里和 oracle 用户配置 文件的 oracle_sid 对应的

第 41 页 总 62 页

VCS 基本原理介绍

6.Management Options — 利用 Enterprise Manager 配置数据库;使用数据库控制进行数据 库管理

7.Database Credentials — 为所有帐户使用相同的口令;输入口令并再次确认

第 42 页 总 62 页

VCS 基本原理介绍

8.Storage Options — 自动存储管理 (ASM)

9.Create ASM Instance — 设置 SYS 口令并确认;创建初始化参数文件 (IFILE)

第 43 页 总 62 页

VCS 基本原理介绍

这里提示创建 asm 实例,点击 ok

提示需要先配置监听,按照系统提示的默认配置即可,点击 yes

10.ASM Disk Groups — Create New>Create Disk Group>Disk Group Name (DATA);冗余
第 44 页 总 62 页

VCS 基本原理介绍

(external) ;

第 45 页 总 62 页

VCS 基本原理介绍

这里可以创建多个磁盘组,因为本例子中只创建了一个,因此只选择这这一个,点击[next] 继续

11.Database File Locations — 使用 Oracle 管理的文件

12.Recovery Configuration — 单击 Next

第 46 页 总 62 页

VCS 基本原理介绍

13.Database Content — 示例模式

第 47 页 总 62 页

VCS 基本原理介绍

这里查看数据库服务配置,点击[next]即可

14.Initialization Parameters — 内存:根据实际情况设置,一般不超过系统内存的 60%(32 位 系统还要考虑 sga 最大 1.7g 的限制);字符集的设定:要选择 ZHSGBK16。 ,

15.Database Storage — 其他不需要修改,把 redo log 组的大小都调整为 512M
第 48 页 总 62 页

VCS 基本原理介绍

16.Create Options — 选择“Create Database”

17.Summary — 检查总结信息并单击 OK

第 49 页 总 62 页

VCS 基本原理介绍

第 50 页 总 62 页

VCS 基本原理介绍

根据经验,需要注意的有几下几点: 1.使用 ASM 管理共享磁盘的方法,将为数据库中的每个节点创建自己的 ASM 实例。如果系 统中已存在 ASM 实例,可以继续使用,但需要输入 ASM 的管理密码; 2.使用 ASM 需要创建 ASM DiskGroup, 如果磁盘组存在, 则可以选用现有的组; 如果不存在, 要创建一个。
第 51 页 总 62 页

VCS 基本原理介绍

a)点击“create new”,输入磁盘组的名称; b)冗余程度。如果你的盘阵本身有 raid 保护,则可以选择 external,这样的空间利用率最大; 否则, normal 的利用率是一半, 因为是两个 failure group 做镜像; high 的利用率是三分之一, 因为是三个 failure group 做镜像; c) 磁盘候选。分为“show member”和“show all”两种,第一种显示尚未分配的磁盘,第二种 显示所有磁盘。有时虽然已经删掉了以前的数据库,但是没有删掉磁盘组,所以磁盘仍会显 示为已用,这是就需要 show all。切记,一定要修改磁盘路径为 ORCL:*,否则即使选中也会 被视为无效。如果想选择那些已经被其他组用过的盘,则需要选择 force,强制执行。

第 52 页 总 62 页

VCS 基本原理介绍

7 附录 常见问题解决 附录--常见问题解决
7.1 Failed to upgrade Oracle Cluster Registry

configuration 错误
[root@mainha ~]# sh /u01/crs/oracle/product/10.2.0/crs_1/root.sh WARNING: directory '/u01/crs/oracle/product/10.2.0' is not owned by root WARNING: directory '/u01/crs/oracle/product' is not owned by root WARNING: directory '/u01/crs/oracle' is not owned by root Checking to see if Oracle CRS stack is already configured Setting the permissions on OCR backup directory Setting up NS directories Failed to upgrade Oracle Cluster Registry configuration 解决办法 root@rac2 oracrs]# service rawdevices reload Assigning devices: /dev/raw/raw1 --> /dev/sdb1 /dev/raw/raw1: bound to major 8, minor 17 /dev/raw/raw2 --> /dev/sdb2 /dev/raw/raw2: bound to major 8, minor 18 Done 然后再次执行就 ok 了.

7.2 error while loading shared libraries: libpthread.so.0: cannot open shared object file
安装 Oracle 10.2.0.1 RAC 的 cluster software 的时候,在最后一步,第二个节点,执行 root.sh 的时候,报告 error while loading shared libraries: libpthread.so.0 的错误,详细错误信息如下:
[root@rac2 crs]# /u01/crs/oracle/product/10.2.0/crs/root.sh WARNING: directory '/u01/crs/oracle/product/10.2.0' is not owned by root 第 53 页 总 62 页

VCS 基本原理介绍 WARNING: directory '/u01/crs/oracle/product' is not owned by root WARNING: directory '/u01/crs/oracle' is not owned by root WARNING: directory '/u01/crs' is not owned by root WARNING: directory '/u01' is not owned by root Checking to see if Oracle CRS stack is already configured /etc/oracle does not exist. Creating it now.

Setting the permissions on OCR backup directory Setting up NS directories Oracle Cluster Registry configuration upgraded successfully WARNING: directory '/u01/crs/oracle/product/10.2.0' is not owned by root WARNING: directory '/u01/crs/oracle/product' is not owned by root WARNING: directory '/u01/crs/oracle' is not owned by root WARNING: directory '/u01/crs' is not owned by root WARNING: directory '/u01' is not owned by root clscfg: EXISTING configuration version 3 detected. clscfg: version 3 is 10G Release 2. assigning default hostname rac1 for node 1. assigning default hostname rac2 for node 2. Successfully accumulated necessary OCR keys. Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897. node : node 1: rac1 rac1-priv rac1 node 2: rac2 rac2-priv rac2 clscfg: Arguments check out successfully.

NO KEYS WERE WRITTEN. Supply -force parameter to override. -force is destructive and will destroy any previous cluster configuration. Oracle Cluster Registry for cluster has already been initialized Startup will be queued to init within 90 seconds. Adding daemons to inittab Expecting the CRS daemons to be up within 600 seconds. CSS is active on these nodes. rac1 rac2 CSS is active on all nodes. Waiting for the Oracle CRSD and EVMD to start Waiting for the Oracle CRSD and EVMD to start Waiting for the Oracle CRSD and EVMD to start Oracle CRS stack installed and running under init(1M) Running vipca(silent) for configuring nodeapps /u01/crs/oracle/product/10.2.0/crs/jdk/jre//bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory 第 54 页 总 62 页

VCS 基本原理介绍

升级解决办法,直接升级到 10.2.0.4 可以解决这个问题 不升级解决这个问题,需要三个步骤来完成:

1、在每个节点上,修改$CRS_HOME/bin 目录下的 srvctl 和 vipca 文件,在 vipca 文件 ARGUMENTS="" 行 之 前 和 srvctl 文 件 的 export LD_ASSUME_KERNEL 行 之 后 增 加 unset LD_ASSUME_KERNEL 语句 2、使用$CRS_HOME/bin 目录下的 oifcfg 工具配置 pub ip 和 pri ip 3、在任意一个节点上,用 root 用户,手动运行 vipca,配置完正确的 prvip 和 vip 信息之后, crs 就可以安装完成,操作过程如下:

1.1、修改 vipca 文件,增加标记为红色的那一行: [root@rac2 crs]# pwd /u01/crs/oracle/product/10.2.0/crs [root@rac2 crs]# cd bin/ [root@rac2 bin]# cp vipca vipca.bak [root@rac2 bin]# vi vipca #!/bin/sh # # $Header: vipca.sbs 10-dec-2004.15:30:55 khsingh Exp $ # # vipca # # Copyright (c) 2001, 2004, Oracle. All rights reserved. # # NAME # vipca - Node Apps and VIPs Configuration Assistant # # DESCRIPTION # Oracle Cluster Node Applications Configuration Assistant is # used to configure the Node Applications and the virtual IPs. # # MODIFIED (MM/DD/YY)
第 55 页 总 62 页

VCS 基本原理介绍

# khsingh 12/10/04 - fix LINUX workaround for bug 4054430 # khsingh 11/22/04 - remove obsolete files # rxkumar 11/29/04 - fix bug4024708 # khsingh 10/07/04 - add workaround for bug (3937317) # khsingh 09/27/04 - changes for PLE (3914991) # khsingh 09/13/04 - add orahome arg back # khsingh 08/16/04 - remove orahome arg # khsingh 12/07/03 - change oembase to oemlt # khsingh 10/31/03 - fix ice browser # khsingh 10/29/03 - add jewt var # khsingh 08/08/03 - fix == # jtellez 06/10/03 - change to srvm_trace # rdasari 06/02/03 - set LD_LIBRARY_PATH appropriately for 32 and 64 bit solaris platforms # jtellez 11/15/02 - change SRVM_DEFS to SRVM_PROPERTY_DEFS # jtellez 11/04/02 - Add srvm_defs # jtellez 10/10/02 - fix srvmhas # jtellez 10/04/02 - srvmhas to jlib # jtellez 09/24/02 - add tracing # jtellez 09/09/02 - add versions to jars # rdasari 08/07/02 - use java instead of jre # jtellez 08/08/02 - enhance comment # jtellez 08/06/02 - add GUI jars # rdasari 08/01/02 - use jdk131 # jtellez 07/26/02 - add srvmhas.jar to classpath # jtellez 07/29/02 - add gui jars # jtellez 07/24/02 - jtellez_vipca # jtellez 7/24/02 - creation # #!/bin/sh # Properties to pass directly to java if [ "X$SRVM_PROPERTY_DEFS" = "X" ] then SRVM_PROPERTY_DEFS="" fi # Check for tracing if [ "X$SRVM_TRACE" != "X" ] then SRVM_PROPERTY_DEFS="$SRVM_PROPERTY_DEFS -DTRACING.LEVEL=2" fi # External Directory Variables set by the Installer
第 56 页 总 62 页

-DTRACING.ENABLED=true

VCS 基本原理介绍

JREDIR=/u01/crs/oracle/product/10.2.0/crs/jdk/jre/ ORACLE_HOME=/u01/crs/oracle/product/10.2.0/crs export ORACLE_HOME; /export EMBASE_FILE=oemlt-10_1_0.jar # GUI jars EWTJAR=$JLIBDIR/$EWT_FILE JEWTJAR=$JLIBDIR/$JEWT_FILE ICEJAR=$JLIBDIR/$ICE_BROWSER5_FILE EMBASEJAR=$JLIBDIR/$EMBASE_FILE SHAREJAR=$JLIBDIR/$SHARE_FILE HELPJAR=$JLIBDIR/$HELP_FILE GUIJARS=$EWTJAR:$JEWTJAR:$SHAREJAR:$EMBASEJAR:$HELPJAR:$ICEJAR # Set Classpath for Net Configuration Assistant CLASSPATH=$JREJAR:$JRECLASSES:$OPSMJAR:$SRVMHASJAR:$VIPCAJAR:$GUIJARS #Used for specifying any platforms specific Java options JRE_OPTIONS="" # Set the shared library path for JNI shared libraries # A few platforms use an environment variable other than LD_LIBRARY_PATH PLATFORM=`uname` case $PLATFORM. in HP-UX) SHLIB_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/srvm/lib32:$SHLIB_PATH export SHLIB_PATH ;; AIX) LIBPATH=$ORACLE_HOME/lib32:$ORACLE_HOME/srvm/lib32:$LIBPATH export LIBPATH ;; Linux) LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/srvm/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH #Remove this workaround when the bug 3937317 is fixed arch=`uname -m` if [ "$arch" = "i686" -o "$arch" = "ia64" ] 121 LD_ASSUME_KERNEL=2.4.19 122 export LD_ASSUME_KERNEL 123 fi 124 #End workaround 125 ;; 126 SunOS) MACH_HARDWARE=`/bin/uname -i` 127 case $MACH_HARDWARE in
第 57 页 总 62 页

VCS 基本原理介绍

128 i86pc) 129 LD_LIBRARY_PATH=$ORACLE_HOME/lib:ORACLE_HOME/srvm/lib:$LD_LIBRARY_PATH 130 export LD_LIBRARY_PATH 131 ;; 132 *) 133 LD_LIBRARY_PATH_64=$ORACLE_HOME/lib:$ORACLE_HOME/srvm/lib:$LD_LIBRARY_PATH_64 134 export LD_LIBRARY_PATH_64 135 JRE_OPTIONS="-d64" 136 ;; 137 esac 138 ;; 139 OSF1) LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/srvm/lib:$LD_LIBRARY_PATH 140 export LD_LIBRARY_PATH 141 ;; 142 143 Darwin) DYLD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/srvm/lib:$DYLD_LIBRARY_PATH 144 export DYLD_LIBRARY_PATH 145 ;; 146 *) if [ -d $ORACLE_HOME/lib32 ]; 147 then 148 LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/srvm/lib32:$LD_LIBRARY_PATH 149 else 150 LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/srvm/lib:$LD_LIBRARY_PATH 151 fi 152 export LD_LIBRARY_PATH 153 ;; 154 esac 155 156 unset LD_ASSUME_KERNEL 157 158 ARGUMENTS="" 159 NUMBER_OF_ARGUMENTS=$# 160 if [ $NUMBER_OF_ARGUMENTS -gt 0 ]; then 161 ARGUMENTS=$* 162 fi 163 164 # Run Vipca 165 exec $JRE $JRE_OPTIONS $SRVM_PROPERTY_DEFS -classpath $CLASSPATH oracle.ops.vipca.VipCA -orahome $ORACLE_HOME $ARGUME NTS "vipca" 167L, 5034C written
第 58 页 总 62 页

VCS 基本原理介绍

1.2、修改 srvctl 文件,增加标记为红色的那一行: [root@rac2 bin]# ls -l srvctl* -rwxr-xr-x 1 oracle oinstall 5554 Dec 2 17:17 srvctl [root@rac2 bin]# cp srvctl srvctl.bak [root@rac2 bin]# vi srvctl #!/bin/sh # # $Header: srvctl.sbs 29-nov-2004.11:56:24 rxkumar Exp $ # # srvctl # # Copyright (c) 2000, 2004, Oracle. All rights reserved. # # NAME # srvctl - Oracle Server Control Utility # # DESCRIPTION # Oracle Server Control Utility can be used to administer a RAC database, # i.e., to modify the configuration information of a RAC # database server as well as to do start/stop/status operations on the # instances of the server. # # MODIFIED (MM/DD/YY) # rxkumar 11/29/04 - fix bug4024708 # dliu 11/18/04 - replace OH # khsingh 10/07/04 - add workaround for bug (3937317) # khsingh 09/27/04 - update case statement (3914991) # gdyoung 09/17/04 - ;; # gdyoung 08/20/04 - ple/st script. merging # dliu 08/04/04 - get them work on linux # dliu 11/20/03 - support for trace # dliu 11/12/03 - unset ORA_CRSDEBUG # bhamadan 09/18/03 - replacing s_jre131Location with s_jreLocation # khsingh 06/25/03 - remove policy file # rxkumar 06/03/03 - add srvmasm.jar # rdasari 06/02/03 - set LD_LIBRARY_PATH appropriately for 32 and 64 bit solaris platforms # dliu 02/21/03 - add i18n.jar
第 59 页 总 62 页

VCS 基本原理介绍

# dliu 11/13/02 - use ORA_CRS_UI_FMT to turn on output capture # dliu 10/17/02 - turn on output capture # jtellez 10/04/02 - make policy == # surchatt 09/06/02 - puttint policy file location # rdasari 08/07/02 - use java instead of jre # rdasari 08/01/02 - use jdk131 # jtellez 07/26/02 - add srvmhas.jar to classpath # rdasari 05/09/01 - changing the header information # rdasari 03/22/01 - changing to ops to srv. # dliu 03/02/01 - use "$@" for argument list. this iscritical for correct interpretation of arguments with spaces in them.. # dliu 02/26/01 - fix bug #1656127: SHLIB_PATH change. # dliu 02/23/01 - replace $ORACLE_HOME in classpath with an install variable.. # jcreight 11/08/00 - define OPSMJAR, not OPSJAR "srvctl" 171L, 5554C 126 JRE_OPTIONS="-d64" 127 ;; 128 esac 129 ;; 130 OSF1) LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/srvm/lib:$LD_LIBRARY_PATH 131 export LD_LIBRARY_PATH 132 ;; 133 Darwin) 134 DYLD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/srvm/lib:$DYLD_LIBRARY_PATH 135 export DYLD_LIBRARY_PATH 136 ;; 137 *) if [ -d $ORACLE_HOME/lib32 ]; 138 then 139 LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/srvm/lib32:$LD_LIBRARY_PATH 140 else 141 LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/srvm/lib:$LD_LIBRARY_PATH 142 fi 143 export LD_LIBRARY_PATH 144 ;; 145 esac 146 147 148 # turn off crs debug flag that would otherwise interfere with crs profile 149 # modification 150 ORA_CRSDEBUG=0 151 export ORA_CRSDEBUG 152 153 # environment variable to turn on trace: set SRVM_TRACE to turn it on.
第 60 页 总 62 页

VCS 基本原理介绍

154 if [ "X$SRVM_TRACE" != "X" ] 155 then 156 TRACE="-DTRACING.ENABLED=true -DTRACING.LEVEL=2" 157 else 158 TRACE= 159 fi 160 161 if [ "X$SRVM_TRACE" != "X" ] 162 then 163 echo $JRE $JRE_OPTIONS -classpath $CLASSPATH $TRACE oracle.ops.opsctl.OPSCTLDriver "$@" 164 fi 165 166 #Remove this workaround when the bug 3937317 is fixed 167 LD_ASSUME_KERNEL=2.4.19 168 export LD_ASSUME_KERNEL 169 unset LD_ASSUME_KERNEL 170 171 # Run ops control utility "srvctl" 173L, 5578C written

2、在任意一个节点上使用 oifcfg 配置 public 和 vip 网络

[root@rac1 bin]# ./oifcfg setif -global eth0/192.168.2.0:public [root@rac1 bin]# ./oifcfg setif -global eth1/192.168.0.0:cluster_interconnect [root@rac1 bin]# ./oifcfg getif eth0 192.168.2.0 global public eth1 192.168.0.0 global cluster_interconnect ./oifcfg iflist

3、用 root 用户身份手动执行$CRS_HOME/bin/vipca 工具,配置 IP 信息。 [root@rac1 bin]# ./vipca

第 61 页 总 62 页

VCS 基本原理介绍

vipca 工具配置成功后,检查 crs 状态,两个节点的 crs 都已正常运行 [root@rac1 bin]# ./crs_stat -t Name Type Target State Host -----------------------------------------------------------ora.rac1.gsd application ONLINE ONLINE rac1 ora.rac1.ons application ONLINE ONLINE rac1 ora.rac1.vip application ONLINE ONLINE rac1 ora.rac2.gsd application ONLINE ONLINE rac2 ora.rac2.ons application ONLINE ONLINE rac2 ora.rac2.vip application ONLINE ONLINE rac2

第 62 页 总 62 页


相关文章:
oracle10g_rac安装图解
oracle10g_rac安装图解_计算机软件及应用_IT/计算机_专业资料。oracle10g下安装rac图解教程 oracle 10g rac 安装图解规划:所用 linux 系统以虚拟化方式安装在 esx ...
vmware+linux+oracle10g rac的安装过程
vmware+linux+oracle10g rac安装过程 - vmware+linux+oracle10g rac 全过程(一) 实验准备 全过程( :实验准备 : 实验环境: 笔记本一台...
oracle 10G rac安装亲测_图文
oracle 10G rac安装亲测_计算机软件及应用_IT/...Linux # # For binary values, 0 is disabled, ...可以采用如下解决方法: [root@myrac1 /]# cat ...
Redhat 6.2(x86_64)+oracle10g(RAC)+asm安装配置_...
Redhat 6.2(x86_64)+oracle10g(RAC)+asm安装配置_计算机软件及应用_IT/...配置裸设备 1)对磁盘进行分区 由于 linux6.2 下,裸设备必须基于磁盘的逻辑...
LINUX下Oracle_10G_RAC的安装配置与管理
安装配置与管理维护 LINUX Oracle 10G RAC安装配置与管理维护一 RAC 相关以及基础知识 ... 2 1.CRS 简介 ......
终极版Oracle_10g_RAC_For_Linux86_64安装手册_图...
终极版Oracle_10g_RAC_For_Linux86_64安装手册 - 第一章 安装前的准备工作 IP 规划如下: 本地 IP: 192.168.112.10 255.255.255.0 ...
Oracle10g RAC安装与管理文档(for bosolinux)
Oracle10g RAC 安装与管理文档(for Linux x86-64) 注:以下文檔用蓝色表 linux 下的执行命令,红色表重点注意 参考: 《Oracle? Database Installation Guide 10g ...
oracle10g RAC在linux上的安装配置方法_图文
oracle10g RAClinux上的安装配置方法_计算机软件及应用_IT/计算机_专业资料。oracle10g+linux5+RAC 在虚拟机上安装 oracle10g+RAC *** 在 Linux 的 X window ...
Oracle 10g R2 RAC for Redhat Linux 安装文档
Oracle 10g R2 RAC for Redhat Linux 安装文档 - ORACLE 10.2.0.1 RAC FOR RedHat Linux AS4 update4 安装操作手册...
Vmware WorkStation 7.14环境下oracle10g RAC安装...
在本指南中,您将了解如何安装和配置两个在 Enterprise Linux 和 VMware WorkStation 7.14 上运行 Oracle RAC 10g 第 2 版的节点。注意,本指南仅用于教 学/...
更多相关标签: