ORACLE 10G RAC参考手册


ORACLE 10G RAC 参考手册 ORACLE 10G RAC 参考手册 部署与基本管理部分 ORACLE 10G RAC 参考手册 目 录 前言...................................................................................................................................................1 安装部署部分...................................................................................................................................1 一、Oracle RAC规划.......................................................................................................................1 1.1 RAC的基本组成.........................................................................................................1 1.2 主机系统配置及软件规划.........................................................................................2 1.3 IP规划.........................................................................................................................3 1.4 NTP服务 .....................................................................................................................3 二、安装Oracle RAC前的准备.......................................................................................................3 2.1 配置AIX.....................................................................................................................3 2.1.1、调整aix文件系统..........................................................................................3 2.1.2 编辑hosts文件 (两个节点)........................................................................4 2.1.3 创建rootvg的镜像 ..........................................................................................5 2.1.4 调整page size(swap)..................................................................................5 2.1.5 配置系统配置参数,配置每用户的最大进程数、调整water mark ............6 2.1.6 配置网络可调参数..........................................................................................6 2.1.7 修改异步I/O ....................................................................................................6 2.1.8 调整syncd频率 ................................................................................................7 2.1.9 创建串口设备..................................................................................................7 2.1.10 转换AIX 64bit内核.......................................................................................7 2.2 Oracle相关的配置......................................................................................................7 2.2.1 创建用户在db01 和db02 上,创建oinstall、dba、hagsuser组.....................7 2.2.2 在db01 和db02 上,创建oracle用户: ..........................................................8 2.2.3 安装oracle、hacmp支持包 .............................................................................8 2.2.4 安装磁盘阵列,创建共享卷..........................................................................9 2.2.5 配置SSH的对等性.........................................................................................11 2.2.6 安装fix包所需补丁(到IBM网站上下载补丁) .............................................13 2.2.7 打完补丁,包括调整完异步IO等,建议重启一次机器............................13 2.2.8 配置HACMP..................................................................................................13 三、安装Oracle RAC.....................................................................................................................18 3.1 安装oracle RAC的准备工作及安装Oracle ClusterWare.........................................18 3.2 安装oracle RAC的数据库软件 10.2.0.1..................................................................31 3.3 创建数据库...............................................................................................................40 3.4 客户端的配置配置客户端......................................................................................53 四、Oracle RAC测试.....................................................................................................................54 4.1 测试failover ..............................................................................................................55 4.2 测试load balance.......................................................................................................56 五、安装后的情况处理.................................................................................................................56 5.1 安装失败后,如何彻底删除除oracle软件及CRS..................................................56 5.2 在AIX环境下,RAC启动的方法............................................................................59 5.3 刚安装完以后,自动启动CRS服务速度慢。以及gsd无法启动? 如何处理? 59 基础管理部分.................................................................................................................................62 ORACLE 10G RAC 参考手册 1 六Oracle RAC日常管理.................................................................................................................62 6.1 CRS 的管理 .............................................................................................................62 6.2 OCR的资源管理.......................................................................................................62 6.3 SRVCTL命令介绍....................................................................................................65 6.4 SRVCTL相关的选项................................................................................................66 6.5 CRS及相关服务的常用命令的演示 .......................................................................67 6.6 为ORACLE RAC增加一个节点.............................................................................68 前言 ¾ 本文档中安装部署部分所提到的步骤都在我本地环境中测试通过,同时安装步骤是 基于 AIX 环境的(包含截图)。所以可以作为安装部署的参考手册。但是因为环境 的不同,不保证在其他环境中准确无误。另外一些配置按照自己的环境进行修改。 并在参考 Oracle 官方文档。 ¾ 本文档中并无过多的创造性的技术细节,意在抛砖引玉。希望能对一些对 RAC 相 关技术感兴趣的朋友有所帮助。 ¾ 在本文中很多操作,尤其是安装部署部分,都是基于 AIX。尽管日常的管理命令的 介绍大多数都可以跨平台。但是基本都是以基于 AIX 为主。所以阅读本文的朋友 最好有些 AIX 的基础。 ¾ 另外,由于本人的水平有限加上时间仓促,文中难免有错,如有错误请指正! ¾ 此文档包括安装部分及基础管理部分。其他的部分如果有时间会继续补充进来。 ¾ 作者简介:平雷 网络 ID:wsny 工作已经第 7 个年头,但是依然没什么长进。目 前在某大型软件企业任高级技术顾问(DBA)。热衷于 Oracle 相关技术及企业级应 用技术。平时喜欢运动,比如足球、羽毛球(正在学习中) ORACLE 10G RAC 参考手册 安装部署部分 一、Oracle RAC 规划 1.1 RAC 的基本组成 这是一个典型的 RAC 对外服务的示意图。如图所示一个 Oracle RAC cluster 包含了如下的 部分: 1. 集群的节点(cluster nodes) – 2个到 n 节点或者主机运行 Oracle database server。 2. 私有网络(Network Interconnect) – RAC 之间需要一个私有网络来处理通讯和 cache fusion。 3. 共享存储(Shared Storage) – RAC 需要共享存储设备让所有的节点都可以访问数据文 件。 4. 对外服务的网络(Production network) – RAC 对外服务的网络。客户端和应用都通过这 个网络来访问。 一个 RAC 必须再硬件的组成部分完全具备以上的 4 个部分。 下图是我们此文档中 RAC 的硬件环境。 ¾ 硬件环境说明: 硬件环境为 IBM P570 DS4800 系列盘阵+exp700 的扩展柜, 另外包括两个 SAN switches。 ¾ AIX 版本: 此文档 AIX 版本为 AIX5.3 ML5。 ¾ Oracle 版本: oracle版本为 10g 企业版 10.2.0.1 1 ORACLE 10G RAC 参考手册 PS:此图只是示意图,不代表真正的物理连接等情况,具体的 RAC 结构的概念请查考《Oracle Clusterware and Oracle Real Application Clusters Administration and Deployment Guide》 等 OTN 的文档。 1.2 主机系统配置及软件规划 分类 项目 说明 备注 主机名 db01/ db02 OS 版本 AIX 5300-05 AIX 5300-05-05 HA 软件 HACMP 5.2 HACMP 5.3 也可 共享 VG datavg DS****磁盘阵列 主机 网卡 En8: 10.201.2.102 /10.201.2.104 10.201.2.103/10.201.2.105 双网卡绑定。 En8 作为公网接口 En9 作为私网接口 Oracle 版本 10.2.0.1.0 运行模式 RAC 归档模式 归档 /opt/app/oracle/archive/arch1 2 数据库 数据库名 racdb 2 ORACLE 10G RAC 参考手册 3 实例名 racdb1/racdb2 存储方式 裸设备 客户端配置 IP 地址 10.201.2.110 1.3 IP 规划 IP 地址 主机名 说明 10.201.2.102 db01 第一个节点管理 IP 172.16.100.1 db01_priv 第一个节点私有 IP 10.201.2.104 db01_vip 第一个节点 VIP 10.201.2.103 db02 第二个节点管理 IP 172.16.100.2 db02_priv 第二个节点私有 IP 10.201.2.105 db02_vip 第二个节点 VIP 1.4 NTP 服务 由于数据库服务器大多数都不会和公网相连,所以建议先建立 NTP 服务器,或者让两台服 务器互相做 NTP 服务器和客户端。关于 NTP 服务此文就不过多赘述。请参考相关的技术文 档。 PS:强烈建议先将 NTP 服务配置好再进行下面的步骤。 二、安装 Oracle RAC 前的准备 2.1 配置 AIX (对于 AIX 的配置,通常可以请 SA 或者系统集成商来协助。但是事情只有亲历亲为才会比较放心,所以 下面我们来为 RAC 进行准备,对 AIX 进行的相关配置。) 2.1.1、调整 aix 文件系统 使用 smitty fs 扩充 / 4GB 扩充 /home 8GB ORACLE 10G RAC 参考手册 4 扩充 /usr 8GB 扩充 /var 8GB 扩充 /tmp 2GB 扩充 /opt 40GB 扩充 /var/adm/ras/platform 1GB 因为默认安装完毕后,每个文件系统都比较小。所以建议扩大这些文件系统的大小。大小的 标准根据自己的实际情况来做。 配置结果如下: NODE 1: # df -g Filesystem GB blocks Free %Used Iused %Iused Mounted on /dev/hd4 4.00 1.91 5% 2553 1% / /dev/hd2 8.00 2.47 39% 36143 6% /usr /dev/hd9var 8.00 3.95 2% 585 1% /var /dev/hd3 2.00 1.99 1% 110 1% /tmp /dev/fwdump 1.00 1.00 1% 4 1% /var/adm/ras/platform /dev/hd1 8.00 3.78 6% 124 1% /home /proc - - - - - /proc /dev/hd10opt 40.00 19.92 1% 2548 1% /opt NODE 2 : # df -g Filesystem GB blocks Free %Used Iused %Iused Mounted on /dev/hd4 4.00 1.91 5% 2553 1% / /dev/hd2 8.00 2.47 39% 36143 6% /usr /dev/hd9var 8.00 3.95 2% 585 1% /var /dev/hd3 2.00 1.99 1% 110 1% /tmp /dev/fwdump 1.00 1.00 1% 4 1% /var/adm/ras/platform /dev/hd1 8.00 3.78 6% 124 1% /home /proc - - - - - /proc /dev/hd10opt 40.00 19.92 1% 2548 1% /opt 2.1.2 编辑 hosts 文件 (两个节点) # more /etc/hosts ORACLE 10G RAC 参考手册 5 127.0.0.1 loopback localhost # loopback (lo0) name/address 10.201.2.102 db01 172.16.100.1 db01_priv 10.201.2.104 db01_vip 10.201.2.103 db02 172.16.100.2 db02_priv 10.201.2.105 db02_vip PS:需要注意的是 z 私有 IP 地址(必需与公网分离,两个节点可互相访问可以 ping 通,必须在/etc/hosts 里有) z 虚拟 IP 地址(同公网 IP 地址是一个网段的,如果有 DNS 就注册在 DNS 中,如果没有 DNS 就写在 /etc/hosts 文件里) z 公网 IP 地址(主机真正的 IP 地址,主机管理员预先分配,如果有 DNS 就注册在 DNS 中,如果没 有 DNS 就写在/etc/hosts 文件里),并且保证写入每个客户系统中的hosts 文件。 z 在各个节点的网卡配置必须相同,比如第一个节点公共 IP 是用 en0,那么其他节点也得用 en0 z 主机名称不允许出现大写字母,要求是小写字母和数字 2.1.3 创建 rootvg 的镜像 为了保证以后系统的安全,建议配置 rootvg 的镜像。 1.添加新硬盘到 rootvg #extendvg rootvg hdisk1 2.镜像 rootvg #mirrorvg -c 2 rootvg hdisk1 3.重新生成 boot image #bosboot -ad /dev/hdisk0 4.更新 bootlist #bootlist -m normal hdisk0 hdisk1 cd0 5.重起系统 #shutdown –Fr 2.1.4 调整 page size(swap) 默认的 swap 为 512M 修改 pagesize Smitty->system storage management->logical volume manager->paging size->change/show characteristics of a paging size 增加 14 个 LP(默认为 ps 为 1024M,lp 为 256M) lsps –a 可查看大小为 4G ORACLE 10G RAC 参考手册 6 2.1.5 配置系统配置参数,配置每用户的最大进程数、调整 water mark # smitty chgsys Maximum number of PROCESSES allowed per user [4096] HIGH water mark for pending write I/Os per file [33] LOW water mark for pending write I/Os per file [24] Stack Execution Disable (SED) Mode off 2.1.6 配置网络可调参数 修改文件/etc/rc.net,将如下几行加到文件的尾部: #chmod 755 /etc/rc.net #vi /etc/rc.net if [ -f /usr/sbin/no ] ; then /usr/sbin/no -o extendednetstats=0 >>/dev/null 2>&1 /usr/sbin/no -p -o udp_sendspace=65536 /usr/sbin/no -p -o udp_recvspace=655360 /usr/sbin/no -p -o tcp_sendspace=65536 /usr/sbin/no -p -o tcp_recvspace=65536 /usr/sbin/no -p -o rfc1323=1 /usr/sbin/no -p -o sb_max=1310720 /usr/sbin/no -r -o ipqmaxlen=512 Fi #chmod 554 /etc/rc.net 2.1.7 修改异步 I/O # smitty chgaio [Entry Fields] MINIMUM number of servers [30] # MAXIMUM number of servers [60] # maximum number of REQUESTS [4096] # server PRIORITY [39] # STATE to be configured at system restart available + ORACLE 10G RAC 参考手册 7 State of fast path enable + # mkdev –l aio0 使异步 I/O 可用 2.1.8 调整 syncd 频率 修改文件/sbin/rc.boot nohup /usr/sbin/syncd 10 > /dev/null 2>&1 & 2.1.9 创建串口设备 # smitty mktty 类型选择:tty rs232 Asynchronous Terminal,port number 为 0 测试两个节点的 tty0 的通信。 node2 : cat < /dev/tty0 node1 : cat /etc/hosts > /dev/tty0 2.1.10 转换 AIX 64bit 内核 Oracle 10.2 RAC on AIX 5L V5.3 需要 64-bit 内核。如果你的 AIX 是 64bit 那就 OK。但是如 果是 32bit,需要转换 32bit 内核为 64bit 的内核。 使用 bootinfo –K 查看内核是否是 64bit # bootinfo –K 64 如果是 32bit。那么需要使用如下方法来转换 32bit 到 64bit # ln -sf /usr/lib/boot/unix_64 /unix # ln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unix # bosboot -ad /dev/ipldevice # shutdown –Fr 具体可参考 metalink Note:169426.1 2.2 Oracle 相关的配置 2.2.1 创建用户在 db01 和 db02 上,创建 oinstall、dba、hagsuser 组 建议使用 smitty 添加组(设置三个组的 id,如 2.2.2 的步骤所示) 或者如下命令 # mkgroup -'A' id='203' oinstall # mkgroup -'A' id='204'dba # mkgroup -'A' id='205'hagsuser ORACLE 10G RAC 参考手册 8 2.2.2 在 db01 和 db02 上,创建 oracle 用户: 1、使用 smit 来创建用户 Smit -> Security & Users -> Users -> Add a User 或者快速路径 # smitty mkuser Add a User Type or select values in entry fields. Press Enter AFTER making all desired changes. * User NAME [oracle] User ID [440] Primary GROUP [oinstall] Group SET [dba,hagsuser] Soft FILE size [-1] Soft CPU time [-1] Soft DATA segment [-1] Soft STACK size [-1] PS:保证两台主机的组号要一致! # more /etc/group oinstall203: dba204: hagsuser205: # id oracle uid=440(oracle) gid=203(oinstall) groups=204(dba),205(hagsuser) 2.2.3 安装 oracle、hacmp 支持包 # smitty installp 需要安装以下操作系统包: Bos.adt bos.cifs_fs Bos.clvm bos.compat bos.data Bos.perf rsct.basic rsct.compat.basic ORACLE 10G RAC 参考手册 9 rsct.compat.clients rsct.core rsct.exp.cimrm 2.4.2.0 (以下包在 AIX Toolbox for Linux Applications 盘上,安装 SSH 的前提包) openssl-0.9.7g openssl-devel-0.9.7g openssl-doc-0.9.7g (以下包在扩展盘上) openssh.base openssh.license openssh.man.en_US xlC.aix50.rte:8.*.*.* xlC.rte:8.*.*.* 2.2.4 安装磁盘阵列,创建共享卷 准备磁盘阵列 # hostname db01 # lspv hdisk0 0002e54aa58657e9 rootvg active hdisk1 0002657c5acf302b rootvg active hdisk2 0002657c4d26e7ba None hdisk3 0002657c5acf4bc3 None hdisk4 0002657c4cc04d52 None hdisk5 0002ee503cc8dcaa None # # hostname db02 # lspv hdisk0 0002e54aa58657e9 rootvg active hdisk1 0002657c5acf302b rootvg active hdisk2 0002657c4d26e7ba None hdisk3 0002657c5acf4bc3 None hdisk4 0002657c4cc04d52 None hdisk5 0002ee503cc8dcaa None z 在其中一个节点,创建一个并行 vg 名字为 datavg # hostname db01 ORACLE 10G RAC 参考手册 10 # # smitty mkvg ÆAdd a Big Volume Group Type or select values in entry fields. Press Enter AFTER making all desired changes. [Entry Fields] VOLUME GROUP name [datavg] + Physical partition SIZE in megabytes 512 * PHYSICAL VOLUME names [hdisk2,hdisk3] + Force the creation of a volume group yes + Activate volume group AUTOMATICALLY no + at system restart? Volume Group MAJOR NUMBER [60] Create VG Concurrent Capable? enhanced concurrent + PS:确认所有卷组必须以 concurrent 模式被激活,两个节点可以同时对磁盘进行操作. # varyonvg datavg 创建 oracle 使用的并行卷 使用下面命令。或者将如下命令便写成一个脚本然后执行。后面的 partition size 的个数请参 考自己系统的情况。 mklv -y'rac_crs1024m' -w'n' -s'n' -r'n' datavg 2 hdisk2 mklv -y'rac_vote1024m' -w'n' -s'n' -r'n' datavg 2 hdisk2 mklv -y'rac_system_1024m' -w'n' -s'n' -r'n' datavg 4 hdisk2 mklv -y'rac_pwdfile_100m' -w'n' -s'n' -r'n' datavg 1 hdisk2 mklv -y'rac_sysaux_800m' -w'n' -s'n' -r'n' datavg 4 hdisk2 mklv -y'rac_undo1_4096m' -w'n' -s'n' -r'n' datavg 16 hdisk2 mklv -y'rac_undo2_4096m' -w'n' -s'n' -r'n' datavg 16 hdisk2 mklv -y'rac_temp_4096m' -w'n' -s'n' -r'n' datavg 16 hdisk2 mklv -y'rac_users_800m' -w'n' -s'n' -r'n' datavg 4 hdisk2 mklv -y'rac_redo1_1_120m' -w'n' -s'n' -r'n' datavg 2 hdisk2 mklv -y'rac_redo1_2_120m' -w'n' -s'n' -r'n' datavg 2 hdisk2 mklv -y'rac_redo1_3_120m' -w'n' -s'n' -r'n' datavg 2 hdisk2 mklv -y'rac_redo2_1_120m' -w'n' -s'n' -r'n' datavg 2 hdisk2 mklv -y'rac_redo2_2_120m' -w'n' -s'n' -r'n' datavg 2 hdisk2 mklv -y'rac_redo2_3_120m' -w'n' -s'n' -r'n' datavg 2 hdisk2 mklv -y'rac_ctl1_100m' -w'n' -s'n' -r'n' datavg 1 hdisk2 mklv -y'rac_ctl2_100m' -w'n' -s'n' -r'n' datavg 1 hdisk2 mklv -y'rac_ctl3_100m' -w'n' -s'n' -r'n' datavg 1 hdisk2 mklv -y'rac_spfile_100m' -w'n' -s'n' -r'n' datavg 1 hdisk2 ORACLE 10G RAC 参考手册 11 通过 mklv 命令创建完 lv 后,会在/dev/下生成两个文件,比如: # mklv -y'rac_spfile_100m' -w'n' -s'n' -r'n' datavg 1 hdisk2 那么在/dev/下会生成两个文件 /dev/rac_spfile_100m /dev/rrac_spfile_100m 前面多了一个 r 的文件就是我们要使用的 character devices。 也就是我们通常所说的裸设备。 z 在另外一个节点上 import 共享卷 # hostname db02 # smitty vg Volume Groups Move cursor to desired item and press Enter. Æ Import a Volume Group Import a Volume Group Type or select values in entry fields. Press Enter AFTER making all desired changes. [Entry Fields] VOLUME GROUP name [datavg] * PHYSICAL VOLUME name [hdisk2,hdisk3] + Volume Group MAJOR NUMBER [60] +# 修改共享卷的属性(建议两台主机都要做) # varyonvg datavg # chown oracle:dba /dev/rrac_* # varyoffvg datavg 2.2.5 配置 SSH 的对等性 在所有节点配置 SSH 的对等性 在安装 Oracle Real Application clusters 之前,必须先配置所有节点的 SSH 对等性。因为在安装 过程种 Oracle Universal Installer 使用 ssh 和 scp 命令执行远程命令执行及 copy 的工作。 下面是具体的步骤: z 以下步骤在所有节点上执行: 1.以 oracle 用户登陆 # su – oracle 2.在两个节点的 oracle 主目录分别创建.ssh 目录,并赋予权限。 ORACLE 10G RAC 参考手册 12 # mkdir ~/.ssh # chmod 755 ~/.ssh 3. 在两个节点分别生成 RSA key # /usr/bin/ssh-keygen -t rsa 会出现如下提示: ■ Accept the default location for the key file. ■ Enter and confirm a pass phrase that is different from the oracle user’s password. phrase 密码处直接回车即可 4. 生成 DSA key # /usr/bin/ssh-keygen -t dsa 出现如下提示: ■ Accept the default location for the key file. ■ Enter and confirm a pass phrase that is different from the oracle user’s password. phrase 密码处直接回车即可 5. 以 oracle 用户身份,在所有节点创建 authorized_keys 文件,并赋予权限 # touch ~/.ssh/authorized_keys # cd ~/.ssh # ls 你应该可以看到你所创建的 id_dsa.pub 和 id_rsa.pub 和 authorized_keys 6.在两个节点分别将 id_dsa.pub 和 id_rsa.pub 加入到 authorized_keys 节点 1: $ ssh db01 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ ssh db01 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys $ ssh db02 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ ssh db02 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 节点 2: $ ssh db02 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ ssh db02 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys $ ssh db01 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ ssh db01 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys PS:如果提示是否连接选择 yes,密码输入 oracle 用户的密码 7.在每个节点上分别设置 authorized_keys 文件的权限 # chmod 644 ~/.ssh/authorized_keys 8.防止 X11 转发造成的安装失败,创建~ /.ssh/config,并加入如下内容。 ORACLE 10G RAC 参考手册 13 Host * ForwardX11 no 9.以 oracle 用户身份,运行 Oracle Universal Installer 的节点上执行如下命令,然后测试 ssh 的对等性。 # exec /usr/bin/ssh-agent $SHELL 节点 1 # ssh db01 date # ssh db02 date 节点 2 # ssh db02 date # ssh db01 date 如果都不需要密码,得到时间后。就说明 ssh 对等性配置成功。 2.2.6 安装 fix 包所需补丁(到 IBM 网站上下载补丁) 本文档所使用的版本 AIX 5305,HACMP 5.2 只需要打一个 hamcp 的补丁 IY60759 即可。 补丁可根据自己的实际情况来决定。 2.2.7 打完补丁,包括调整完异步 IO 等,建议重启一次机器 # shutdown –Fr 2.2.8 配置 HACMP 1.创建集群 # smitty hacmp Initialization and Standard Configuration Add Nodes to an HACMP Cluster Æ Configure Nodes to an HACMP Cluster (standard) Type or select values in entry fields. Press Enter AFTER making all desired changes. Æ [Entry Fields] * Cluster Name [dbclt] New Nodes (via selected communication paths) [db01 db02] + Currently Configured Node(s) ORACLE 10G RAC 参考手册 14 2.创建资源组 racdbrg # smitty hacmp ÆInitialization and Standard Configuration ÆConfigure HACMP Resource Groups ÆAdd a Resource Group Add a Resource Group Type or select values in entry fields. Press Enter AFTER making all desired changes. [Entry Fields] * Resource Group Name [racdbrg] * Participating Nodes (Default Node Priority) [db01 db02] + Startup Policy Online On All Available Nodes + Fallover Policy Bring Offline (On Error Node Only) + Fallback Policy Never Fallback + 3.为资源组 racdbrg 增加共享磁盘 # smitty hacmp ÆInitialization and Standard Configuration ÆConfigure HACMP Resource Groups ÆChange/Show Resources for a Resource Group (standard) Select a Resource Group Move cursor to desired item and press Enter. datavg ÆChange/Show All Resources and Attributes for a Resource Group Type or select values in entry fields. Press Enter AFTER making all desired changes. [Entry Fields] Resource Group Name racdbrg Participating Nodes (Default Node Priority) db01 db02 Startup Policy Online On All Available Nodes Fallover Policy Bring Offline (On Error Node O> Fallback Policy Never Fallback Concurrent Volume Groups [datavg] + Use forced varyon of volume groups, if necessary false + Application Servers [] + ORACLE 10G RAC 参考手册 15 4.配置串口网络作为 HB # smitty hacmp ÆExtended Configuration ÆExtended Topology Configuration ÆConfigure HACMP Communication Interfaces/Devices ÆAdd Communication Interfaces/Devices Select a category Move cursor to desired item and press Enter. > Add Discovered Communication Interface and Devices Add Pre-defined Communication Interfaces and Devices Select a category Move cursor to desired item and press Enter. Discovery last performed: (Dec 08 20:10) Communication Interfaces > Communication Devices Select Point-to-Point Pair of Discovered Communication Devices to Add Move cursor to desired item and press F7. Use arrow keys to scroll. ONE OR MORE items can be selected. Press Enter AFTER making all selections. Node Device Device Path Pvid db01 hdisk2 /dev/hdisk2 0002ee503cc db02 hdisk2 /dev/hdisk2 0002ee503cc > db01 tty0 /dev/tty0 > db02 tty0 /dev/tty0 4.配置 HB IP 网络 # smitty hacmp ÆExtended Configuration ÆExtended Topology Configuration ÆConfigure HACMP Networks ÆChange/Show a Network in the HACMP Cluster Select a Network to Change/Show Move cursor to desired item and press Enter. net_ether_01 (192.168.0.0/24) net_ether_02 (10.10.2.0/24) Change/Show an IP-Based Network in the HACMP ClusterType or select values in entry fields. ORACLE 10G RAC 参考手册 16 Press Enter AFTER making all desired changes. [Entry Fields] * Network Name net_ether_02 New Network Name [] * Network Type [ether] * Netmask [255.255.255.0] * Enable IP Address Takeover via IP Aliases [Yes] IP Address Offset for Heartbeating over IP Aliases [] * Network attribute private 5.同步集群配置文件 # smitty hacmp ÆExtended Configuration ÆExtended Verification and Synchronization HACMP Verification and Synchronization Type or select values in entry fields. Press Enter AFTER making all desired changes. [Entry Fields] * Verify, Synchronize or Both [Both] * Automatically correct errors found during [Yes] verification? * Force synchronization if verification fails? [No] * Verify changes only? [No] * Logging [Standard] 6.测试 HACMP 集群 第一个节点 # hostname db01 # smitty clstart --启动 hacmp # lssrc -g cluster --查看 hacmp 的状态 第二个节点 # hostname db02 # smitty clstart # lssrc -g cluster # lsvg -o datavg ORACLE 10G RAC 参考手册 17 rootvg # lsvg -l datavg datavg: LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT rac_crs1024m jfs 2 2 1 closed/syncd N/A rac_vote1024m jfs 2 2 1 closed/syncd N/A rac_system_1024m jfs 4 4 1 closed/syncd N/A rac_pwdfile_100m jfs 1 1 1 closed/syncd N/A rac_sysaux_800m jfs 4 4 1 closed/syncd N/A rac_undo1_4096m jfs 16 16 1 closed/syncd N/A rac_undo2_4096m jfs 16 16 1 closed/syncd N/A rac_temp_4096m jfs 16 16 1 closed/syncd N/A rac_users_800m jfs 4 4 1 closed/syncd N/A rac_redo1_1_120m jfs 2 2 1 closed/syncd N/A rac_redo1_2_120m jfs 2 2 1 closed/syncd N/A rac_redo1_3_120m jfs 2 2 1 closed/syncd N/A rac_redo2_1_120m jfs 2 2 1 closed/syncd N/A rac_redo2_2_120m jfs 2 2 1 closed/syncd N/A rac_redo2_3_120m jfs 2 2 1 closed/syncd N/A rac_ctl1_110m jfs 1 1 1 closed/syncd N/A rac_ctl2_110m jfs 1 1 1 closed/syncd N/A rac_ctl3_110m jfs 1 1 1 closed/syncd N/A rac_spfile_110m jfs 1 1 1 closed/syncd N/A 第一个节点: # hostname db01 # smitty clstop 第二个节点: # hostname db02 # smitty clstop # lsvg rootvg datavg # lsvg -o rootvg ORACLE 10G RAC 参考手册 18 三、安装 Oracle RAC 3.1 安装 oracle RAC 的准备工作及安装 Oracle ClusterWare 1.执行 rootpre.sh 将光盘放入 cdrom,加载 cdrom # mount –v cdrfs –o ro /dev/cd0 /mnt # cd /mnt/clusterware/rootpre # ./rootpre.sh ./rootpre.sh output will be logged in /tmp/rootpre.out_07-03-15.11:01:09 Saving the original files in /etc/ora_save_07-03-15.11:01:09.... Copying new kernel extension to /etc.... Loading the kernel extension from /etc Oracle Kernel Extension Loader for AIX Copyright (c) 1998,1999 Oracle Corporation Successfully loaded /etc/pw-syscall.64bit_kernel with kmid: 0x3f14e00 Successfully configured /etc/pw-syscall.64bit_kernel with kmid: 0x3f14e00 The kernel extension was successfuly loaded. Configuring Asynchronous I/O.... Asynchronous I/O is already defined Configuring POSIX Asynchronous I/O.... Checking if group services should be configured.... Please confirm your Oracle userid is a member of the group: hagsuser Configuring HACMP group services socket for possible use by Oracle. PS:注意 rootpre.sh 需要在两个节点都运行。 2.确保 HACMP 集群已经在 db01 和 db02 上已经启动。 在两个节点执行 # smitty clstart # lssrc -g cluster 3.创建目录: mkdir -p /opt/app/oracle ORACLE 10G RAC 参考手册 19 chown oracle:oinstall /opt/app/oracle 4.在两个节点分别设置 oracle 用户的环境变量 # su - oracle $ vi ~oracle/.profile ORACLE_BASE=/opt/app/oracle export ORACLE_BASE 5.执行 ssh 对等命令 $ exec /usr/bin/ssh-agent $SHELL 6.设置 display $ export DISPLAY=10.201.2.110:0 7.运行 runInstaller $ /mnt/clusterware/runInstaller ************************************************************************** Your platform requires the root user to perform certain pre-installation OS preparation. The root user should run the shell script 'rootpre.sh' before you proceed with Oracle installation. rootpre.sh can be found at the top level of the CD or the stage area. Answer 'y' if root has run 'rootpre.sh' so you can proceed with Oracle 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... No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed. Preparing to launch Oracle Universal Installer from /tmp/OraInstall2007-03-15_03-21-44PM. Please wait ... Oracle Universal Installer, Version 10.2.0.1.0 Production Copyright (C) 1999, 2005, Oracle. All rights reserved. 进入安装界面,点击下一步 ORACLE 10G RAC 参考手册 设置 inventory 目录及信任组,点击下一步 设置 crs 的主目录,点击下一步 20 ORACLE 10G RAC 参考手册 检查安装要求 指定 cluster 的配置。点击 Edit 修改 VIP 的配置。保证和/etc/hosts 中一致 21 ORACLE 10G RAC 参考手册 修改网络接口的设置。点击 Edit 编辑 指定 OCR 的位置。如下图 22 ORACLE 10G RAC 参考手册 指定 Voting Disk,如下图: 显示统计信息,点击 install 开始安装。 23 ORACLE 10G RAC 参考手册 只要 ssh 对等性配置成功。在 remote 的安装就没有问题。如下图 最后执行下面两个脚本。 24 ORACLE 10G RAC 参考手册 先执行/opt/app/oracle/oraInventory/orainstRoot.sh 然后执行 root.sh Node 1: # /opt/app/oracle/oraInventory/orainstRoot.sh Changing permissions of /opt/app/oracle/oraInventory to 775. Changing groupname of /opt/app/oracle/oraInventory to oinstall. The execution of the script is complete Node 2: # /opt/app/oracle/oraInventory/orainstRoot.sh Changing permissions of /opt/app/oracle/oraInventory to 775. Changing groupname of /opt/app/oracle/oraInventory to oinstall. The execution of the script is complete Node 1: # /opt/app/oracle/crs/root.sh WARNING: directory '/opt/app/oracle/crs' is not owned by root WARNING: directory '/opt/app/oracle/crs' is not owned by root WARNING: directory '/opt/app/oracle' is not owned by root WARNING: directory '/opt/app' is not owned by root Checking to see if Oracle CRS stack is already configured Checking to see if any 9i GSD is up /etc/oracle does not exist. Creating it now. Setting the permissions on OCR backup directory Setting up NS directories 25 ORACLE 10G RAC 参考手册 26 Oracle Cluster Registry configuration upgraded successfully WARNING: directory '/opt/app/oracle/crs' is not owned by root WARNING: directory '/opt/app/oracle/product' is not owned by root WARNING: directory '/opt/app/oracle' is not owned by root WARNING: directory '/opt/app' is not owned by root Successfully accumulated necessary OCR keys. Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897. node : node 3: db01 db01_priv db01 node 4: db02 db02_priv db02 Creating OCR keys for user 'root', privgrp 'system'.. Operation successful. Now formatting voting device: /dev/rrac_vote1024m Format of 1 voting devices complete. Startup will be queued to init within 30 seconds. Adding daemons to inittab Adding daemons to inittab Expecting the CRS daemons to be up within 600 seconds. CSS is active on these nodes. db01 CSS is inactive on these nodes. db02 Local node checking complete. Run root.sh on remaining nodes to start CRS daemons. Node 2: # /opt/app/oracle/crs/root.sh WARNING: directory '/opt/app/oracle/crs' is not owned by root WARNING: directory '/opt/app/oracle/product' is not owned by root WARNING: directory '/opt/app/oracle' is not owned by root Checking to see if Oracle CRS stack is already configured Checking to see if any 9i GSD is up Setting the permissions on OCR backup directory Setting up NS directories Oracle Cluster Registry configuration upgraded successfully WARNING: directory '/opt/app/oracle/crs' is not owned by root WARNING: directory '/opt/app/oracle/product' is not owned by root WARNING: directory '/opt/app/oracle' is not owned by root clscfg: EXISTING configuration version 3 detected. clscfg: version 3 is 10G Release 2. Successfully accumulated necessary OCR keys. ORACLE 10G RAC 参考手册 27 Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897. node : node 3: db01 db01_priv db01 node 4: db02 db02_priv db02 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 30 seconds. Adding daemons to inittab Adding daemons to inittab Expecting the CRS daemons to be up within 600 seconds. CSS is active on these nodes. db01 db02 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 The given interface(s), "en8" is not public. Public interfaces should be used to configure virtual IPs. 此时,在运行 OUI 的节点上以 root 身份在/opt/app/oracle/crs/bin 下运行 vipca # ./vipca 选择你运行 VIP 的网络接口 ORACLE 10G RAC 参考手册 然后设置 VIP 启动 VIP 28 ORACLE 10G RAC 参考手册 启动成功以后出现统计信息。点击完成 然后回到这个界面点击 OK 29 ORACLE 10G RAC 参考手册 此时进行检查,此时三个服务全部通过。 然后点击 next 安装完成 30 ORACLE 10G RAC 参考手册 支持 CRS 安装完毕。使用 # su - oracle $ /opt/app/oracle/crs/bin/crs_stat -t Name Type Target State Host ------------------------------------------------------------ ora.db01.gsd application ONLINE ONLINE db01 ora.db01.ons application ONLINE ONLINE db01 ora.db01.vip application ONLINE ONLINE db01 ora.db02.gsd application ONLINE ONLINE db02 ora.db02.ons application ONLINE ONLINE db02 ora.db02.vip application ONLINE ONLINE db02 3.2 安装 oracle RAC 的数据库软件 10.2.0.1 1.在两个节点设置环境变量 # su - oracle # vi .profile export ORACLE_BASE=/opt/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 31 ORACLE 10G RAC 参考手册 32 2.将光盘介质放入 cdrom $ mount –v cdrfs –o ro /dev/cd0 /mnt $ exec /usr/bin/ssh-agent $SHELL $ export DISPLAY=10.201.2.110:0 (为客户端的 IP 地址) $ /mnt/database/runInstaller ************************************************************************** Your platform requires the root user to perform certain pre-installation OS preparation. The root user should run the shell script 'rootpre.sh' before you proceed with Oracle installation. rootpre.sh can be found at the top level of the CD or the stage area. Answer 'y' if root has run 'rootpre.sh' so you can proceed with Oracle 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... No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed. Preparing to launch Oracle Universal Installer from /tmp/OraInstall2007-03-15_04-54-25PM. Please wait ... 启动安装界面,点击下一步 ORACLE 10G RAC 参考手册 选择安装类型,选择企业版,另外在 product languages,可以将中文加入 33 ORACLE 10G RAC 参考手册 设置 oracle 主目录,按默认即可 选择 cluster installation,选择所有的节点。 34 ORACLE 10G RAC 参考手册 进行先决条件检查 选择只安装数据库软件,然后我们单独建库。 35 ORACLE 10G RAC 参考手册 现实统计信息 正常的安装过程。 36 ORACLE 10G RAC 参考手册 在安装结束前,在两个节点执行 root.sh 37 ORACLE 10G RAC 参考手册 38 Node 1: # /opt/app/oracle/product/10.2.0/db_1/root.sh Running Oracle10 root.sh script... The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /opt/app/oracle/product/10.2.0/db Enter the full pathname of the local bin directory: [/usr/local/bin]: Creating /usr/local/bin directory... Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Creating /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root.sh script. Now product-specific root actions will be performed. Node 2: # /opt/app/oracle/product/10.2.0/db_1/root.sh Running Oracle10 root.sh script... The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /opt/app/oracle/product/10.2.0/db Enter the full pathname of the local bin directory: [/usr/local/bin]: Creating /usr/local/bin directory... Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Creating /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root.sh script. ORACLE 10G RAC 参考手册 Now product-specific root actions will be performed.. 执行完 root.sh 后回到上一个界面点击 OK 到这安装结束。点击退出。 39 ORACLE 10G RAC 参考手册 至此,数据软件安装结束了。 3.3 创建数据库 1.首先创建 archive 的空间。 使用 smitty vg 将 hdisk4 和 hdisk5 分别在两个节点上创建 archive 卷组。然后 smitty fs 分别 在两个节点将 archive 加载到每个节点的文件系统。 Mount 点为 /opt/app/oracle/archive/ 创建完成之后,以 oracle 用户身份,在 mount 点再创建两个目录作为归档位置。 # cd /opt/app/oracle/archive/ # mkdir arch1 # mkdir arch2 # chown oracle:dba arch* PS:对于归档日志目录请参考自己的环境进行创建。也可以使用 GPFS 等并行文件系统。 2.分别在每个节点设置环境变量 # su – oracle # vi .profile PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:. 40 ORACLE 10G RAC 参考手册 41 export PATH if [ -s "$MAIL" ] # This is at Shell startup. In normal then echo "$MAILMSG" # operation, the Shell checks fi # periodically. export ORACLE_BASE=/opt/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export ORA_CRS_HOME=$ORACLE_BASE/crs # 每个节点要有自己的实例名(比如在第一个节点上 racdb1,第二个节点上 racdb2) export ORACLE_SID=racdb1 export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin export TNS_ADMIN=$ORACLE_HOME/network/admin export NLS_LANG="American_America.ZHS16GBK" 3.规划数据库建在 raw 卷上 使用 find 命令得到裸设备的名称。 # find /dev -user oracle -name 'r*' -print > db_raw.conf 然后编辑文件 db_raw.conf system=/dev/rrac_system_1024m sysaux=/dev/rrac_sysaux_800m users=/dev/rrac_users_800m temp=/dev/rrac_temp_4096m undotbs1=/dev/rrac_undo1_4096m undotbs2=/dev/rrac_undo2_4096m redo1_1=/dev/rrac_redo1_1_120m redo1_2=/dev/rrac_redo1_2_120m redo2_1=/dev/rrac_redo2_1_120m redo2_2=/dev/rrac_redo2_2_120m control1=/dev/rrac_ctl1_100m control2=/dev/rrac_ctl2_100m spfile=/dev/rrac_spfile_100m pwdfile=/dev/rrac_pwdfile_100m $ export DISPLAY=10.201.2.110:0 $ exec /usr/bin/ssh-agent $SHELL $ export DBCA_RAW_CONFIG=db_raw.conf $ dbca 进入到建库的界面 ORACLE 10G RAC 参考手册 选择创建一个数据库 选择在两个结点上创建 42 ORACLE 10G RAC 参考手册 选择一个模板。我们这次选择通用的模板 键入全局数据库名和 SID Prefix。 43 ORACLE 10G RAC 参考手册 按默认的即可 设置密码 44 ORACLE 10G RAC 参考手册 选择存储部分,我们选择裸设备,会自动选择到 db_raw.conf 文件 启动归档,同时设置归档路径。 45 ORACLE 10G RAC 参考手册 创建 sample schema。默认即可。 46 ORACLE 10G RAC 参考手册 配置数据库的 services,选择 add 添加一个 services,我们选择 racdb 其他选项如图 配置初始化参数。如下: 47 ORACLE 10G RAC 参考手册 字符集要注意选择。 我们选择 ZHS16GBK 48 ORACLE 10G RAC 参考手册 49 ORACLE 10G RAC 参考手册 选择数据库存储,点击 next (RAC 默认的 redolog 组为 4 组,每个 thread 两组,通常我们 会在创建 RAC 后再添加 redolog。) 选择 finish 50 ORACLE 10G RAC 参考手册 安装完毕,点击 exit,启动 cluster 服务 51 ORACLE 10G RAC 参考手册 PS:有时在启动 cluster 服务过程中可能会报两个错误。 这个原因可能是因为 SRVCTL fails to startup instance, due to connection to racgimon killed by NS after 10s 具体可查看metalink Note:402437.1 我们需要做的是在 sqlnet.ora 中加入如下参数: 52 ORACLE 10G RAC 参考手册 53 sqlnet.inbound_connect_timeout = 600 然后,我们在使用如下命令来查看现有的服务。 $ crs_stat -t Name Type Target State Host ------------------------------------------------------------ ora.oradb.db application ONLINE ONLINE db01 ora....radb.cs application ONLINE ONLINE db01 ora....db1.srv application ONLINE ONLINE db01 ora....db2.srv application ONLINE ONLINE db02 ora....b1.inst application ONLINE ONLINE db01 ora....b2.inst application ONLINE ONLINE db02 ora....C1.lsnr application ONLINE ONLINE db01 ora.db01.gsd application ONLINE ONLINE db01 ora.db01.ons application ONLINE ONLINE db01 ora.db01.vip application ONLINE ONLINE db01 ora....C2.lsnr application ONLINE ONLINE db02 ora.db02.gsd application ONLINE ONLINE db02 ora.db02.ons application ONLINE ONLINE db02 ora.db02.vip application ONLINE ONLINE db02 至此,我们的 oracle 10G RAC 安装成功。 如果需要安装 oracle10g 的补丁,那么请参考补丁包携带的升级安装说明文档。补丁安装步 骤不在此文档中赘述。 3.4 客户端的配置配置客户端 首先,为了保证应用服务器或者客户端可以稳定的连接到 RAC 服务器。要在客户端的 hosts 文件中写入相应的 RAC(内容与前面 etc/hosts 一致)地址。 然后编辑 tnsnames.ora 内容如下: RACDB2 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = db02_vip)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = racdb) (INSTANCE_NAME = racdb2) ) ) RACDB1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = db01_vip)(PORT = 1521)) (CONNECT_DATA = ORACLE 10G RAC 参考手册 54 (SERVER = DEDICATED) (SERVICE_NAME = racdb) (INSTANCE_NAME = racdb1) ) ) LISTENERS_RACDB = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = db01_vip)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = db02_vip)(PORT = 1521)) ) RACDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = db01_vip)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = db02_vip)(PORT = 1521)) (LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = racdb) (FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC) (RETRIES = 180) (DELAY = 5) ) ) ) 四、Oracle RAC 测试 通常 Oracle RAC 的测试最好是配合着应用来进行测试才有意义。但是有很多情况下,刚刚 部署好的 RAC 的时候,可能环境中还没有应用。那么这个时候我们也可以用 sqlplus 等工具, 进行一些简单 RAC 测试。大体上 RAC 的 instance 级测试分成两种测试。测试 failover 和 LB 的测试。 ORACLE 10G RAC 参考手册 55 4.1 测试 failover 我们简单的举个例子.下面的 SQL 脚本(checkracstat.sql)可以查看 # more checkracstat.sql COL instance_name FORMAT a13; COL host_name FORMAT a9; COL failover_method FORMAT a15; COL failed_over FORMAT a11; 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 用户登录 RAC 数据库: $ sqlplus system/password@racdb SQL > select instance_name from gv$instance; racdb1 racdb2 SQL > @checkracstat.sql INSTANCE_NAME HOST_NAME FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER ------------- --------- ------------- --------------- ----------- RACDB1 DB01 SELECT BASIC NO 此时我们看到当前我们的 session 连到的是 racdb1 的这个 instance。同时没有发生 failover。 我们不退出这个 session。然后我们到节点 db01 上使用 abort 选项来模拟 instance1 crash。要 执行这一操作,我们可以使用 srvctl 命令,如下所示: $ srvctl status database -d racdb Instance racdb1 is running on node db01 Instance racdb2 is running on node db02 $ srvctl stop instance -d racdb -i racdb1 -o abort $ srvctl status database -d racdb Instance racdb1 is not running on node db01 Instance racdb2 is running on node db02 我们再回到我们原来的 session,然后重新执行 checkracstat.sql 脚本: SQL > select instance_name from gv$instance; racdb2 SQL > @checkracstat.sql INSTANCE_NAME HOST_NAME FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER ORACLE 10G RAC 参考手册 56 ------------- --------- ------------- --------------- ----------- racdb2 db02 SELECT BASIC YES 从上面的演示中,可以看到上述会话现在已经被通明切换到了 db02 的实例 racdb2 上。你也 可以使用 gv$instance 判断,或者通过 instance1 crash 前后对同一个表进行访问。来测试在同 一个 session 中,发生一个 instance crash 后,是否会影响到对表的访问。当然,这只是简单 测试。正式的测试,必须要配合着应用一起进行并且要制定比较详细的计划。 4.2 测试 load balance LB 的测试,使用 sqlplus 没有办法测试,可以在 internet 上找一些现成的测试工具。当然, 你也可以自己写程序来测试。总之,基本上在 100 个并发 connect 这个级别可以达到一个节 点接受到一半的连接请求,另一个节点接受另一半的连接请求。 五、安装后的情况处理 5.1 安装失败后,如何彻底删除除 oracle 软件及 CRS 如果不干净的删除一个安装失败的 CRS 会引起类似于节点重启这样的问题。 那么我们该如何干净的删除 CRS 的安装? ¾ 第一种方法,通过 CRS 提供的脚本来删除。 首先,运行$ORA_CRS_HOME/install 目录下的 rootdelete.sh 运行完毕后,再运行 rootdeinstall.sh 这执行完这两个脚本之后,就可以干净的删除安装失败的 CRS。 ¾ 第二种方法,我们手工去删除 CRS。因为有些情况这两个脚本可能会没有,或者有问题。 那么我们手工删除的步骤如下: 1、停止所有节点上的 Nodeapps: $ srvctl stop nodeapps -n 2、防止 CRS 自动跟随着节点的启动。我们需要以 root 身份来执行如下的操作来去掉 CRS 相关的自动启动的文件(AIX) # rm /etc/init.cssd # rm /etc/init.crs # rm /etc/init.crsd # rm /etc/init.evmd # rm /etc/rc.d/rc2.d/K96init.crs # rm /etc/rc.d/rc2.d/S96init.crs # rm -Rf /etc/oracle/scls_scr ORACLE 10G RAC 参考手册 57 # rm -Rf /etc/oracle/oprocd # rm /etc/inittab.crs # cp /etc/inittab.orig /etc/inittab 如果你是其他平台可以借鉴一下的步骤 Sun: # rm /etc/init.d/init.cssd # rm /etc/init.d/init.crs # rm /etc/init.d/init.crsd # rm /etc/init.d/init.evmd # rm /etc/rc3.d/K96init.crs # rm /etc/rc3.d/S96init.crs # rm -Rf /var/opt/oracle/scls_scr # rm -Rf /var/opt/oracle/oprocd # rm /etc/inittab.crs # cp /etc/inittab.orig /etc/inittab Linux: # rm /etc/oracle/* # rm -f /etc/init.d/init.cssd # rm -f /etc/init.d/init.crs # rm -f /etc/init.d/init.crsd # rm -f /etc/init.d/init.evmd # rm -f /etc/rc2.d/K96init.crs # rm -f /etc/rc2.d/S96init.crs # rm -f /etc/rc3.d/K96init.crs # rm -f /etc/rc3.d/S96init.crs # rm -f /etc/rc5.d/K96init.crs # rm -f /etc/rc5.d/S96init.crs # rm -Rf /etc/oracle/scls_scr # rm -f /etc/inittab.crs # cp /etc/inittab.orig /etc/inittab HP-UX: # rm /sbin/init.d/init.cssd # rm /sbin/init.d/init.crs # rm /sbin/init.d/init.crsd # rm /sbin/init.d/init.evmd # rm /sbin/rc2.d/K960init.crs # rm /sbin/rc2.d/K001init.crs # rm /sbin/rc3.d/K960init.crs # rm /sbin/rc3.d/S960init.crs # rm -Rf /var/opt/oracle/scls_scr # rm -Rf /var/opt/oracle/oprocd # rm /etc/inittab.crs ORACLE 10G RAC 参考手册 58 # cp /etc/inittab.orig /etc/inittab HP Tru64: # rm /sbin/init.d/init.cssd # rm /sbin/init.d/init.crs # rm /sbin/init.d/init.crsd # rm /sbin/init.d/init.evmd # rm /sbin/rc3.d/K96init.crs # rm /sbin/rc3.d/S96init.crs # rm -Rf /var/opt/oracle/scls_scr # rm -Rf /var/opt/oracle/oprocd # rm /etc/inittab.crs # cp /etc/inittab.orig /etc/inittab 3、再一次确认 crs 相关的三个进程是否还存在,如果存在就将他们 kill 掉或者 reboot 节点。 # ps -ef | grep crs # kill # ps -ef | grep evm # kill # ps -ef | grep css # kill PS:不要 kill 任何 OS 的进程比如 icssvr_daemon。 4、如果在节点上没有其他的 oracle 软件运行,如果 listener、DB 等。你可以删除/var/tmp/.oracle 和 /tmp/.oracle. # rm -f /var/tmp/.oracle # rm -f /tmp/.oracle 5、然后删除/etc/oracle 目录下的 ocr.loc # rm -f /etc/oracle/ocr.loc 6、使用 OUI 删除 CRS Home。 7、删除 CRS 安装目录。 # rm -Rf /* 8、如果你使用的是裸设备,那么使用 dd 命令清空 OCR 和 Vo t i n g: # dd if=/dev/zero of=/dev/rrac_vote1024m bs=8192 count=2560 # dd if=/dev/zero of=/dev/rrac_crs1024m bs=8192 count=12800 如果你的将 OCR 和 voting disk 放置在 shared filesystem 上,那么将他们删除。 如果你使用 ASM,那么在你删除数据库的安装的时候,你也必须清空 ASM 的 disks 9、这个时候就可以安装 RAC 的安装手册来重新安装了 PS:该方法参考Metalink Note:239998.1 ORACLE 10G RAC 参考手册 59 5.2 在 AIX 环境下,RAC 启动的方法 1、如果将 HACMP 设置为了自动启动,那么两个节点的将会随着系统的启动,hacmp 和 crs 都会自动启动。(建议两个节点开机的时间有一段时间的延迟)。 2、我们也可以手动启动 HACMP 及 CRS。(前提我们的 init.crs 的状态是 enable 的) 首先在节点 A 执行 # smitty clstart --启动 hacmp # lssrc -g cluster --查看 hacmp 的状态 都为 active 即可 大约过一分钟以后 在节点 B # smitty clstart --启动 hacmp # lssrc -g cluster --查看 hacmp 的状态 都为 active 即可 5.3 刚安装完以后,自动启动 CRS 服务速度慢。以及 gsd 无 法启动? 如何处理? 在刚刚部署完成后,保证了 HACMP 启动的前提下,CRS 会自动跟随着 HACMP 启动。 但是过程比较缓慢。一般处理的方法? 通常,在先启动的节点(通常为 db01 节点)的 crs 服务及相关 services 都会先启动。也 就是我们通过 crs_stat –t 看到的情况如下: 开始查看会出现如下情况 # crs_stat -t Name Type Target State Host ------------------------------------------------------------ ora....01.lsnr application ONLINE ONLINE db01 ora.db01.gsd application ONLINE ONLINE ora.db01.ons application ONLINE ONLINE db01 ora.db01.vip application ONLINE ONLINE db01 ora....02.lsnr application ONLINE OFFLINE ora.db02.gsd application ONLINE OFFLINE ora.db02.ons application ONLINE OFFLINE ora.db02.vip application ONLINE ONLINE db02 ora.db.db application ONLINE ONLINE db01 ora....orcl.cs application ONLINE OFFLINE ora....cl1.srv application ONLINE ONLINE db01 ora....cl2.srv application ONLINE OFFLINE ORACLE 10G RAC 参考手册 60 ora....l1.inst application ONLINE ONLINE db01 ora....l2.inst application ONLINE OFFLINE PS:此时应用已经可以连接数据库。 如果我们什么操作都不作,大约过几分钟后会出现如下情况: # crs_stat –t Name Type Target State Host ------------------------------------------------------------ ora....01.lsnr application ONLINE ONLINE db01 ora.db01.gsd application ONLINE OFFLINE ora.db01.ons application ONLINE ONLINE db01 ora.db01.vip application ONLINE ONLINE db01 ora....02.lsnr application ONLINE ONLINE db02 ora.db02.gsd application ONLINE OFFLINE ora.db02.ons application ONLINE ONLINE db02 ora.db02.vip application ONLINE ONLINE db02 ora.db.db application ONLINE ONLINE db01 ora....orcl.cs application ONLINE ONLINE db02 ora....cl1.srv application ONLINE ONLINE db01 ora....cl2.srv application ONLINE ONLINE db02 ora....l1.inst application ONLINE ONLINE db01 ora....l2.inst application ONLINE OFFLINE 正如我们所见,因为第二个 instance 的启动的过程非常长。通常我们会使用 srvctl 命令将第 二个节点的 instance。 # su – oracle $ srvctl start instance –d db –i db02 --手动启动 instance2 即 db02 启动成功后,我们再使用 crs_stat –t 来查看 crs 的状态。 # crs_stat –t Name Type Target State Host ------------------------------------------------------------ ora....01.lsnr application ONLINE ONLINE db01 ora.db01.gsd application ONLINE OFFLINE ora.db01.ons application ONLINE ONLINE db01 ora.db01.vip application ONLINE ONLINE db01 ora....02.lsnr application ONLINE ONLINE db02 ora.db02.gsd application ONLINE OFFLINE ora.db02.ons application ONLINE ONLINE db02 ora.db02.vip application ONLINE ONLINE db02 ora.db.db application ONLINE ONLINE db01 ORACLE 10G RAC 参考手册 61 ora....orcl.cs application ONLINE ONLINE db02 ora....cl1.srv application ONLINE ONLINE db01 ora....cl2.srv application ONLINE ONLINE db02 ora....l1.inst application ONLINE ONLINE db01 ora....l2.inst application ONLINE ONLINE db02 我们看到此时除了 gsd 服务其他的 services 已经全部启动。gsd 没有启动的原因也是因为 gsd 的启动过程及其漫长。但是在后台已经可以查到他的进程了。也就是说这个时候,Oracle RAC 已经正常工作了。 如果我们为让 gsd 现实正常,我们通常可以以 root 用户,再运行一遍 vipca # /opt/app/oracle/crs/bin/vipca 然后再重新走一遍,启动 gsd ons vip 等服务。马上 gsd 就会启动。我们再返回 oracle 用户查 询 crs 的状态。得到的结果为: # crs_stat –t Name Type Target State Host ------------------------------------------------------------ ora....01.lsnr application ONLINE ONLINE db01 ora.db01.gsd application ONLINE ONLINE db01 ora.db01.ons application ONLINE ONLINE db01 ora.db01.vip application ONLINE ONLINE db01 ora....02.lsnr application ONLINE ONLINE db02 ora.db02.gsd application ONLINE ONLINE db02 ora.db02.ons application ONLINE ONLINE db02 ora.db02.vip application ONLINE ONLINE db02 ora.db.db application ONLINE ONLINE db01 ora....orcl.cs application ONLINE ONLINE db02 ora....cl1.srv application ONLINE ONLINE db01 ora....cl2.srv application ONLINE ONLINE db02 ora....l1.inst application ONLINE ONLINE db01 ora....l2.inst application ONLINE ONLINE db02 PS:在正常运行一段时间后,crs 服务可以正常的自动启动,不需要再做这些操作。 ORACLE 10G RAC 参考手册 62 基础管理部分 六 Oracle RAC 日常管理 6.1 CRS 的管理 CRSCTL 命令控制着本地节点的 CRS 服务(Oracle clusterware processes) 停止 CRS: $ crsctl stop crs 或者 $ /etc/init.crs stop 或者 $ crs_stop –all 启动 CRS: $ crsctl start crs 或者 $ /etc/init.crs start 禁止 Clusterware 在系统重启后自动启动的方法: $ /etc/init.crs disable 启动 Clusterware 在系统重启后自动启动的方法: $ /etc/init.crs enable 查看 CRS 服务状态 $ crsctl check crs 6.2 OCR 的资源管理 OCR 的资源,当 RAC cluster 启动并成功运行以后,你可以使用 crs_stat 工具看到如下内容: $ORA_CRS_HOME/bin/crs_stat NAME=ora.db01.LISTENER_db01.lsnr TYPE=application TARGET=ONLINE STATE=ONLINE on db01 ORACLE 10G RAC 参考手册 63 NAME=ora.db01.gsd TYPE=application TARGET=ONLINE STATE=OFFLINE NAME=ora.db01.ons TYPE=application TARGET=ONLINE STATE=ONLINE on db01 NAME=ora.db01.vip TYPE=application TARGET=ONLINE STATE=ONLINE on db01 NAME=ora.db02.LISTENER_db02.lsnr TYPE=application TARGET=ONLINE STATE=ONLINE on db02 NAME=ora.db02.gsd TYPE=application TARGET=ONLINE STATE=OFFLINE NAME=ora.db02.ons TYPE=application TARGET=ONLINE STATE=ONLINE on db02 NAME=ora.db02.vip TYPE=application TARGET=ONLINE STATE=ONLINE on db02 NAME=ora.racdb.db TYPE=application TARGET=ONLINE STATE=ONLINE on db02 NAME=ora.racdb.racdb.cs TYPE=application TARGET=ONLINE STATE=ONLINE on db02 ORACLE 10G RAC 参考手册 64 NAME=ora.racdb.racdb.racdb1.srv TYPE=application TARGET=ONLINE STATE=ONLINE on db01 NAME=ora.racdb.racdb.racdb2.srv TYPE=application TARGET=ONLINE STATE=ONLINE on db02 NAME=ora.racdb.racdb1.inst TYPE=application TARGET=ONLINE STATE=ONLINE on db01 NAME=ora.racdb.racdb2.inst TYPE=application TARGET=ONLINE STATE=ONLINE on db02 通常情况下,所有的资源的状态都应该是 online。另外,OCR 每 4 个小时会备份一次。有一 些情况你可以通过恢复的 OCR 的配置文件来恢复出现问题的 OCR。 比如使用出现如下情况: $ crs_stat -t CRS-0184: Cannot communicate with the CRS daemon. $ crsctl check boot Failure 4 at procr_open_key with status 4. PROC-4: The cluster registry key to be operated on does not exist. $ crsctl check crs Failure 1 contacting CSS daemon Cannot communicate with CRS Cannot communicate with EVM 引起这个错误的一种可能原因是 OCR 配置丢了。这个我们可以利用这些备份来还原以前的 配置。 # /etc/init.crs disable # /etc/init.crs stop 先保证所有的 crs 进程全部停止。 # su – oracle $ cd $ORA_CRS_HOME/bin $./ocrconfig -restore /opt/app/oracle/crs/cdata/crs/week.ocr 然后切换到 root 用户下,重新 enable CRS # /etc/init.crs enable 最后 reboot 两个节点。 ORACLE 10G RAC 参考手册 65 6.3 SRVCTL 命令介绍 SRVCTL 命令可以控制 RAC 数据库中的 instance,listener 以及 services。 通常 SRVCTL 在 ORACLE 用户下执行。下面我们来介绍 srvctl 命令。 1、通过 SRVCTL 命令来 start/stop/check 所有的实例: $ srvctl start|stop|status database -d 2、start/stop 指定的实例: $ srvctl start|stop|status instance -d -i 3、列出当前 RAC 下所有的 $ srvctl config database -d 4、start/stop/check 所有的 nodeapps,比如:VIP, GSD, listener, ONS: $ srvctl start|stop|status nodeapps -n 5、如果你使用 ASM,srvctl 也可以 start/stop ASM 实例: $ srvctl start|stop asm -n [-i ] [-o] 6、可以获取所有的环境信息: $ srvctl getenv database -d [-i ] 7、设置全局环境和变量: $ srvctl setenv database -d -t LANG=en 8、从 OCR 中删除已有的数据库: $ srvctl remove database -d 9、向 OCR 中添加一个数据库: $ srvctl add database -d -o [-m ] [-p] [-A /netmask] [-r {PRIMARY | PHYSICAL_STANDBY |LOGICAL_STANDBY}] [-s ] 10、向 OCR 中添加一个数据库的实例: $ srvctl add instance -d -i -n $ srvctl add instance -d -i -n 11、向 OCR 中添加一个 ASM 实例: $ srvctl add asm -n -i -o 12、添加一个 service $ srvctl add service -d -s -r ORACLE 10G RAC 参考手册 66 [-a ] [-P ] [-u] 13、修改在其他节点上的 service $ srvctl modify service -d -s -I -t 14、relocate 某个节点的 service 到其他节点 srvctl relocate service -d -s -I -t 6.4 SRVCTL 相关的选项 SRVCTL START/STOP/STATUS options: -d database name -i instance name -n node name (for nodeapps) SRVCTL ADD options: -A vip range, node, and database, address specification. The format of address string is: []// [/] [,] []// [/] -a for services, list of available instances, this list cannot include preferred instances -m domain name with the format “us.domain.com” -n node name that will support one or more instances -o $ORACLE_HOME to locate Oracle binaries -P for services, TAF preconnect policy - NONE, PRECONNECT -r for services, list of preferred instances, this list cannot include available instances. -s spfile name -u updates the preferred or available list for the service to support the specified instance. Only one instance may be specified with the -u switch. Instances that already support the service should not be included. SRVCTL MODIFY options: -i -t : the instance name (-i) is replaced by the instance name (-t) -i -r : the named instance is modified to be a preferred instance -A address-list for VIP application, at node level -s : add or remove ASM dependency SRVCTL RELOCATE options: -i -t : the instance name (-i) is replaced by the instance name (-t) ORACLE 10G RAC 参考手册 67 6.5 CRS 及相关服务的常用命令的演示 1、查看状态的命令 # su – oracle -- 先切换到 oracle 用户 $ crs_stat -t -- 查看 crs 及所有的 service 的状态 Name Type Target State Host ------------------------------------------------------------ ora.oradb.db application ONLINE ONLINE db01 ora....radb.cs application ONLINE ONLINE db01 ora....db1.srv application ONLINE ONLINE db01 ora....db2.srv application ONLINE ONLINE db02 ora....b1.inst application ONLINE ONLINE db01 ora....b2.inst application ONLINE ONLINE db02 ora....C1.lsnr application ONLINE ONLINE db01 ora.db01.gsd application ONLINE ONLINE db01 ora.db01.ons application ONLINE ONLINE db01 ora.db01.vip application ONLINE ONLINE db01 ora....C2.lsnr application ONLINE ONLINE db02 ora.db02.gsd application ONLINE ONLINE db02 ora.db02.ons application ONLINE ONLINE db02 ora.db02.vip application ONLINE ONLINE db02 $ crsctl check crs -- 用 crsctl 命令,检查 crs 相关服务的状态 CSS appears healthy CRS appears healthy EVM appears healthy $ srvctl status nodeapps -n db01 (db02) -- 使用 srvctl 查看所有节点上的服务是否正常 VIP is running on node:db01 GSD is running on node:db01 Listener is running on node:db01 ONS daemon is running on node:db01 $ srvctl status database -d db -- 使用 srvctl 查看数据库状态 Instance db01 is running on node db01 Instance db02 is running on node db02 2、启动和关闭相关服务的命令 # su – oracle $ crs_start –all --启动所有的 crs 服务 $ crs_stop –all --停止所有的 crs 服务 $ crsctl start crs --启动 crs 服务 $ crsctl stop crs --停止 crs 服务 ORACLE 10G RAC 参考手册 68 $ srvctl start nodeapps -n db01(db02) --启动某节点上所有的应用 $ srvctl stop nodeapps -n db01(db02) --停止某节点上所有的应用 $ srvctl start listener -n db01(db02) --启动某个节点的 listener $ srvctl stop listener -n db01(db02) --停止某个节点的 listener $ srvctl start instance –d db –i db01(db02) --启动某个 instance $ srvctl stop instance –d db –i db01(db02) --停止某个 instance $ srvctl start database –d db --启动数据库 $ srvctl stop database –d db --停止数据库 6.6 为 ORACLE RAC 增加一个节点 这部分详细步骤请参考 Metalink Note 270512.1 为 RAC 添加节点,主要分为一下几个大的步骤: A. 按照第二章《安装 oracle RAC 前的准备》配置新节点的 OS 和硬件环境。 B. 增加一个节点到 cluster 中。 C. 增加 RAC 软件到新的节点。 D. 为新的节点重新配置 listeners。 E. 使用 DBCA 增加实例。 下面是详细的步骤 A. 按照第二章《安装 oracle RAC 前的准备》配置新节点的 OS 和硬件环境。 B. 增加一个节点到 cluster 中。 1、在 oracle 用户下,设置 DISPLAY 环境变量,运行在$ORA_CRS_HOME/oui/bin 目录 下的 addNode.sh $ DISPLAY=ipaddress:0.0; export DISPLAY $ cd $ORA_CRS_HOME/oui/bin $ ./addNode.sh 3. 当 OUI 出现 欢迎界面点击 next. 4. 在 "Specify Cluster Nodes to Add to Installation" 节面, 增加一个公用 IP对应 的主机名和私有 IP 对应的主机名(与/etc/hosts 中的记录一样)点击 next. 5. 出现"Cluster Node Addition Summary"界面, 点击 next. 6. 出 现 "Cluster Node Addition Progress" 出 现 . 将 会 提 示 以 root 用户运行 ORACLE 10G RAC 参考手册 69 rootaddnode.sh。但是首先需要确认在rootaddnode.sh 中的 CLSCFG 信息是正确的。应该是 包含新的公有和私有 IP 对应的主机名。 比如: $CLSCFG -add -nn ,2 -pn ,2 -hn ,2 确认好以后,运行 rootaddnode.sh script $ su root $ cd $ORA_CRS_HOME $ sh -x rootaddnode.sh 执行完以后,点击 OK 继续。 7. 之后,另一个对话框会出现。需要所有的节点上执行$ORA_CRS_HOME/root.sh。 $ su root $ cd $ORA_CRS_HOME $ sh -x root.sh 完成以后, 点击 OK 继续。 8. 在所有的新节点上运行完 root.sh 后, 在任意一个节点上运行 $ORA_CRS_HOME/bin/racgons add_config :4948 :4948 9. 安装结束。 C. 增加 Oracle Database software (with RAC option) 到新的节点 1. 在原来的 db 节点上,进入到$ORACLE_HOME/oui/bin 目录,运行 addNode。 $ DISPLAY=ipaddress:0.0; export DISPLAY $ cd $ORACLE_HOME/oui/bin $ ./addNode.sh 2. OUI 欢迎界面又出现了,点击 next。 3. 在 "Specify Cluster Nodes to Add to Installation" 界面,指定你想加入的节点, 点击 next。 4. "Cluster Node Addition Summary" 界面出现, 点击 next。 5. 然后进入到 "Cluster Node Addition Progress"界面.提示你以 root 的身份运行 root.sh。 ORACLE 10G RAC 参考手册 70 $ su root $ cd $ORACLE_HOME $ ./root.sh 执行完成以后, 点击 OK 继续。 6. 安装完成,exit 安装界面 7. 然后以 root 身份进入到$ORACLE_HOME/bin 目录,运行 vipca $ su root $ DISPLAY=ipaddress:0.0; export DISPLAY $ cd $ORACLE_HOME/bin $ ./vipca -nodelist , 8. VIPCA 欢迎界面出现,点击 next。 9. 增加新的节点的 vip 信息点击 next。 10. 看到 "Summary" 界面以后, 点击 finish. 11. 然后我们将看到创建和启动新的 CRS 资源,然后点击退出。 12. 确认 interconnect 是否正确,使用: $ oifcfg getif 如果不正确,使用 oifcfg 命令修改: $ oifcfg setif /: 例子: $ oifcfg setif -global eth1/10.10.10.0:cluster_interconnect 或者 $ oifcfg setif -node eth1/10.10.10.0:cluster_interconnect D. 为新节点重新配置 listeners 1、使用 netca 来配置。过程与一般的创建 RAC 的 listener 一致。 2、 使用 crs_stat 命令确认 listener CRS 资源是否被创建了。 3、 新增加的 listener 应该是 offline 的。使用 srvctl 命令启动这个节点上的 nodeapps。 $ srvctl start nodeapps -n ORACLE 10G RAC 参考手册 71 4、 再次使用 crs_stat 确定 VIP's, GSD's, ONS's, and listeners 等 CRS 资源是 online 的。 E. 通过 DBCA 增加一个新的实例. (对于 standby 请看 F) 1. 使用 DBCA 在原来的节点上创建一个新的实例。 $ DISPLAY=ipaddress:0.0; export DISPLAY $ dbca 2. 在欢迎界面选择"Oracle Real Application Clusters",点击 next。 3. 选择 "Instance Management",点击 next. 4. 选择"Add an Instance", 点击 next. 5. 选择你想加入新的实例的数据库,并且指定 sysdba 权限的用户。点击 next。 6. 选择正确的实例名和节点,点击 next。 7. 在存储界面直接点击 next。 8. 到了 summary 界面, 点击 OK。开始创建新的实例 9. 完成以后,选择"No" 退出 DBCA. 10. 通过查询 gv$instance,确认实例是否创建成功。 F. 添加一个实例到 Standby 数据库 1、在你的 DataGuard 中,如果你的主节点是 RAC,那么要保证在 E 中的步骤都已经执行过 了。如果你的主节点是单实例。那么增加 redolog 组和 threads (使用 alter database)。 SQL>alter database add logfile thread 2 group 3 ('/dev/rzj_redo2_5_120m ') size 120M, group 4 ('/dev/rzj_redo2_6_120m ') size 120M; SQL>alter database enable public thread 2; 2、在主节点上创建一个新的 standby 控制文件,并 copy 这个控制文件到 standby。 SQL>alter database create standby controlfile as "/opt/app/oracle/stby.ctl" 3、关闭 standby 数据库, 备份现在 standby 数据库上控制文件,然后用新的 standby 控制 ORACLE 10G RAC 参考手册 72 文件来替换。 4、 调整新实例的 init.ora或者 spfile的参数,比如:thread, instance_name,instance_number, local_listener, undo_tablespace 等等。 5. 最后恢复 standby 数据。 To be continue…..
还剩74页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 20 金币 [ 分享pdf获得金币 ] 2 人已下载

下载pdf

pdf贡献者

johnny_56

贡献于2011-08-31

下载需要 20 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf