在IBM AIX上安装Oracle RAC

  目的

                  此文档向读者提供如何安装一个群集,安装RAC,并在IBM AIX HACMP/ES (CRM)

              4.4.x上启动一个群集数据库的手把手指导手册,对于关于任何这些步骤的其它解释或信息,请参考文档结尾列出的参考手册。

 

              1. 配置群集硬件 1.1 最小硬件列表/系统要求  1.1.1 硬件 1.1.2 软件 1.1.3 补丁 1.2 安装磁盘阵列

              1.3 安装群集内联和外联的网络硬件  2. 创建一个群集2.1 HACMP/ES 软件安装 2.2 配置群集拓扑2.3

              同步群集拓扑2.4 配置群集资源2.4.1 在一个节点上创建并行共享的卷组

              2.4.2 创建共享的RAW逻辑卷  2.4.3 在其它节点上导入卷组2.4.4 添加并行群集资源组  2.4.5

              配置并行群集资源组2.4.6 创建平行文件系统 (GPFS) 2.5 同步群集资源 2.6 添加节点到群集里  2.7

              基本的群集管理 3. 准备安装RAC 3.1 配置共享磁盘和UNIX预安装任务3.2.1 配置共享磁盘 3.2.2

              UNIX预安装任务 3.2 使用OUI安装RAC3.3 使用ODCA创建一个RAC数据库 4. 管理RAC实例  5. 参考手册

              1. 配置群集硬件 1.1 最小硬件列表/系统要求

              对于一个两节点的群集,下面是推荐的最小硬件列表。检查RAC/IBM AIX 认证矩阵,获取当前支持RAC的最新硬件/软件。

               

              1.1.1 硬件

                  ●IBM服务器 – 两个可以运行AIX 4.3.3 或5L 64位的IBM服务器

                  ●对于IBM或第三方存储产品,群集内联,外联网络,交换机选件,内存,交换分区&CPU的要求,参考操作系统供应商和硬

件供应商。

                  ●内存,交换分区&CPU要求

                  ●每个服务器必须有至少512M内存,至少1G交换分区或两倍于物理内存或更多。

              要确定使用的系统内存: $ /usr/sbin/lsattr -E -l sys0 -a realmem

                  要确定使用的交换分区: $ /usr/sbin/lsps -a

                 ●需要64位的处理器。

 

              1.1.2 软件

                  ●当使用IBM AIX 4.3.3时:

                  ◆HACMP/ES CRM 4.4.x

                  ◆只有裸逻辑卷支持数据库文件

                  ◆Oracle服务器企业版 9.0.1 或 9.2.0

 

                  ●当使用IBM AIX 5.1 (5L)时:

                  对于驻留在裸逻辑卷的数据库文件: 

                  ◆HACMP/ES CRM 4.4.x

                  对于驻留在 GPFS上的数据库文件:

                  ◆HACMP/ES 4.4.x (不需要HACMP/CRM )

                  ◆GPFS 1.5

 

                  ◆IBM补丁PTF12和IBM补丁IY34917或 IBM 补丁 PTF13

                  ◆Oracle服务器企业版9.2.0

                  ◆Oracle Server Enterprise Edition 9i for AIX 4.3.3

              和5L在单独的CD包里,并且包括RAC。

 

              1.1.3 补丁

                  IBM群集节点可能需要以下方面的补丁:

                  ●IBM AIX操作系统环境补丁

                  ●存储固件补丁或微码升级

                  补丁注意事项:

                  ●确保所有的群集节点有相同的补丁级别

                  ●不要在没有资格人员的帮助时,安装任何跟固件相关的补丁 

                  ●总是获取最新的补丁信息

                  ●仔细阅读所有补丁的README版本说明

                  ●对于需要的操作系统补丁列表,检查Note:211537.1 ,并联系IBM公司,获取额外的补丁要求。

 

                  使用以下命令查看当前已安装的补丁: 

                  % /usr/sbin/instfix -i

                  验证一个特定补丁的安装:

                  % /usr/sbin/instfix -ivk <atchnumber>

                  例如:

                  % /usr/sbin/instfix -ivk IY30927

 

              1.2 安装磁盘阵列

                  在安装IBM AIX操作系统环境和HACMP软件之前,结合HACMP for

              AIX安装手册和服务器硬件安装手册,初始化安装磁盘箱或阵列。

 

              1.3安装群集互连和公共网络硬件 

                  群集互连和公共网络接口不需要在安装HACMP之前配置,但必须在配置群集之前被配置并可用。

                  ●如果还没有被安装,那么先安装主机适配卡HBA到群集节点上,安装过程,参考相关文档。

                 

              ●多于2个节点的群集需要2个群集传输连接器,这些传输连接器是基于以太网的交换机,在你安装了其它硬件之后,你可以安

