ORACLE 10.2.0.5 RAC FOR RedHat Linux AS5 (X86)
实施手册
ORACLE10G Real Application Clusters FOR Linux AS5实施手册
目录
1 文档摘要 ................................................................................................................... 4 2 具体步骤 ................................................................................................................... 4 2.1 硬件环境描述 ..................................................................................................... 4 2.1.1 硬件环境描述 ............................................................................................. 4 2.2 前期准备 ............................................................................................................. 5 2.2.1 准备ORACLE的安装配置文件 .............................................................. 5 2.2.2 Ocfs2集群文件系统使用的软件需要匹配内核信息 ............................... 6 2.2.3 准备OCFS2的安装软件 ........................................................................... 6 2.3 RAC系统相关规划 ............................................................................................ 6 2.3.1 操作系统安装规划 ..................................................................................... 6 2.3.2 节点1、节点2上ORACLE安装规划、注册表规划(OCR)、表决磁盘规划(VOTING DISK) .......................................................................................... 7 3 根据规划安装操作系统,并配置时钟同步 ........................................................... 8 3.1 在节点1安装操作系统 ..................................................................................... 8 3.2 在节点2安装操作系统 ..................................................................................... 8 3.3 安装其他驱动 ..................................................................................................... 8 3.4 配置时钟同步 ..................................................................................................... 9 4 ORACLE RAC安装环境检查与准备 .................................................................. 10 5 OCFS2的安装与检查 ............................................................................................. 17 5.1 下载相应的OCFS2版本 ................................................................................ 17 5.2 创建 OCFS2 配置文件。 ............................................................................... 17 5.3 配置 O2CB 驱动程序。 ................................................................................. 18 5.4 格式化文件系统。 ........................................................................................... 20 5.5 挂载文件系统。 ............................................................................................... 21 5.6 创建 ORACLE 集群件目录。 ......................................................................... 22 6 安装CLUSTERWARE与ORACLE数据库系统 ............................................. 22
第 2 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
7 DBCA创建数据库 .................................................................................................. 49 7.1 检查数据库群集服务状态 ............................................................................... 56 8 配置客户端 ............................................................................................................. 57 9 测试RAC ................................................................................................................ 58 10 集群基本命令 ....................................................................................................... 60 11 启用归档 ............................................................................................................... 61 11.1 启用归档步骤 ................................................................................................. 61 11.1.1 设置归档路径 .......................................................................................... 61 11.1.2 关闭两个实例,启动实例,更改数据库为归档模式 ......................... 62 11.1.3 启动另外一个节点,完成归档模式的变更过程 ................................. 63
第 3 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
1 文档摘要
 本文档主要讲述在Red Hat Linux As 4、5上安装oracle 10G(10.2.0.5) Real
Application Clusters(RAC)的安装步骤与方法,本手册所讲述的内容已经成功实施过,并在健康运行。  本文档讲述的内容同样适合redhat linux与ORACLE 10G的其他版本,但
是可能在细节上有出入。  该文档将尽量的详细,但是在使用本文档前,仍然建议必须具有一定的
ORACLE数据库和LINUX基础知识。
2 具体步骤
若无特别说明,“$”提示符均表示在oracle用户下执行,“#”提示符均表示在root用户下执行
备注:Llinux AS2、3和LinuxAS4有一些细节上面的不一样请注意查阅相关资料再进行实施。 2.1 硬件环境描述 2.1.1 硬件环境描述
2.1.1.1 硬件说明
服务器名 项目名称 硬件型号 频率 CPU 数量 物理内存 服务器1 IBM x3650 Xeon四核2.40G 8 16G 服务器2 IBM x3650 Xeon四核2.40G 8 16G 第 4 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
磁盘阵列柜 型号 每硬盘容量 阵列缓存 硬盘数量 RAID名称 IBM 600GB 4 RAID 5 1800G 2.1.1.2 RAC体系
IBM共享存储数据通道数据通道RAID5eth0:192.168.10.3心跳线eth0:192.168.10.4eth1:10.172.1.4eth1:10.172.1.3Rac1VIP192.168.10.5192.168.10.6Rac2客户端客户端
2.2 前期准备
2.2.1 准备ORACLE的安装配置文件
 .bash_profile数据库安装用户变量  /etc/sysctl.conf内核参数