装群集软件和配置互连网络。

 

              2. 创建一个群集

              2.1 IBM HACMP/ES软件安装

                  HACMP/ES 4.X.X安装和配置过程通过几个主要步骤完成。一般过程为:

                  ●安装硬件

                  ●安装IBM AIX操作系统软件

                  ●安装最新的IBM AIX维护级别和需要的补丁 

                  ●在每个节点上安装HACMP/ES 4.X.X

                  ●安装HACMP/ES需要的补丁 

                  ●配置群集拓扑 

                  ●同步群集拓扑

                  ●配置群集资源

                  ●同步群集资源

                  根据HACMP for AIX 4.X.X

              安装指南获取安装需要的HACMP包的详细的指导说明。需要的/建议的软件包,包括下面这些:

                  ●cluster.adt.es.client.demos

                  ●cluster.adt.es.client.include

                  ●cluster.adt.es.server.demos

                  ●cluster.clvm.rte HACMP for AIX Concurrent

                  ●cluster.cspoc.cmds HACMP CSPOC commands

                  ●cluster.cspoc.dsh HACMP CSPOC dsh and perl

                  ●cluster.cspoc.rte HACMP CSPOC Runtime Commands

                  ●cluster.es.client.lib ES Client Libraries

                  ●cluster.es.client.rte ES Client Runtime

                  ●cluster.es.client.utils ES Client Utilities

                  ●cluster.es.clvm.rte ES for AIX Concurrent Access

                  ●cluster.es.cspoc.cmds ES CSPOC Commands>

                  ●cluster.es.cspoc.dsh ES CSPOC dsh and perl

                  ●cluster.es.cspoc.rte ES CSPOC Runtime Commands

                  ●cluster.es.hc.rte ES HC Daemon

                  ●cluster.es.server.diag ES Server Diags

                  ●cluster.es.server.events ES Server Events

                  ●cluster.es.server.rte ES Base Server Runtime

                  ●cluster.es.server.utils ES Server Utilities

                  ●cluster.hc.rte HACMP HC Daemon

                  ●cluster.msg.En_US.cspoc HACMP CSPOC Messages - U.S.

                  ●cluster.msg.en_US.cspoc HACMP CSPOC Messages - U.S.

                  ●cluster.msg.en_US.es.client

                  ●cluster.msg.en_US.es.server

                  ●cluster.msg.en_US.haview HACMP HAView Messages - U.S.

                  ●cluster.vsm.es ES VSM Configuration Utility

                  ●cluster.clvm.rte HACMP for AIX Concurrent

                  ●cluster.es.client.rte ES Client Runtime

                  ●cluster.es.clvm.rte ES for AIX Concurrent Access

                  ●cluster.es.hc.rte ES HC Daemon

                  ●cluster.es.server.events ES Server Events

                  ●cluster.es.server.rte ES Base Server Runtime

                  ●cluster.es.server.utils ES Server Utilities

                  ●cluster.hc.rte HACMP HC Daemon

                  ●cluster.man.en_US.client.data

                  ●cluster.man.en_US.cspoc.data

                  ●cluster.man.en_US.es.data ES Man Pages - U.S. English

                  ●cluster.man.en_US.server.data

                  ●rsct.basic.hacmp RS/6000 Cluster Technology

                  ●rsct.basic.rte RS/6000 Cluster Technology

                  ●rsct.basic.sp RS/6000 Cluster Technology

                  ●rsct.clients.hacmp RS/6000 Cluster Technology

                  ●rsct.clients.rte RS/6000 Cluster Technology

                  ●rsct.clients.sp RS/6000 Cluster Technology

                  ●rsct.basic.rte RS/6000 Cluster Technology

 

                  你可以使用clverify命令来验证安装的HACMP软件。

                  # /usr/sbin/cluster/diag/clverify

                  在 clverify> 提示符下,输入 software

              然后在 clverify.software> 提示符下,输入 lpp

              你应该看到类似于如下的信息:

              Checking AIX files for HACMP for AIX-specific modifications...

                  */etc/inittab not configured for HACMP for AIX.

                  If IP Address Takeover is configured, or the Cluster Manager

              is to be started on boot, then /etc/inittab must contain the

              proper HACMP for AIX entries.

                  Command completed.

                  --------- Hit Return To Continue ---------

              2.2 配置群集拓扑

                  使用如下命令:

                  # smit hacmp

                  注意:下面只是一个通用的HACMP配置的例子,参看HACMP安装和规划文档获取特定例子,此配置不包括 IP takeover

              network的例子, smit 快速路径正被用于导航到 smit hacmp 配置菜单,每一个配置屏幕都从 smit hacmp

              获取,所有的配置从一个节点进行,然后同步到参与群集的其它节点。 

 

              2.2.1添加群集定义:

              Smit HACMP -> Cluster Configuration -> Cluster Topology ->

              Configure Cluster -> Add a Cluster Definintion

                  快速路径:

                  # smit cm_config_cluster.add    

 

              Add a Cluster Definition

 

              Type or select values in entry fields.Press Enter AFTER making all

              desired changes.

              [Entry Fields]

              **NOTE: Cluster Manager MUST BE RESTARTED in order for changes to

              be acknowledged.**

              * Cluster ID                                    [0]

              * Cluster Name                                  [cluster1]

 

              “Cluster ID” 和“Cluster Name”可以是任意的,“Cluster

              ID”必须是0-9999之间的有效数字,“Cluster Name”可以是任何最多32个字母的字符串。

 

              2.2.2配置节点:

              Smit HACMP -> Cluster Configuration -> Cluster Topology ->

              Configure Nodes -> Add Cluster Nodes

                  快速路径:

                  # smit cm_config_nodes.add

 

              Add Cluster Nodes

 

              Type or select values in entry fields.Press Enter AFTER making all

              desired changes.

              [Entry Fields]

              *Node Names                                   [node1 node2]

 

              “Node Names”应该是节点的主机名,它们必须是字母数字,且不多于32个字符。所有参与的节点必须在此输入,并用空格隔

开 。

 

              2.2.3添加网络适配器

              此例在每个节点上使用2个以太网卡,并用一个RS232串口作为心跳连接: 

 

              节点名称

 

              IP地址

 

              IP标签

 

              类型

 

              node1

              192.168.0.1

              node1srvc

              service

 

              192.168.1.1

              node1stby

              standby

 

              /dev/tty0

              serial

              心跳

 

              node2

              192.168.0.2

              node2srvc

              service

 

              192.168.1.2

              node2stby

              standby

 

              /dev/tty0

 

              serial

 

 

              配置网络适配器:

              Smit HACMP -> Cluster Configuration -> Cluster Topology ->

              Configure Nodes -> Add an Adapter

                  快速路径:

                  # smit cm_confg_adapters.add

 

              Add an Adapter

 

              Type or select values in entry fields.Press Enter AFTER making all

              desired changes.

              [Entry Fields]

              * Adapter IP Label                            [node1srvc]

              * Network Type                                [ether]            

              +

              * Network Name                                [ipa]              

              +

              * Network Attribute                           public             

              +

              * Adapter Function                            service            

              +

              Adapter Identifier                          []

              Adapter Hardware Address                    []

              Node Name                                   [node1]             +

 

              注意“Adapter IP Label”

              必须匹配“/etc/hosts”文件,否则适配卡不能映射到有效的IP地址,群集不能被同步,“Network

              Name”是网络配置的任意名称,在此配置里的适配卡必须有相同的 “Network

              Name”,此名称被用于在适配卡失败时,决定哪些适配卡被使用。

 

 

              Add an Adapter

 

              Type or select values in entry fields.Press Enter AFTER making all

              desired changes.

              [Entry Fields]

              * Adapter IP Label                            [node1stby]

              * Network Type                                [ether]            

              +

              * Network Name                                [ipa]              

              +

              * Network Attribute                           public             

              +

              * Adapter Function                            standby            

              +

              Adapter Identifier                          []

              Adapter Hardware Address                    []

              Node Name                                   [node1]             +

 

 

 

 

              Add an Adapter

 

              Type or select values in entry fields.Press Enter AFTER making all

              desired changes.

              [Entry Fields]

              * Adapter IP Label                            [node2srvc]

              * Network Type                                [ether]            

              +

              * Network Name                                [ipa]              

              +

              * Network Attribute                           public             

              +

              * Adapter Function                            service            

              +

              Adapter Identifier                          []

              Adapter Hardware Address                    []

              Node Name                                   [node2]             +

 

              Add an Adapter

 

              Type or select values in entry fields.Press Enter AFTER making all

              desired changes.

              [Entry Fields]

              * Adapter IP Label                            [node2stby]

              * Network Type                                [ether]            

              +

              * Network Name                                [ipa]              

              +

              * Network Attribute                           public             

              +

              * Adapter Function                            standby            

              +

              Adapter Identifier                          []

              Adapter Hardware Address                    []

              Node Name                                   [node2]             +

 

              下面是串口配置:

 

              Add an Adapter

 

              Type or select values in entry fields.Press Enter AFTER making all

              desired changes.

              [Entry Fields]

              * Adapter IP Label                            [node1_tty]

              * Network Type                                [rs232]            

              +

              * Network Name                                [serial]           

              +

              * Network Attribute                           serial             

              +

              * Adapter Function                            service            

              +

              Adapter Identifier                          [/dev/tty0]

              Adapter Hardware Address                    []

              Node Name                                   [node1]             +

 

 

 

              Add an Adapter

 

              Type or select values in entry fields.Press Enter AFTER making all

              desired changes.

              [Entry Fields]

              * Adapter IP Label                             [node2_tty]

              * Network Type                                 [rs232]           

              +

              * Network Name                                 [serial]          

              +

              * Network Attribute                            serial            

              +

              * Adapter Function                             service           

              +

              Adapter Identifier                           [/dev/tty0]

              Adapter Hardware Address                     []

              Node Name                                    [node2]            +

              因为这跟以太网卡不同,所以 “Network Name”也不同。

              使用“smit mktty” 配置RS232适配器:

              # smit mktty

 

              Add a TTY

 

              Type or select values in entry fields.Press Enter AFTER making all

              desired changes. 

              [TOP]                                         [Entry Fields]

              TTY type                                       tty

              TTY interface                                  rs232

              Description                                    Asynchronous

              Terminal Parent adapter                        sa0

              * PORT number                                    [0]             +

 

              Enable LOGIN                                   disable         +

              BAUD rate                                      [9600]          +

              PARITY                                         [none]          +

              BITS per character                             [8]             +

              Number of STOP BITS                            [1]             +

              TIME before advancing to next port setting     [0]             +#

              TERMINAL type                                  [dumb]

              FLOW CONTROL to be used                        [xon]           +

              [MORE...31]

 

              确保“Enable LOGIN”被设置为默认的“disable”,“PORT number” 是在 /dev/tt# 里使用的“#”

              ,因此,如果你定义为“0” ,那么将是“/dev/tty0”设备。

              2.3 同步群集拓扑

                 

              群集拓扑在配置之后,需要被同步,同步执行拓扑的完整性检查,然后被推送到群集配置里的每个节点,配置同步,需要是