第 5 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
2.2.2 Ocfs2集群文件系统使用的软件需要匹配内核信息
验证内核版本如下命令:
# uname -r
[oracle@rac1 ~]$ uname -r Linux rac1 2.6.18-128.e15PAE [oracle@ rac1 ~]$ 我们这里内核是2.6.18-128.e15.ELlargesmp、x86(32位),
提示:smp指是的多处理器,如果是单处理器系统需要下载EL的ASMLIB
2.2.3 准备OCFS2的安装软件
http://oss.oracle.com/
根据以上的内核版本下载相应的OCFS2驱动以及软件:
ocfs2-2.6.18-128.el5-1.4.8-1.el5.i686.rpm ocfs2-2.6.18-128.el5PAE-1.4.8-1.el5.i686.rpm ocfs2console-1.4.4-1.el5.i386.rpm ocfs2-tools-1.4.4-1.el5.i386.rpm
2.3 RAC系统相关规划 2.3.1 操作系统安装规划
服务器名 项目名称 RAC节点1 RAC节点2 第 6 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
IBM system X3650 IBM system X3650 硬件型号 Redhat As 5 Redhat As 5 操作系统 ORAIDA ORAIDB 服务器主机名 192.168.10.3 192.168.10.4 IP地址(eth0) 中文/英文 中文/英文 语言环境 采用/etc/hosts主机文件 采用/etc/hosts主机文件 域名服务方式 中国 中国 时区 安装全部安装包 安装全部安装包 安装方式 146G 146G 容量 内置硬盘 2(RAID1) 2(RAID1) 数量 物理路径 97G 97G / 系统分区 4G 4G Swap 备注:留40G左右的空间用于以后扩展(系统分区或者交换分区) Root/****** Root/****** 系统用户 IBM 型号 每硬盘容量 600G 1.8T 总容量 RAID名称 RAID 5 磁盘阵列柜 磁盘分区 OCR (oracle集群注册表) 表决磁盘 (voting disk) 集群文件系统 /dev/sdb1 备注:不做内部冗余 /dev/sdb2 备注:不做内部冗余 /dev/sdb3 /oradata/data1 /dev/sdb4 /oradata/data2 2.3.2 节点1、节点2上ORACLE安装规划、注册表规划(OCR)、
表决磁盘规划(VOTING DISK)
服务器名 项目名称 操作系统 服务器主机名 公共IP地址(eth0) 虚拟IP地址(eth0) 私有IP地址(eth1) ORACLE RAC SID 集群实例名称 服务器1 服务器2 Redhat as 4.0 u14(位x86) Redhat As4.0u4(位x86) ORAIDA 192.168.10.3 192.168.10.5 10.0.0.1 ORAIDA rac ORAIDB 192.168.10.4 192.168.10.6 10.0.0.2 ORAIDB 第 7 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
OCR(oracle集群注册表) 表决磁盘 (voting disk) 数据盘 数据库版本 /dev/sdb1 10G /dev/sdb2 10G /dev/sdb3 /oradata/data1 /dev/sdb4 /oradata/data2 Oracle Database 10g Enterprise Edition Release Application server 10.2.0.5.0(32位) Oracle cluster 10.2.0.5.0 for linux X86 /home/ora10g /ora10g/oracle/product/ /crs/oracle/product/ 1521 simplifed Chinese.ZHS16GBK Sys/ System/ 集群文件系统 16384byte 数据库BASE目录 数据库HOME目录 集群软件CRS目录 数据库监听端口 数据库字符集 数据库系统帐号与初始密码 数据库实例建库方式 数据库块大小 Ssh密钥交换密码 Ora10g安装用户口令 3 根据规划安装操作系统,并配置时钟同步
3.1 在节点1安装操作系统
安装Linux的操作系统,建议选择全部安装模式,避免出现缺少软件安装时报错,如果不能全部选择安装,建议对出错的模块跳过,过后再进行安装。
3.2 在节点2安装操作系统
安装完一台就不用我再说怎么安装了吧,参照第一台做法进行安装。
3.3 安装其他驱动
安装其他软件略
第 8 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
3.4 配置时钟同步
 第一个节点 服务器配置
编辑以下文件, #/etc/ntp.conf
server 192.168.10.4 restrict 192.168.10.3
restrict 192.168.10.0 mask 255.255.255.0 nomodify notrip
启动时钟服务
#chkconfig --level 35 ntpd on 开启系统时钟服务 #service ntpd start
再执行hwclock –w 写入服务器的bios #hwclock –w  第二个节点
在192.168.10.4节点上,把该shell加入到调度中,让系统每6小时向192.168.10.3节点同步时钟,命令如下
客户端 # vi /etc/crontab
0 */5 * * * root /usr/sbin/ntpdate 172.169.31.43;/sbin/hwclock –w
测试时钟同步 #ntpdate 192.168.10.3
第 9 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
ok
4 ORACLE RAC安装环境检查与准备
1、在每个节点上创建ORACLE用户与DBA组 groupadd –g 1001 dba groupadd –g 1002 oinstall mkdir –p /oracle
useradd –u 1001 –g oinstall –G dba -d /oracle oracle passwd oracle
cp /etc/skel/.bash_profile /oracle
cp /etc/skel/.bashrc /oracle
cp /etc/skel/.bash_logout /oracle
使用图形界面创建DBA组和ORACLE用户,并手工指定他们的ID,注意在这里,每个节点的oracle用户ID,DBA组ID必须一致,其他使用默认值,同时创建完毕后在每个节点执行如下命令
#chown –R oracle:dba /oracle
2、修改每个节点系统内核参数./etc/sysctl.conf, #vi /etc/sysctl.conf #cat /proc/sys/kernel/sem #cat /proc/sys/kernel/shmmni #cat /proc/sys/kernel/shmall #cat /proc/sys/kernel/shmmax
然后加入如下内容
第 10 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
1、设置每个节点ORACLE用户环境变量(修改ORACLE的.bash_profile),该文件见附件 $vi .bash_profile 然后加入如下 unset USERNAME
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/product/ export ORA_CRS_HOME=/crs/oracle/product/ export ORACLE_SID=ORAIDB
export
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$ORACLE_BASE/common/oracle/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
export
ORACLE_PATH=$ORACLE_BASE/common/oracle/sql:$ORACLE_HOME/rdbms/admin
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}:/lib:/usr/lib:/usr/local/lib export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
第 11 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib export THREADS_FLAG=native export TEMP=/tmp export TMPDIR=/tmp umask=022 内容
注意:在节点ORAIDB上,ORACLE_SID应该变为ORAIDB 2、配置每个节点的/etc/hosts文件 #vi /etc/hosts
然后修改里面的内容为如下
# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost 192.168.1.3 ORAIDA 192.168.1.4 ORAIDB 192.168.1.5 ORAIDA-vip 192.168.1.6 ORAIDB-vip 10.0.0.1 ORAIDA-priv 10.0.0.2 ORAIDB-priv
注意:确保在每个节点上/etc/hosts文件的回送地址中不包含节点名(ORAIDA 或 ORAIDB)。如果机器名出现在回送地址条目中,如下所示:
127.0.0.1 ORAIDA localhost.localdomain localhost 需要将其如下删除:
127.0.0.1 localhost.localdomain localhost 3、配置每个节点的hangcheck_timer内核:
# find /lib/modules -name \"hangcheck-timer.ko\"
#vi /etc/modprobe.conf
第 12 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
加入如下内容
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
测试是否正确命令是\"modprobe -v hangcheck-timer 设置为自动启动hangcheck-timer /sbin/modprobe hangcheck_timer 检查是否成功启动
#grep hangcheck /var/log/messages |tail -2
OK
4、配置SSH对等信任
以oracle用户身份执行,在所有节点上做如下配置以生成SSH密钥。 在每个节点上执行: su - oracle(以oracle用户登录) mkdir ~/.ssh(注意~/.的顺序) chmod 700 ~/.ssh
ssh-keygen -t rsa(以下会有确认提示,全部直接回车) cd /oracle/.ssh
以下在节点1上执行: 20110707
cat id_rsa.pub >> authorized_keys
scp authorized_keys ORAIDB: /oracle/.ssh/(以下的提示,先输入yes,然后输入节点linux2的oracle用户密码)
以下在节点2上执行:
第 13 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
cat id_rsa.pub >> authorized_keys
scp authorized_keys ORAIDA:/oracle/.ssh/(以下的提示,先输入yes,然后输入节点linux1的oracle用户密码)
如果节点数多于两个,则执行的步骤比上面的多,总之目的是要把每个节点的公用信息也就是id_rsa.pub文件里的内容存到authorized_keys里,然后使所有的节点都有这个authorized_keys文件。
然后在所有节点上执行: ssh ORAIDA date ssh ORAIDA-priv date ssh ORAIDB date
ssh ORAIDB-priv date(如果有提示,就输入yes,只要不再出现输入密码的提示,就代表ssh信任连接已配置成功)
将上述步骤在节点2上再执行一次,注意将ORAIDA和ORAIDB互换! 建立SSH信任关系(请注意,用户等效性仅为当前会话建立。 如果您切换到其他会话或注销并重新登录,则必须再次运行 ssh-agent 和 ssh-add 才能重新建立用户等效性)
OK
在每个节点上执行
$ exec /usr/bin/ssh-agent $SHELL $ /usr/bin/ssh-add
在每个节点上执行如下命令以测试连通性,并建立SSH信任关系
第 14 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
$ ssh ORAIDA date $ ssh ORAIDB date
Sun may 27 19:07:19 CDT 2007
测试每个方向上所有服务器的连通性是非常重要的。 这样会确保当 OUI 在 CRS 和数据库软件安装期间试图复制文件时不会再出现类似以下的消息。 该消息只有在远程节点上第一次执行操作时才会出现,因此通过测试连通性,您不仅确保了远程操作的正常运行,还完成了初始的安全密钥交换。
The authenticity of host 'ds2 (192.168.10.4)' can't be established. RSA key fingerprint is 8f:a3:19:76:ca:4f:71:85:42:c2:7a:da:eb:53:76:85.
Are you sure you want to continue connecting (yes/no)? yes 用下述指令在ORAIDA上测试ssh互信任配置是否正确
在再每个节点上执行如下命令,应该直接显示相应的时间,而不会提示输入密码
$ ssh ORAIDA date $ ssh ORAIDB date
OK
第 15 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
5、根据规划分区共享存储系统 先查看系统分区 #fdisk –l /dev/sdb
发现阵列柜,被加载在/dev/sdb上,在分区先要确保阵列柜上没有被分区,
如有分区,需要删除以前分区,然后在根据前面磁盘分区规划对磁盘阵列柜分区
#fdisk /dev/sdb 最后分区如下
该分区命令只在一个节点上执行,另外一个节点上执行分区同步命令 #partprobe
提示:关于分区命令fdisk的详细说明,参考其他Linux 下的fdisk命令手册
由于我们把oracle的OCR(oracle集群注册表)、 表决磁盘(voting disk)安装在OCFS2上 #OCR和VOTING /ocfs/ocr /dev/sdb1 /ocfs/voting /dev/sdb2
配置完毕后,务必重新启动两台服务器 调整配置错误
第 16 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
5 OCFS2的安装与检查
5.1 下载相应的OCFS2版本
OCFS2 是 Oracle 开发的一个通用集群文件系统,与 Enterprise Linux 内核集成在一起。它允许所有节点在集群文件系统上同时共享文件,因而消除了管理原始设备的需求。这里,您将在 OCFS2 文件系统中寄宿 OCR 和表决磁盘。您可以从 OCFS2 用户指南获取有关 OCFS2 的其他信息。
如果是 Enterprise Linux,在安装期间,您应该已经安装了 OCFS2 RPM。验证 RPM 是否已经安装在两个节点上。 ORAIDA-> rpm -qa | grep ocfs
ocfs2-2.6.18-128.el5-1.4.8-1.el5.i686.rpm ocfs2-2.6.18-128.el5PAE-1.4.8-1.el5.i686.rpm ocfs2console-1.4.4-1.el5.i386.rpm ocfs2-tools-1.4.4-1.el5.i386.rpm
5.2 创建 OCFS2 配置文件。
在 ORAIDA 上,以 root 用户身份执行 # ocfs2console
OCFS2 控制台:选择 Cluster,然后选择 Configure Nodes。 “集群堆栈已经启动”:单击 Close。 节点配置:单击 Add。
新增节点:添加以下节点,然后单击 Apply。 名称:ORAIDA --该名称为主机名 IP 地址: 192.168.10.3 IP 端口: 7777
名称:ORAIDB --该名称为主机名 IP 地址:192.168.10.4 IP 端口: 7777 验证生成的配置文件。
第 17 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
# more /etc/ocfs2/cluster.conf node:
ip_port = 7777
ip_address = 192.168.10.3 number = 0 name =ORAIDA cluster = ocfs2 node:
ip_port = 7777
ip_address = 192.168.10.4 number = 1 name = ORAIDB cluster = ocfs2 cluster:
node_count = 2 name = ocfs2
将配置文件传播到ORAIDB。您可以在ORAIDB 上重新运行上述步骤以生成配置文件,或者在ORAIDA 的 OCFS2 控制台上选择 Cluster 和 Propagate Configuration 以将配置文件传播到 ORAIDB。
5.3 配置 O2CB 驱动程序。
O2CB 是一组集群服务,负责管理节点与集群文件系统之间的通信。下面是对各个服务的说明:
NM:用于跟踪 cluster.conf 中的所有节点的节点管理器 HB:当节点加入或离开集群时向上/向下发出通知的心跳服务 TCP:处理节点之间的通信
DLM:用于跟踪所有锁、这些锁的所有者以及状态的分布式锁管理器
第 18 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
CONFIGFS:在 /config 中挂载的用户空间驱动的配置文件系统 DLMFS:用户空间与内核空间 DLM 的接口
在两个节点上执行下面的过程,将 O2CB 配置为在引导时启动。 当系统提示您指定心跳死亡阈值时,您必须指定一个大于 7 的值,以防止节点由于较慢的 IDE 磁盘驱动器而崩溃。心跳死亡阈值是一个用于计算隔离时间的变量。
Fence time (seconds) = (heartbeat dead threshold -1) * 2
在我们的环境中,301 秒的隔离时间很合适。两个节点上的心跳死亡阈值应该完全相同。
提示:强烈建议心跳死亡阀值为301,根据多个地市安装该值为301安装比较顺利。
以 root 用户身份执行 # /etc/init.d/o2cb unload Stopping O2CB cluster ocfs2: OK Unmounting ocfs2_dlmfs filesystem: OK Unloading module \"ocfs2_dlmfs\": OK Unmounting configfs filesystem: OK Unloading module \"configfs\": OK
# /etc/init.d/o2cb configure Configuring the O2CB driver.
This will configure the on-boot properties of the O2CB driver. The following questions will determine whether the driver is loaded on boot. The current values will be shown in brackets ('[]'). Hitting without typing an answer will keep that current value. Ctrl-C will abort.
Load O2CB driver on boot (y/n) [y]: y
Cluster to start on boot (Enter \"none\" to clear) [ocfs2]:
第 19 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
Specify heartbeat dead threshold (>=7) [7]: 61 Writing O2CB configuration: OK Loading module \"configfs\": OK
Mounting configfs filesystem at /config: OK Loading module \"ocfs2_nodemanager\": OK Loading module \"ocfs2_dlm\": OK Loading module \"ocfs2_dlmfs\": OK Mounting ocfs2_dlmfs filesystem at /dlm: OK Starting O2CB cluster ocfs2: OK
5.4 格式化文件系统。
在格式化和挂载文件系统之前,应验证 O2CB 在两个节点上均联机;O2CB 心跳当前没有活动,因为文件系统未挂载。 # /etc/init.d/o2cb status Module \"configfs\": Loaded Filesystem \"configfs\": Mounted Module \"ocfs2_nodemanager\": Loaded Module \"ocfs2_dlm\": Loaded Module \"ocfs2_dlmfs\": Loaded Filesystem \"ocfs2_dlmfs\": Mounted Checking O2CB cluster ocfs2: Online Checking O2CB heartbeat: Not active
您只需在一个节点上格式化文件系统。在ORAIDA 上,以 root 用户身份执行
# ocfs2console
OCFS2 控制台:选择 Tasks、Format。 格式:
可用设备:/dev/sdb1 卷标:ocr
第 20 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
集群大小:Auto 节点插槽数量: 4 块大小:Auto 可用设备:/dev/sdb1 卷标:voting 集群大小:Auto 节点插槽数量: 4 块大小:Auto
如图:
OCFS2 控制台:按 CTRL-Q 退出。
5.5 挂载文件系统。
要挂载文件系统,在两个节点上执行以下命令。
第 21 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
# mount -t ocfs2 -o datavolume,nointr /dev/sdb1 /ocfs/ocr # mount -t ocfs2 -o datavolume,nointr /dev/sdb1 /ocfs/voting
要在引导时挂载文件系统,在两个节点的 /etc/fstab 中添加以下行。 #vi /etc/fstab
/dev/sdb1 /ocfs/ocr ocfs2 _netdev,datavolume,nointr 0 0 /dev/sdb2 /ocfs/voting ocfs2 _netdev,datavolume,nointr 0 0
5.6 创建 Oracle 集群件目录。
在 OCR 和表决磁盘将驻留的 OCFS2 文件系统中创建目录。 在 ORAIDA 上执行
#mkdir –p /crs/oracle/product # mkdir –p /ocfs/ocr # mkdir –p /ocfs/voting # chown -R oracle:dba /ocfs/ocr # chown -R oracle:dba /ocfs/voting # chown -R oracle:dba /crs/oracle/product 在 ORAIDB 上执行
#mkdir -p /crs/oracle/product # mkdir -p /ocfs/ocr # mkdir -p /ocfs/voting
# chown -R oracle:dba /ocfs/ocr # chown -R oracle:dba /ocfs/voting # chown -R oracle:dba /crs/oracle/product
现在,您已经完成了 OCFS2 的设置。验证您可以在两个节点的共享集群文件系统上读写文件
6 安装Clusterware与ORACLE数据库系统
把CRS与数据库软件拷贝到服务器上,再安装,注意,在安装前先建立用
第 22 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
户等效性,如下
#xhost + #su – oracle
$export DISPLAY=host:0.0 $ exec /usr/bin/ssh-agent $SHELL $ /usr/bin/ssh-add
oracle10g官方不支持as5 但支持as4等其它版本 所以要修改一下 其实有三种解决办法 a、修改系统版本
编辑/etc/redhat-release #vi /etc/redhat-release
Red Hat Enterprise Linux Server release 5.4 (Tikanga) 改为
Red Hat Enterprise Linux AS release 4 (Nahant Update 4) *但请记住在Oracle安装完成之后将系统修改回原来的版本 b、修改oracle安装文件 将 redhat-5.4 填上
# vi /10201_database_linux32/database/install/oraparam.ini ### #[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5.4,UnitedLinux-1.0,asianux-1,asianux-2] 再添加
[Linux-redhat-5.4-optional] TEMP_SPACE=80 SWAP_SPACE=150
MIN_DISPLAY_COLORS=256 c、最简单的方法 在安装时忽略系统检查
sh ./runInstaller -ignoreSysPrereqs
在这里我选用第三种办法
运行安装命令之前,启动本地计算机的Xmanager
[oracle@node1 clusterware]$ ./runInstaller -ignoreSysPrereqs
********************************************************************************
Please run the script rootpre.sh as root on all machines/nodes. The script can be found at the toplevel of the CD or stage-area. Once you have run the script, please type Y to proceed
第 23 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
Answer 'y' if root has run 'rootpre.sh' so you can proceed with Oracle Clusterware installation. Answer 'n' to abort installation and then ask root to run 'rootpre.sh'.
********************************************************************************
Has 'rootpre.sh' been run by root? [y/n] (n) y
Starting Oracle Universal Installer...
Checking installer requirements...
Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
Failed <<<<
>>> Ignoring required pre-requisite failures. Continuing...
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2010-08-11_10-31-26AM. Please wait ...[oracle@node1 clusterware]$ Oracle Universal Installer, Version 10.2.0.1.0 Production Copyright (C) 1999, 2005, Oracle. All rights reserved.
Exception java.lang.UnsatisfiedLinkError:
/tmp/OraInstall2010-08-11_10-31-26AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred.. java.lang.UnsatisfiedLinkError:
/tmp/OraInstall2010-08-11_10-31-26AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
这里出现一个报错信息,缺少一个libXp.so.6包,这是在系统安装时图形界面安装少了一些包,这里建议
第 24 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
在进行系统安装时,选择所有的包,反正现在的硬盘空间都足够大,可以省去很多不必要的麻烦
1、安装CRS软件
$./runInstaller
单击“下一步”
修改安装组为“dba”,然后单击“下一步”
第 25 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
修改crs的安装路径与.bash_profile中crs设置的路径一致。然后单击“下一步”
单击“下一步”
提示:在这里如果环境设置的不正确,或者硬件配置达不到要求,检测不会通过,
但是对于硬件配置,我们可以选择通过验证
第 26 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
上图中只显示了一台服务器节点,验证该节点信息是否和/etc/hosts中的内容一致
同时把节点ORAIDB添加到集群配置中,最后如下
然后单击“下一步”
第 27 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
单击“编辑”按钮,将eth0网卡的网段设为“公共”,然后点击“确定”(默认eth0是“公共”)
以上这步要确定好是哪张网卡提供公共对外服务,哪张网卡提供心跳检测私有服务,千万不能弄错,确定好后点击“下一步”
指定OCR的位置(前面已经设置好的)。然后单击“下一步”
提示:这里可以选择正常冗余或外部冗余,效果一样,正常冗余提供了一个OCR的镜像位置,而外部冗余没有提供OCR镜像,只需要OCR位置就可以,由于前期我们在规划的时候没有规划OCR镜像,因此我们这里选择外部冗余,下面表决磁盘的配置也是一样
第 28 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
指定表决磁盘的位置,单击“下一步”
单击安装
第 29 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
注意当安装到后面出现如下提示时,先不要点击“确定”
此时安装向导让你在所有节点上分别执行上述两个脚本,先在安装CRS的计算机上执行上述两个脚本,注意这两个脚本在X-WINDOS窗口下执行,以便能够启动VIPCA。
注意: 一定要一个节点运行完了再在另一个节点上运行,切记!
第 30 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
在ORAIDA上运行脚本
运行root.sh 成功!!
第 31 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
ORAIDB 上运行脚本。
运行root.sh 脚本失败
不怕,我们还可以补救他 输出如下:
[root@ORAIDB crs]# ./root.sh
WARNING: directory ' /crs/product/10.2.0' is not owned by root
第 32 页 共 63 页 ORACLE10G Real Application Clusters FOR Linux AS5实施手册
WARNING: directory '/crs/oracle/product' is not owned by root WARNING: directory '/ crs/oracle ' is not owned by root WARNING: directory '/crs' 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 '/ crs/oracle/product/' is not owned by root WARNING: directory '/ crs/oracle/' is not owned by root WARNING: directory '/crs' is not owned by root clscfg: EXISTING configuration version 3 detected. clscfg: version 3 is 10G Release 2.
Successfully accumulated necessary OCR keys.
Using ports: CSS=495 CRS=496 EVMC=498 and EVMR=497.
node  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. ORAIDA ORAIDB 第 33 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 CSS is active on all nodes. 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/app/crs/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 补救措施 先运行 第 34 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 /crs/oracle/product/bin./oifcfg 配置网络接口 修改/crs/oracle/product/bin/vipca 添加以下加亮行 然后运行vipca 如下图 图形界面如下图: 第 35 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 第 36 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 第 37 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 第 38 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 此时,安装向导将给出安装总结,点击退出 第 39 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 在其他节点都执行完毕后,此时,你需要回到节点1,在此界面上单击确定 通过上面的检查后,Oracle Clusterware安装结束! 第 40 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 2、 安装ORACLE数据库 $./runInataller 单击“下一步” 第 41 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 选择安装企业版数据库,单击“下一步” 确定安装路径,这里安装路径要和.bash_profile中的ORACLE_HOME值一致,单击“下一步” 第 42 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 选中集群内所有节点,单击“下一步” 单击“下一步” 选择仅安装数据库软件,单击“下一步” 单击安装 第 43 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 此时安装途中向导将提示先以root用户的身份在每个节点上执行上述脚本,执行完毕后在点击“确定”。执行效果如下: 第 44 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 以上安装完毕后,下面进行ORACLE NET配置 3、配置Oracle Net 以oracle用户的身份执行netca,配置Oracle Net 选择集群配置,单击“下一步” 第 45 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 选择全部节点,单击“下一步” 选择监听程序配置,单击“下一步” 选择添加,单击“下一步” 第 46 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 使用默认的监听程序名——LISTENER,单击“下一步” 选择TCP协议,单击“下一步” 使用默认的监听端口——1521,单击“下一步” 第 47 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 选择否,单击“下一步” 单击“下一步” 选择命名方法配置,单击“下一步” 第 48 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 选择本地命名,单击“下一步” 单击“下一步” 单击完成,结束Oracle Net的配置 7 DBCA创建数据库 以oracle安装用户的身份运行dbca,建立集群数据库 第 49 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 选择Oracle Real Application Cluster数据库,单击下一步 选择创建数据库,单击下一步 选中集群中的所有节点,单击下一步 第 50 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 选择一般用途的数据库模版,单击下一步 输入全局数据库名以及SID,在这里都输入“rac”,单击下一步 第 51 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 使用默认选项,然后单击下一步 输入数据库用户口令,先输入统一口令“sys”,然后单击下一步 选择集群文件系统,单击“下一步” 已经创建好的磁盘组,就会显示在可用磁盘组里,选中,然后单击下一步 第 52 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 使用默认值,然后单击下一步 如果不需要配置Flashback,单击下一步,否则需要指定快速恢复区, 这里设定4G的快速恢复区后单击下一步 选择安装示例方案,单击下一步 单击添加按钮,增加服务 第 53 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 输入服务名rac,单击确定 将两个实例均设为首选,TAF策略设为基本,单击下一步 调整内存大小到合适比例,字符集选择simplifed Chinese.ZHS16GBK,从安全角度出发控制文件最好放在不同硬盘上面并且设置为多个控制文件,日志组也设为多组,并且每组成员多个,每一组的成员个数要相同,单击下一步 第 54 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 调整重做日志大小均为100M(从性能方面来看也不适宜太大),然后单击下一步 把“生成数据库创建脚本”选中,然后单击完成 此时,安装向导将向你确认数据库的配置信息,单击确定开始建立数据库 第 55 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 正在创建数据库 出现该界面表示数据库创建完毕,单击退出,结束数据库创建 7.1 检查数据库群集服务状态 #crs_stat –t 出现下面的提示 第 56 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 8 配置客户端 要在客户端的hosts文件中写入相应的RAC(内容与前面etc/hosts一致)地址,对于Windows系统,路径为 %system32%\\drivers\\etc\\hosts。编辑hosts文件,内容与前面etc/hosts一致 客户端配置tnsnames.ora文件,内容如下:  ORAIDA = (DESCRIPTION =      (ADDRESS_LIST =        (LOAD_BALANCE=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.5)(PORT = 1521))       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.6)(PORT = 1521))      ) (CONNECT_DATA = # 下面的部分应该根据你安装RAC是配置进行相应的改动        (SERVICE_NAME = rac)            (FAILOVER_MODE = (TYPE=SELECT)   (MODE=BASIC) (RETRY=3)     // 重试3次 第 57 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 (DEALY=5)     // 重试间隔5秒 )      )    ) 说明:https:// 192.168.10.3:1158/em即可登陆到Database Control,启动Database Control用如下命令 $emctl start dbconsole 9 测试RAC 以下 SQL 查询可以用来查看一个会话的故障切换类型、故障切换方法和是否发生了故障切换。在这个例子中自始至终使用这个查询。 Sql>COLUMN instance_name    FORMAT a13 Sql>COLUMN host_name        FORMAT a9 Sql>COLUMN failover_method  FORMAT a15 Sql>COLUMN failed_over      FORMAT a11 Sql>SELECT instance_name,host_name,  NULL AS failover_type,NULL AS failover_method,  NULL AS failed_over  FROM v$instance UNION  SELECT NULL,NULL,failover_type,failover_method,failed_over  FROM v$session WHERE username = 'SYSTEM'; 从 客户端计算机中,以SYSTEM用户登录集群化数据库:  C:\\> sqlplus system/sys@oradb Sql>COLUMN instance_name    FORMAT a13 Sql>COLUMN host_name        FORMAT a9 Sql>COLUMN failover_method  FORMAT a15 Sql>COLUMN failed_over      FORMAT a11 Sql>SELECT instance_name,host_name,  NULL AS failover_type,NULL AS failover_method,  NULL AS failed_over  FROM v$instance UNION  SELECT NULL,NULL,failover_type,failover_method,failed_over  FROM v$session  WHERE username = 'SYSTEM'; 第 58 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 INSTANCE_NAME HOST_NAME FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER ------------- --------- ------------- --------------- ----------- oradb1         oradb1 SELECT         BASIC           NO 不注销上面的 SQL*Plus 会话! 我们已经运行了上面的查询,现在到节点ORAIDA上使用 abort 选项来关闭该节点上的ORAIDA 实例。要执行这一操作,我们可以使用 srvctl 命令行实用程序,如下所示: # su - oracle $ srvctl status database -d jmdb Instance ORAIDA is running on node ORAIDA Instance ORAIDB is running on node ORAIDB $ srvctl stop instance -d rac -i ORAIDA -o abort $ srvctl status database -d rac Instance ORAIDA is not running on node ORAIDA Instance ORAIDB is running on node ORAIDB 现在让我们返回到我们的 SQL 会话,然后重新运行缓冲中的 SQL 语句: Sql>SELECT instance_name,host_name,  NULL AS failover_type,NULL AS failover_method,  NULL AS failed_over  FROM v$instance UNION  SELECT NULL,NULL,failover_type,failover_method,failed_over  FROM v$session  WHERE username = 'SYSTEM'; INSTANCE_NAME HOST_NAME FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER ------------- --------- ------------- --------------- ----------- ORAIDB         ORAIDB SELECT        BASIC           YES SQL> exit 从上面的演示中,可以看到上述会话现在已经被通明切换到了ORAIDB的实例 ORAIDB上 第 59 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 10 集群基本命令 停止 Oracle RAC 10g 环境 第一步是停止 Oracle 实例。当此实例(和相关服务)关闭后,关闭 ASM 实例。 最后,关闭节点应用程序(虚拟 IP、GSD、TNS 和 ONS)。 $ export ORACLE_SID= ORAIDA $ emctl stop dbconsole $ srvctl stop instance -d oradb -i ORAIDA $ srvctl stop asm -n ORAIDA $ srvctl stop nodeapps -n ORAIDA 启动 Oracle RAC 10g 环境 第一步是启动节点应用程序(虚拟 IP、GSD、TNS 和 ONS)。当成功启动节点应用程序后,启动 ASM 实例。最后,启动 Oracle 实例(和相关服务)以及企业管理器数据库控制台。 $ export ORACLE_SID= ORAIDA $ srvctl start nodeapps -n ORAIDA  $ srvctl start instance -d rac -i ORAIDA $ emctl start dbconsole 使用 SRVCTL 启动/停止所有实例  $ srvctl start database -d ORAIDA $ srvctl stop database -d ORAIDA 所有实例和服务的状态 $ srvctl status database -d rac 单个实例的状态 $ srvctl status instance -d rac -i oradb2 在数据库全局命名服务的状态 $ srvctl status service -d rac -s rac 特定节点上节点应用程序的状态 $ srvctl status nodeapps -n ORAIDA 列出配置的所有数据库 $ srvctl config database 显示 RAC 数据库的配置 第 60 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 $ srvctl config database -d rac 显示指定集群数据库的所有服务 $ srvctl config service -d rac 显示节点应用程序的配置 -(VIP、GSD、ONS、) $ srvctl config nodeapps -n rac 1 -a -g -s -l VIP exists.: /ORAIDA-vip/192.168.10.5/255.255.255.0/eth0 GSD exists. ONS daemon exists. Listener exists. 显示 ASM 实例的配置 11 启用归档 11.1 启用归档步骤 Oracle RAC的参数文件和单实例参数文件不同,所以修改参数文件时需要注意 11.1.1 设置归档路径  多个节点的归档日志放在同一个共享盘的写法 SQL> alter system set log_archive_dest_1='/opt/oracle/archive' scope=spfile sid='*';  多个节点放置多份归档日志在同一个共享盘的写法 SQL> alter system set log_archive_dest_1='/opt/oracle/archive1' scope=spfile sid='*'; SQL> alter system set log_archive_dest_2='/opt/oracle/archive2' scope=spfile sid='*'; 多个节点的归档日志在各自的机器上上面的写法 SQL> alter system set log_archive_dest_1='/opt/oracle/archive1' scope=spfile sid='ORAIDA'; 第 61 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 SQL> alter system set log_archive_dest_1='/opt/oracle/archive2' scope=spfile sid='ORAIDB'; 以下这种写法会造成数据库无法加载,需要通过修改spfile文件区处理。 SQL> alter system set log_archive_dest='/opt/oracle/archive' scope=spfile sid='*';【错误的写法】 执行参数配置以及检查是否正确。 SQL> alter system set log_archive_dest_1='/opt/oracle/archive' scope=spfile sid='*'; System altered. SQL> col sid for a10 SQL> col name for a20 SQL> col value for a30 SQL> select sid,name,value from v$spparameter where name='log_archive_dest'; SID        NAME                 VALUE ---------- -------------------- ------------------------------ *          log_archive_dest     /opt/oracle/archive 11.1.2 关闭两个实例,启动实例,更改数据库为归档模式 SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. 第 62 页 共 63 页                                      ORACLE10G Real Application Clusters FOR Linux AS5实施手册 Total System Global Area 1258291200 bytes Fixed Size                  1978336 bytes Variable Size             3523256 bytes Database Buffers          8192448 bytes Redo Buffers               14794752 bytes Database mounted. SQL> alter database archivelog; Database altered. SQL> alter database open; Database altered. SQL> archive log list; Database log mode              Archive Mode Automatic archival             Enabled Archive destination            /opt/oracle/archive Oldest online log sequence     83 Next log sequence to archive   84 Current log sequence           84 11.1.3 启动另外一个节点,完成归档模式的变更过程 在RAC环境下,归档路径的选择是值得斟酌的,如果使用共享的归档目录作为归档路径,则可以减少备份时的复杂性。如果使用的目录,则备份时需要进行特殊处理 第 63 页 共 63 页              
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务