root用户,有几个方法可以做到:

              其中一个方法就是在每个节点的根目录创建一个.rhosts 文件。

              一个.rhosts的例子文件:

              node1 root

              node2 root

              确保/.rhosts文件的权限为600。

              # chmod 600 /.rhosts

              使用远程命令rcp等来测试配置是否正确: 从节点1:

              # rcp /etc/group node2:/tmp

              从节点2:

              # rcp /etc/group node1:/tmp

 

              同步群集拓扑:

              Smit HACMP -> Cluster Configuration -> Cluster Topology ->

              Synchronize Cluster Topology

                  快速路径:

                  # smit configchk.dialog

 

              Synchronize Cluster Topology

 

              Type or select values in entry fields.Press Enter AFTER making all

              desired changes.

                                                     [Entry Fields]

              Ignore Cluster Verification Errors?          [No]             +

              * Emulate or Actual?                           [Actual]         +

 

              注意:只有本地节点的默认配置文件保留你的更改,用于拓扑仿真,当你运行仿真之后,要还原到原始配置,运行SMIT命令,

Restore

              System Default Configuration from Active

              Configuration”,我们推荐你在运行仿真之前,做一个快照。

              只是为了防止在仿真过程中发生不能控制的群集事件,如果在此节点上激活了群集管理器,同步群集拓扑将引起在同步成功完

成之后,群集管理器的任何更改将立即生效。

 

 

              2.4 配置群集资源

                  在一个RAC配置里,只需要一个资源组。此资源组是一个用于共享卷组的并行资源组,下面是为共享卷组添加一个并行资源

组的过程:

              首先需要一个在节点间共享的卷组,相同群集数据库的两个实例并行访问相同的外部磁盘,这是真正的并行访问,与VSD环境里

的共享不一样。因为几个实例同时访问相同的文件和数据,locks必须被管理,这些locks在CLVM层,由HACMP管理。

                  1) 检查目标磁盘是否物理连接到群集的节点,并可以被节点所看到。在两个节点上输入lspv命令。 

                 

              注意:hdisk号码可以不一样,依赖于其它节点的磁盘配置,使用lspv的第二个输出字段(Pvid),确保从两个主机处理相同的

物理磁盘。尽管hdisk号码不连续可能不是问题,但IBM建议使用“鬼”盘来确保在节点间匹配hdisk号码。

 

              2.4.1 在一个节点上创建要共享的并行卷组

              # smit vg

              选择 Add a Volume Group

 

              Add a Volume Group

 

              Type or select values in entry fields.Press Enter AFTER making all

              desired changes.

              [Entry Fields]

              VOLUME GROUP name                                      [oracle_vg]

 

              Physical partition SIZE in megabytes                   32       +

              * PHYSICAL VOLUME names                                  [hdisk5]

              +

              Activate volume group AUTOMATICALLY at system restart? no       +

              Volume Group MAJOR NUMBER                              [57]     +

              Create VG Concurrent Capable?                          yes      +

              Auto-varyon in Concurrent Mode?                        no       +

 

                 “PHYSICAL VOLUME

              names”必须是在节点间共享的物理磁盘,我们不要在系统启动时,自动激活卷组,因为由HACMP来激活。并且“Auto-varyon

              in Concurrent Mode?” 应该被设置为“no” ,因为由HACMP 以并行模式加载它。你必须选择 “major

              number”,确保卷组在所有节点有相同的“major

              number”(注意:在选择此号码之前,你必须确保它在所有节点都是空闲的)。检查所有定义的major number,输入:

                  % ls ?al /dev/*

                  crw-rw---- 1 root system 57, 0 Aug 02 13:39 /dev/oracle_vg

                  oracle_vg卷组的major number是57。

              确保57在所有其它节点上可用,并且没有被其它设备使用。 在此卷组上,创建你需要的所有逻辑卷和文件系统。

 

              2.4.2 如果没有使用GPFS那么创建共享的裸逻辑卷:

              mklv -y'db_name_cntrl1_110m' -w'n' -s'n' -r'n' usupport_vg 4

              hdisk5

              mklv -y'db_name_cntrl2_110m' -w'n' -s'n' -r'n' usupport_vg 4

              hdisk5

              mklv -y'db_name_system_400m' -w'n' -s'n' -r'n' usupport_vg 13

              hdisk5

              mklv -y'db_name_users_120m' -w'n' -s'n' -r'n' usupport_vg 4 hdisk5

 

              mklv -y'db_name_drsys_90m' -w'n' -s'n' -r'n' usupport_vg 3 hdisk5

              mklv -y'db_name_tools_12m' -w'n' -s'n' -r'n' usupport_vg 1 hdisk5

              mklv -y'db_name_temp_100m' -w'n' -s'n' -r'n' usupport_vg 4 hdisk5

              mklv -y'db_name_undotbs1_312m' -w'n' -s'n' -r'n' usupport_vg 10

              hdisk5

              mklv -y'db_name_undotbs2_312m' -w'n' -s'n' -r'n' usupport_vg 10

              hdisk5

              mklv -y'db_name_log11_120m' -w'n' -s'n' -r'n' usupport_vg 4 hdisk5