用于 Oracle 的 Sun Cluster 数据服务指南(适用于 Solaris OS)

安装和配置 Sun Cluster HA for Oracle

本章包含以下过程。


注意:

您可以使用 SunPlexTM Manager 来安装和配置此数据服务。 有关详细信息,请参见 SunPlex Manager 联机帮助。


Sun Cluster HA for Oracle 的安装和配置进程概述

下表概括了安装和配置 Sun Cluster HA for Oracle 的任务。 还提供了对执行这些任务的详细说明的交叉引用。 请按照列出的顺序执行这些任务。

表 1–1 任务图: 安装和配置 HA for Oracle

任务 

交叉引用  

规划 Sun Cluster HA for Oracle 的安装和配置 

规划 Sun Cluster HA for Oracle 的安装和配置

准备节点和磁盘 

准备节点和磁盘

安装 Oracle 软件 

如何安装 Oracle 软件

检验 Oracle 的安装 

如何检验 Oracle 的安装

创建 Oracle 数据库 

如何创建 Oracle 数据库

设置 Oracle 数据库权限 

如何设置 Oracle 数据库权限

安装 Sun Cluster HA for Oracle 软件包 

安装 Sun Cluster HA for Oracle 软件包

注册和配置 Sun Cluster HA for Oracle 

如何注册和配置 Sun Cluster HA for Oracle

检验 Sun Cluster HA for Oracle 的安装 

如何检验 Oracle 的安装

了解 Sun Cluster HA for Oracle 故障监视器 

了解 Sun Cluster HA for Oracle 故障监视器

(可选)定制 Sun Cluster HA for Oracle 服务器故障监视器 

定制 Sun Cluster HA for Oracle 服务器故障监视器

(可选)升级 Sun Cluster HA for Oracle 资源类型 

升级 Sun Cluster HA for Oracle 资源类型

规划 Sun Cluster HA for Oracle 的安装和配置

本节包含规划 Sun Cluster HA for Oracle 的安装和配置所需的信息。

配置要求


小心:小心:

如果您未遵循这些要求,您的数据服务配置可能不受支持。


请使用本节中的要求来规划 Sun Cluster HA for Oracle 的安装和配置。 这些要求仅适用于 Sun Cluster HA for Oracle。 您必须先满足这些要求,然后再进行 Sun Cluster HA for Oracle 的安装和配置。

有关适用于所有数据服务的要求,请参见用于 Solaris OS 的 Sun Cluster 数据服务规划和管理指南》中的“Sun Cluster 数据服务的配置指导”

配置规划问题

请使用本节中的问题来规划 Sun Cluster HA for Oracle 的安装和配置。 在用于 Solaris OS 的 Sun Cluster 数据服务规划和管理指南》的“配置工作单”中的数据服务工作单的相应位置写下对这些问题的回答。

准备节点和磁盘

本节包含准备节点和磁盘所需的过程。

如何准备节点

请使用此过程来准备 Oracle 软件的安装和配置。


小心:小心:

请在所有节点上执行本节中的所有步骤。 如果未在所有节点上执行所有步骤,Oracle 的安装将不完整。 Oracle 安装不完整会导致 Sun Cluster HA for Oracle 在启动过程中失败。



注意:

执行此过程之前,请查看 Oracle 文档。


以下步骤用于准备节点并安装 Oracle 软件。

  1. 成为所有群集成员的超级用户。

  2. 按以下方式配置 /etc/nsswitch.conf 文件,以便在发生切换或故障转移时数据服务可以正常启动和停止。

    在可以控制逻辑主机(运行 Sun Cluster HA for Oracle)的每个节点上,为 /etc/nsswitch.conf 文件中的 group 包含以下项之一。


    group:		 	files
    group:		 	files [NOTFOUND=return] nis
    group:		 	files [NOTFOUND=return] nisplus

    Sun Cluster HA for Oracle 使用 su user 命令来启动和停止数据库节点。 如果群集节点的公共网络出现故障,网络信息名称服务可能会变为不可用。 为组添加上述项之一,可确保在网络信息名称服务不可用时 su(1M) 命令不参考 NIS/NIS+ 名称服务。

  3. 为 Sun Cluster HA for Oracle 配置群集文件系统。

    如果原始设备包含数据库,请配置全局设备以进行原始设备访问。 有关如何配置全局设备的信息,请参见Sun Cluster 软件安装指南(适用于 Solaris OS)

    如果使用 Solstice DiskSuiteTM/Solaris 卷管理器软件,请配置 Oracle 软件以使用已镜像元设备或原始镜像元设备的 UNIX 文件系统 (UFS) 日志功能。 有关如何配置原始镜像元设备的详细信息,请参见 Solstice DiskSuite/Solaris Volume Manager 文档。

  4. 在本地或多主机磁盘上准备 $ORACLE_HOME 目录。


    注意:

    如果在本地磁盘上安装 Oracle 二进制,请使用单独的磁盘(如果可能)。 在单独的磁盘上安装 Oracle 二进制可以防止在重新安装操作环境的过程中覆盖二进制。


  5. 在每个节点上,为 /etc/group 文件中的数据库管理员 (DBA) 组创建项,并将潜在的用户添加到该组。

    通常,将 DBA 组命名为 dba。 检验 rootoracle 用户是否为 dba 组的成员,并根据需要为其他 DBA 用户添加项。 确保运行 Sun Cluster HA for Oracle 的所有节点上的组 ID 均相同,如下例所示。


    dba:*:520:root,oracle 

    您可以在网络名称服务(例如 NIS 或 NIS+)中创建组的项。 如果以这种方式创建组的项,请将该项添加到本地 /etc/inet/hosts 文件中,以消除与网络名称服务的相关性。

  6. 在每个节点上,为 Oracle 用户 ID (oracle) 创建项。

    通常,将 Oracle 用户 ID 命名为 oracle。 以下命令更新 /etc/passwd/etc/shadow 文件,使这两个文件包含 Oracle 用户 ID 项。


    # useradd -u 120 -g dba -d /Oracle-home oracle
    

    确保运行 Sun Cluster HA for Oracle 的所有节点上的 oracle 用户项均相同。

如何使用 Solstice DiskSuite 配置 Oracle 数据库访问

请使用此过程通过 Solstice DiskSuite 卷管理器来配置 Oracle 数据库。

  1. 为要使用的 Solstice DiskSuite 软件配置磁盘设备。

    有关如何配置 Solstice DiskSuite 软件的信息,请参见Sun Cluster 软件安装指南(适用于 Solaris OS)

  2. 如果使用原始设备来包含数据库,请运行以下命令以更改每个原始镜像元设备的属主、组和模式。

    如果不使用原始设备,请勿执行此步骤。

    1. 如果创建原始设备,请在可以控制 Oracle 资源组的每个节点上针对每个设备运行以下命令。


      # chown oracle /dev/md/metaset/rdsk/dn
      # chgrp dba /dev/md/metaset/rdsk/dn
      # chmod 600 /dev/md/metaset/rdsk/dn
      
      metaset

      指定磁盘集的名称

      /rdsk/dn

      指定 metaset 磁盘集内的原始磁盘设备的名称

    2. 检验更改是否有效。


      # ls -lL /dev/md/metaset/rdsk/dn
      

如何使用 VERITAS Volume Manager 配置 Oracle 数据库访问

请使用此过程通过 VERITAS Volume Manager 软件配置 Oracle 数据库。

  1. 为要使用的 VxVM 软件配置磁盘设备。

    有关如何配置 VERITAS Volume Manager 的信息,请参见Sun Cluster 软件安装指南(适用于 Solaris OS)

  2. 如果使用原始设备来包含数据库,请在当前磁盘组主节点上运行以下命令以更改每个设备的属主、组和模式。

    如果不使用原始设备,请勿执行此步骤。

    1. 如果创建原始设备,请针对每个原始设备运行以下命令。


      # vxedit -g diskgroup set user=oracle group=dba mode=600 volume
      
      diskgroup

      指定磁盘组的名称

      volume

      指定磁盘组内原始卷的名称

    2. 检验更改是否有效。


      # ls -lL /dev/vx/rdsk/diskgroup/volume
      

    3. 向群集重新注册磁盘设备组,以使 VxVM 名称空间在整个群集中保持一致。


      # scconf -c -D name=diskgroup
      

安装 Oracle 软件

本节包含安装 Oracle 软件所需的步骤。

如何安装 Oracle 软件

  1. 成为某个群集成员的超级用户。

  2. 注意 Oracle 安装要求。

    在以下位置之一安装 Oracle 二进制。

    • 群集节点的本地磁盘

    • 高可用性的本地文件系统

    • 群集文件系统


      注意:

      在群集文件系统中安装 Oracle 软件之前,请启动 Sun Cluster 软件,并成为磁盘设备组的属主。


    有关安装位置的详细信息,请参见准备节点和磁盘

  3. 安装 Oracle 软件。

    无论在何处安装 Oracle 软件,应像在标准 Oracle 安装过程中一样修改每个节点的 /etc/system 文件。 然后重新引导。

    请以 oracle 身份登录以确保整个目录的所有权,然后再执行此步骤。 有关如何安装 Oracle 软件的说明,请参见相应的 Oracle 安装和配置指南。

检验 Oracle 的安装和配置

本节包含检验 Oracle 的安装和配置所需的过程。

如何检验 Oracle 的安装

此过程不检验您的应用程序是否具有高可用性,因为您尚未安装数据服务。

  1. 检验 oracle 用户和 dba 组是否拥有 $ORACLE_HOME/bin/oracle 目录。

  2. 检验 $ORACLE_HOME/bin/oracle 的权限是否进行如下设置。


    -rwsr-s--x
  3. 检验 $ORACLE_HOME/bin 目录中是否存在侦听程序二进制。

从此处可转到何处

完成本节中的工作后,请转到创建 Oracle 数据库

创建 Oracle 数据库

本节包含在 Sun Cluster 环境中配置和创建初始 Oracle 数据库的过程。 如果您创建和配置了其他数据库,请忽略如何创建 Oracle 数据库 过程。

如何创建 Oracle 数据库

  1. 准备数据库配置文件。

    将所有与数据库相关的文件(数据文件、恢复日志文件和控制文件)放在共享原始全局设备中或群集文件系统中。 有关安装位置的信息,请参见准备节点和磁盘

    init$ORACLE_SID.oraconfig$ORACLE_SID.ora 文件中,您可能需要修改 control_filesbackground_dump_dest 的赋值,以指定控制文件和警报文件的位置。


    注意:

    如果将 Solaris 验证用于数据库登录,请将 init$ORACLE_SID.ora 文件中的 remote_os_authent 变量设置为 True


  2. 创建数据库。

    启动 Oracle 安装程序并选择选项以创建数据库。 或者,使用 Oracle svrmgrl(1M) 命令来创建数据库,这取决于您的 Oracle 版本。

    在创建过程中,请确保将所有与数据库相关的文件都放在共享全局设备或群集文件系统中的相应位置。

  3. 检验控制文件的文件名与配置文件中的文件名是否匹配。

  4. 创建 v$sysstat 视图。

    运行用于创建 v$sysstat 视图的目录脚本。 Sun Cluster HA for Oracle 的故障监视器将使用此视图。

从此处可转到何处

完成本节中的工作后,请转到设置 Oracle 数据库权限

设置 Oracle 数据库权限

请执行本节中的过程来设置 Oracle 数据库权限。

如何设置 Oracle 数据库权限

  1. 启用故障监视功能要使用的用户和口令的访问权限。

    • 使用 Oracle 验证方法 – 对于所有支持的 Oracle 发行版,请在 sqlplus 提示符下键入以下脚本。


      # sqlplus “/as sysdba”
       
      			grant connect, resource to user identified by passwd;
      			alter user user default tablespace system quota 1m on
      				system;
             			grant select on v_$sysstat to user;
      			grant create session to user;
      			grant create table to user;
       
         exit;
    • 使用 Solaris 验证方法 – 为数据库授予权限以使用 Solaris 验证。


      注意:

      为其启用 Solaris 验证的用户是拥有 $ORACLE_HOME 目录中文件的用户。 以下代码样例说明了用户 oracle 拥有这些文件。



      # sqlplus “/as sysdba”
       
      			create user ops$oracle identified by externally
      				default tablespace system quota 1m on system;
      			grant connect, resource to ops$oracle;
            			grant select on v_$sysstat to ops$oracle;
      			grant create session to ops$oracle;
      			grant create table to ops$oracle;
       
         exit;
  2. 为 Sun Cluster 软件配置 NET8。

    从群集中的所有节点必须都可以访问 listener.ora 文件。 将这些文件放在群集文件系统中或放在可能运行 Oracle 资源的每个节点的本地文件系统中。


    注意:

    如果将 listener.ora 文件放在 /var/opt/oracle 目录或 $ORACLE_HOME/network/admin 目录以外的位置,则必须在用户环境文件中指定 TNS_ADMIN 变量或等效的 Oracle 变量。 有关 Oracle 变量的信息,请参见 Oracle 文档。 您还必须运行 scrgadm(1M) 命令以设置资源扩展参数 User_env,该参数用于将用户环境文件作为源。 有关格式的详细信息,请参见表 1–2表 1–3


    Sun Cluster HA for Oracle 对侦听程序名称没有限制,它可以是任何有效的 Oracle 侦听程序名称。

    以下代码样例标识了更新的 listener.ora 中的行。


    LISTENER =
    	(ADDRESS_LIST =
    			(ADDRESS =
    				(PROTOCOL = TCP) 
    					(HOST = logical-hostname) <- use logical hostname
    				(PORT = 1527)
    			)
    	)
    .
    .
    SID_LIST_LISTENER =
    	.
    			.
    						(SID_NAME = SID) <- Database name, 
    default is ORCL	

    以下代码样例标识了客户机上更新的 tnsnames.ora 中的行。


    service_name =
    	.
    			.
    						(ADDRESS = 
    								(PROTOCOL = TCP)
    								(HOST = logicalhostname)	<- logical hostname
    								(PORT = 1527) <- must match port in LISTENER.ORA
    						)
    				)
    				(CONNECT_DATA =
    						(SID = <SID>)) <- database name, default is ORCL

    下例说明了如何为以下 Oracle 实例更新 listener.oratnsnames.ora 文件。

    实例  

    逻辑主机 

    侦听程序 

    ora8

    hadbms3

    LISTENER-ora8

    ora9

    hadbms4

    LISTENER-ora9

    相应的 listener.ora 的项包括以下项。


    LISTENER-ora9 =
    	(ADDRESS_LIST =
    			(ADDRESS =
    				(PROTOCOL = TCP)
    				(HOST = hadbms4)
    				(PORT = 1530)
    			)
    		)
    SID_LIST_LISTENER-ora9 =
    	(SID_LIST =
    			(SID_DESC =
    				(SID_NAME = ora9)
    			)
    		)
    LISTENER-ora8 =
      (ADDRESS_LIST =
        (ADDRESS= (PROTOCOL=TCP) (HOST=hadbms3)(PORT=1806))
      )
    SID_LIST_LISTENER-ora8 =
      (SID_LIST =
         (SID_DESC =
    			(SID_NAME = ora8)
    		 )	
      )

    相应的 tnsnames.ora 的项包括以下项。


    ora8 =
    (DESCRIPTION =
       (ADDRESS_LIST = 
    			(ADDRESS = (PROTOCOL = TCP) 
    			(HOST = hadbms3) 
    			(PORT = 1806))
       	)    
    	(CONNECT_DATA = (SID = ora8))
    )
    ora9 =
    (DESCRIPTION =
      (ADDRESS_LIST =
            (ADDRESS = 
    				(PROTOCOL = TCP) 
    				(HOST = hadbms4) 
    				(PORT = 1530))
      )
      	(CONNECT_DATA = (SID = ora9))
    )
  3. 检验是否安装了 Sun Cluster 软件,并且它是否在所有节点上运行。


    # scstat
    

从此处可转到何处

请转到安装 Sun Cluster HA for Oracle 软件包以安装 Sun Cluster HA for Oracle 软件包。

安装 Sun Cluster HA for Oracle 软件包

如果未在 Sun Cluster 初始安装期间安装 Sun Cluster HA for Oracle 软件包,请执行此过程以安装该软件包。 在要安装 Sun Cluster HA for Oracle 软件包的每个群集节点上执行此过程。 必需使用 Sun Java Enterprise System Accessory CD Volume 3 才能完成此过程。

如果要同时安装多个数据服务,请执行Sun Cluster 软件安装指南(适用于 Solaris OS)》的“安装软件”中的过程。

请使用以下安装工具之一来安装 Sun Cluster HA for Oracle 软件包:


注意:

在早于 Sun Cluster 3.1 数据服务 10/03 的发行版中提供 Web Start 程序。


如何使用 Web Start 程序来安装 Sun Cluster HA for Oracle 软件包

您可以使用命令行界面 (CLI) 或图形用户界面 (GUI) 运行 Web Start 程序。 CLI 和 GUI 中指令的内容和顺序类似。 有关 Web Start 程序的详细信息,请参见installer(1M) 手册页。

  1. 在要安装 Sun Cluster HA for Oracle 软件包的群集节点上成为超级用户。

  2. (可选的) 如果要使用 GUI 运行 Web Start 程序,请确保已设置 DISPLAY 环境变量。

  3. 将 Sun Java Enterprise System Accessory CD Volume 3 放入 CD-ROM 驱动器。

    如果卷管理守护程序 vold( 1M) 正在运行并被配置为管理 CD-ROM 设备,它将在 /cdrom/cdrom0 目录中自动装载 CD-ROM。

  4. 更改到 CD-ROM 的 Sun Cluster HA for Oracle 组件目录。

    用于 Sun Cluster HA for Oracle 数据服务的 Web Start 程序位于此目录中。


    # cd /cdrom/cdrom0/\
    components/SunCluster_HA_Oracle_3.1
    
  5. 启动 Web Start 程序。


    # ./installer
    
  6. 系统提示时,选择安装类型。

    • 要仅安装 C 语言环境,请选择“典型”。

    • 要安装其他语言环境,请选择“定制”。

  7. 按照屏幕上的说明在节点上安装 Sun Cluster HA for Oracle 软件包。

    安装完成后,Web Start 程序将提供安装摘要。 此摘要使您可以查看 Web Start 程序在安装期间创建的日志。 这些日志位于 /var/sadm/install/logs 目录中。

  8. 退出 Web Start 程序。

  9. 从 CD-ROM 驱动器中取出 Sun Java Enterprise System Accessory CD Volume 3。

    1. 为确保没有在使用 CD-ROM,请将目录更改为 CD-ROM 中的目录。

    2. 弹出 CD-ROM。


      # eject cdrom
      

从此处可转到何处

请参见注册和配置 Sun Cluster HA for Oracle 以注册 Sun Cluster HA for Oracle 并配置数据服务的群集。

如何使用 scinstall 公用程序安装 Sun Cluster HA for Oracle 软件包

  1. 将 Sun Java Enterprise System Accessory CD Volume 3 放入 CD-ROM 驱动器。

  2. 运行 scinstall 公用程序(不使用任何选项)。

    此步骤将以交互模式启动 scinstall 公用程序。

  3. 选择菜单选项“将新数据服务的支持添加到此群集节点”。

    scinstall 公用程序将提示您输入其他信息。

  4. 提供 Sun Java Enterprise System Accessory CD Volume 3 的路径。

    公用程序将此 CD 称为“数据服务 CD”。

  5. 指定要安装的数据服务。

    scinstall 公用程序将列出您选定的数据服务,并要求您确认选择。

  6. 退出 scinstall 公用程序。

  7. 从驱动器中取出 CD。

从此处可转到何处

请参见注册和配置 Sun Cluster HA for Oracle 以注册 Sun Cluster HA for Oracle 并配置数据服务的群集。

注册和配置 Sun Cluster HA for Oracle

本节包含配置 Sun Cluster HA for Oracle 所需的过程。

Sun Cluster HA for Oracle 扩展特性

请使用表 1–2 中的扩展特性创建资源。 在创建资源时,使用命令 scrgadm -x parameter=value 来配置扩展特性。 如果已经创建了资源,请使用用于 Solaris OS 的 Sun Cluster 数据服务规划和管理指南》的“管理数据服务资源”中的过程来配置扩展特性。 您可以动态地更新某些扩展特性。 但是,只能在创建或禁用资源时更新其他扩展特性。 “可调”项表示何时可以更新各个特性。 有关所有 Sun Cluster 特性的详细信息,请参见Sun Cluster 数据服务规划和管理指南》中的“标准特性”

表 1–2 Sun Cluster HA for Oracle 侦听程序扩展特性

名称/数据类型 

说明  

LISTENER_NAME(字符串)

Oracle 侦听程序的名称。 

 

缺省值: LISTENER

范围:

可调:被禁用时

 

ORACLE_HOME(字符串)

Oracle 起始目录的路径。 

 

缺省值:

范围:最小 = 1

可调:被禁用时

Probe_timeout(整数)

故障监视器用于探测 Oracle 侦听程序的超时值(以秒为单位)。 

缺省值:30

范围: 199,999

可调:任何时侯

在以下发行版中新增: 3.1 4/04

User_env(字符串)

一个文件,包含在启动和关闭侦听程序之前要设置的环境变量。 具有与 Oracle 缺省值不同的值的环境变量,必须在此文件中进行定义。  

例如,用户的 listener.ora 文件可能不位于 /var/opt/oracle 目录或 $ORACLE_HOME/network/admin 目录中 。 在这种情况下,应该定义 TNS_ADMIN 环境变量。

每个环境变量的定义必须遵循格式 VARIABLE_NAME=VARIABLE_VALUE。 必须在环境文件中指定这些环境变量的每个变量,每行一个变量。

 

缺省值: ““

范围:

可调:任何时侯

表 1–3 介绍了可以为 Oracle 服务器设置的扩展特性。 对于 Oracle 服务器,要求您仅设置以下扩展特性:

表 1–3 Sun Cluster HA for Oracle 服务器扩展特性

名称/数据类型 

说明  

Alert_log_file(字符串)

Oracle 警报日志文件。 

 

缺省值:

范围:最小 = 1

可调:任何时侯

Auto_End_Bkp(布尔值)

指定在 Oracle 关系数据库管理系统 (RDBMS) 热备份中断时是否执行以下恢复操作。

  • 当数据库因文件仍处于热备份模式而无法打开时进行识别。 Sun Cluster HA for Oracle 启动时将进行此检验进程。

  • 识别和发布仍处于热备份模式的所有文件。

  • 打开要使用的数据库。

此特性的允许值如下:  

  • False – 指定执行恢复操作。 此值为缺省值。

  • True – 指定执行恢复操作。

缺省值: False

范围:

可调: 任何时候

Connect_cycle(字符串)

从数据库断开连接之前,服务器故障监视器要执行的探测循环的数目。 

 

缺省值: 5

范围:099,999

可调:任何时候

Connect_string(字符串)

服务器故障监视器用于连接数据库的 Oracle 用户和口令。 

 

缺省值:

范围:最小 = 1

可调: 任何时候

Custom_action_file(字符串)

用于定义 Sun Cluster HA for Oracle 服务器故障监视器定制性能的文件的绝对路径。 

 

缺省值: ““

范围:

可调:任何时候

在以下发行版中新增:3.1 10/03

Debug_level(整数)

记录 Sun Cluster HA for Oracle 调试消息的级别。 

 

缺省值:1

范围: 1– 100

可调:任何时候

ORACLE_HOME(字符串)

Oracle 起始目录的路径。 

 

缺省值:

范围:最小 = 1

可调:被禁用时

ORACLE_SID(字符串)

Oracle 系统标识符。 

 

缺省值:

范围:最小 = 1

可调:被禁用时

Parameter_file(字符串)

Oracle 参数文件。 如果未指定 Oracle 参数文件,此特性将 Oracle 缺省值作为缺省值。 

 

缺省值: ““

范围:最小 = 0

可调:任何时候

Probe_timeout(整数)

服务器故障监视器用于探测 Oracle 服务器实例的超时值(以秒为单位)。 

 

缺省值: 60

范围:0 99,999

可调:任何时候

Restart_type(字符串)

指定对故障的响应是重新启动时,服务器故障监视器将重新启动的实体。 此特性的允许值如下: 

  • RESOURCE_GROUP_RESTART – 指定包含此资源的资源组中的所有资源将重新启动

  • RESOURCE_RESTART – 指定仅此资源将重新启动

缺省值: RESOURCE_GROUP_RESTART

范围:

可调:任何时候

User_env(字符串)

一个文件,包含在启动和关闭服务器之前要设置的环境变量。 具有与 Oracle 缺省值不同的值的环境变量,必须在此文件中进行定义。  

例如,用户的 listener.ora 文件可能不位于 /var/opt/oracle 目录或 $ORACLE_HOME/network/admin 目录中 。 在这种情况下,应该定义 TNS_ADMIN 环境变量。

每个环境变量的定义必须遵循格式 VARIABLE_NAME=VARIABLE_VALUE。 必须在环境文件中指定这些环境变量的每个变量,每行一个变量。

 

缺省值: NULL

范围:

可调:任何时候

Wait_for_online(布尔值)

使用 START 方法等待数据库联机。

 

缺省值: True

范围:

可调:任何时候

 

如何注册和配置 Sun Cluster HA for Oracle

请使用此过程将 Sun Cluster HA for Oracle 配置为故障转移数据服务。 此过程假定您在 Sun Cluster 初始安装过程中安装了数据服务软件包。 如果未将 Sun Cluster HA for Oracle 软件包安装为 Sun Cluster 初始安装的一部分,请转到安装 Sun Cluster HA for Oracle 软件包以安装数据服务软件包。 否则,请使用此过程来配置 Sun Cluster HA for Oracle。

要执行此过程,必须掌握以下信息。

  1. 成为某个群集成员的超级用户。

  2. 运行 scrgadm 命令,以对数据服务的资源类型进行注册。

    对于 Sun Cluster HA for Oracle,需要注册两种资源类型(SUNW.oracle_serverSUNW.oracle_listener),如下所示。


    # scrgadm -a -t SUNW.oracle_server
    # scrgadm -a -t SUNW.oracle_listener
    
    -a

    添加数据服务资源类型。

    -t SUNW.oracle_ type

    为数据服务指定预定义的资源类型名称。

  3. 创建故障转移资源组,以保存网络资源和应用程序资源。

    您可以使用 -h 选项选择可用于运行数据服务的节点集,如下所示。


    # scrgadm -a -g resource-group [-h nodelist]
    -g resource-group

    指定资源组的名称。 可以选择此名称,但对于群集中的所有资源组来说,该名称必须唯一。

    -h nodelist

    指定一个可选的、用逗号分隔的物理节点名称或 ID 的列表,这些节点名称或 ID 标识潜在的主节点。 此处的顺序确定了在故障转移过程中将节点选为主节点的顺序。


    注意:

    使用 -h 选项可以指定节点列表的顺序。 如果群集中的所有节点都是潜在的主节点,则不必使用 -h 选项。


  4. 检验是否已将您使用的所有网络资源都添加到了名称服务数据库中。

    在 Sun Cluster 的安装过程中应该已经执行了此项检验。


    注意:

    请确保所有网络资源都已存在于服务器和客户机的 /etc/inet/hosts 文件中,以免因查找名称服务而导致任何故障。


  5. 将网络资源添加到故障转移资源组中。


    # scrgadm -a -L -g resource-group -l logical-hostname [-n netiflist] 
    -l logical-hostname

    指定网络资源。 网络资源是客户机用于访问 Sun Cluster HA for Oracle 的逻辑主机名或共享地址(IP 地址)。

    [-n netiflist]

    指定一个可选的、用逗号分隔的列表,该列表标识各节点上的 IP 网络多路径处理 组。 netiflist 中的每个元素的格式必须为 netif@nodenetif 可被指定为 IP 网络多路径处理 组的名称,例如 sc_ipmp0。 节点可由节点名称或节点 ID 标识,例如 sc_ipmp0@1sc_ipmp@phys-schost-1


    注意:

    Sun Cluster 目前不支持将适配器名称用作 netif


  6. 向群集注册 SUNW.HAStoragePlus 资源类型。


    # scrgadm -a -t SUNW.HAStoragePlus
    

  7. 创建类型为 SUNW.HAStoragePlus 的资源 oracle-hastp-rs


    # scrgadm -a -j oracle-hastp-rs -g oracle-rg -t SUNW.HAStoragePlus \
     
    [如果数据库位于原始设备上,请指定全局设备路径。]
    -x GlobalDevicePaths=ora-set1,/dev/global/dsk/dl \
     
    [如果数据库位于群集文件服务上,请指定全局文件系统和本地文件系统装载点。]
    -x FilesystemMountPoints=/global/ora-inst,/global/ora-data/logs,/
    local/ora-data \
     
    [将 AffinityOn 设置为 TRUE。]
    -x AffinityOn=TRUE
    


    注意:

    必须将 AffinityOn 设置为 TRUE,并且本地文件系统必须位于全局磁盘组中,以便进行故障转移。


  8. 运行 scswitch 命令,以完成以下任务并使资源组 oracle-rg 在一个群集节点上实现联机。


    小心:小心:

    请确保仅以资源组级别进行切换。 以设备组级别进行切换会使资源组处于混乱状态,从而导致资源组进行故障转移。


    • 将资源组转入 MANAGED 状态。

    • 使资源组联机。

    此节点将成为设备组 ora-set1 和原始设备 /dev/global/dsk/d1 的主节点。 与 /global/ora-inst /global/ora-data/logs 等文件系统相关联的设备组也将成为此节点上的主设备组。


    # scswitch -Z -g oracle-rg
    
  9. 在故障转移资源组中创建 Oracle 应用程序资源。

    • Oracle 服务器资源:


      # scrgadm -a -j resource -g resource-group \
      -t SUNW.oracle_server \ 
      -x Connect_string=user/passwd \
      -x ORACLE_SID=instance \
      -x ORACLE_HOME=Oracle-home \
      -x Alert_log_file=path-to-log \
      -x Restart_type=entity-to-restart
      -y resource_dependencies=storageplus-resource
      
    • Oracle 侦听程序资源:


      # scrgadm -a -j resource -g resource-group \
      -t SUNW.oracle_listener \ 
      -x LISTENER_NAME=listener \
      -x ORACLE_HOME=Oracle-home
      -y resource_dependencies=storageplus-resource
      
    -j resource

    指定要添加的资源的名称。

    -g resource-group

    指定要放置资源的资源组的名称。

    -t SUNW.oracle_server/listener

    指定要添加的资源的类型。

    -x Alert_log_file =path-to-log

    $ORACLE_HOME 下设置服务器消息日志的路径。

    -x Connect_string =user/passwd

    指定故障监视器连接到数据库时所要使用的用户名和口令。 这些设置必须与您在如何设置 Oracle 数据库权限 中设置的权限相一致。 如果使用 Solaris 授权,请键入一个斜杠 (/),而不使用用户名和口令。

    -x ORACLE_SID =instance

    设置 Oracle 系统标识符。

    -x LISTENER_NAME =listener

    设置 Oracle 侦听程序实例的名称。 此名称必须与 listener.ora 中的对应项相匹配。

    -x ORACLE_HOME =Oracle-home

    将路径设置为 Oracle 起始目录。

    -x Restart_type= entity-to-restart

    指定对故障的响应是重新启动时,服务器故障监视器将重新启动的实体。 按以下方式设置 entity-to-restart

    • 要指定包含此资源的资源组中的所有资源都重新启动,请将 entity-to-restart 设置为 RESOURCE_GROUP_RESTART。 缺省情况下,包含此资源的资源组将重新启动。

      如果将 entity-to-restart 设置为 RESOURCE_GROUP_RESTART,资源组中的所有其他资源(例如 Apache 或 DNS)将重新启动,即使这些资源没有出错。 因此,请仅将在 Oracle 服务器资源重新启动时需要重新启动的资源包含在资源组中。

    • 要指定仅此资源重新启动,请将 entity-to-restart 设置为 RESOURCE_RESTART


    注意:

    您也可以设置属于 Oracle 数据服务的其他扩展特性,以覆盖其缺省值。 有关扩展特性的列表,请参见Sun Cluster HA for Oracle 扩展特性


  10. 启用资源和故障监视。


    # scswitch -Z -g resource-group
    
    -Z

    启用资源和监视器,使资源组转为 MANAGED 状态并使其联机。

    -g resource-group

    指定资源组的名称。

示例 — 注册 Sun Cluster HA for Oracle

下例说明了如何在双节点群集中注册 Sun Cluster HA for Oracle。


群集信息
节点名称:phys-schost-1、phys-schost-2
逻辑主机名:schost-1
资源组:resource-group-1(故障转移资源组)
Oracle 资源:oracle-server-1、oracle-listener-1
Oracle 实例:ora-lsnr (侦听程序)、ora-srvr(服务器)
 (添加故障转移资源组以包含所有资源。)# scrgadm -a -g resource-group-1
 (将逻辑主机名资源添加到资源组。)# scrgadm -a -L -g resource-group-1 -l schost-1 
 (注册 Oracle 资源类型。)# scrgadm -a -t SUNW.oracle_server
# scrgadm -a -t SUNW.oracle_listener
 
(将 Oracle 应用程序资源添加到资源组。)
# scrgadm -a -j oracle-server-1 -g resource-group-1 \
-t SUNW.oracle_server -x ORACLE_HOME=/global/oracle \
-x Alert_log_file=/global/oracle/message-log \
-x ORACLE_SID=ora-srvr -x Connect_string=scott/tiger
 
# scrgadm -a -j oracle-listener-1 -g resource-group-1 \
-t SUNW.oracle_listener -x ORACLE_HOME=/global/oracle \
-x LISTENER_NAME=ora-lsnr
 
(使资源组联机。)
# scswitch -Z -g resource-group-1

从此处可转到何处

注册和配置了 Sun Cluster HA for Oracle 之后,请转到检验 Sun Cluster HA for Oracle 的安装

检验 Sun Cluster HA for Oracle 的安装

请执行以下检验测试,以确保您已正确安装了 Sun Cluster HA for Oracle。

这些适宜的检验可确保运行 Sun Cluster HA for Oracle 的所有节点都可以启动 Oracle 实例,并且配置中的其他节点都可以访问 Oracle 实例。 请执行这些适宜的检验,以便启动 Sun Cluster HA for Oracle 的 Oracle 软件时不出现任何问题。

如何检验 Sun Cluster HA for Oracle 的安装

  1. oracle 身份登录当前控制 Oracle 资源组的节点。

  2. 设置环境变量 ORACLE_SIDORACLE_HOME

  3. 确认您可以从此节点启动 Oracle 实例。

  4. 确认您可以连接到 Oracle 实例。

    sqlplus 命令与在 connect_string 特性中定义的 user/password 变量一起使用。


    # sqlplususer/passwd@tns_service
    
  5. 关闭 Oracle 实例。

    Sun Cluster 软件将重新启动 Oracle 实例,因为 Oracle 实例在 Sun Cluster 控制下。

  6. 将包含 Oracle 数据库资源的资源组切换到另一个群集成员。

    以下示例说明了如何完成此步骤。


    # scswitch -z -g resource-group -h node 
    
  7. oracle 身份登录此时包含资源组的节点。

  8. 重复步骤 3步骤 4 以确认与 Oracle 实例交互。

Oracle 客户机

客户机必须始终通过使用网络资源而不是物理主机名来参考数据库。 网络资源是在故障转移期间可以在物理节点之间移动的 IP 地址。 物理主机名是计算机名称。

例如,在 tnsnames.ora 文件中,您必须将网络资源指定为正运行数据库实例的主机。 网络资源是逻辑主机名或共享地址。 请参见如何设置 Oracle 数据库权限


注意:

Oracle 客户机与服务器的连接在 Sun Cluster HA for Oracle 切换后将断开。 必须准备客户机应用程序以根据需要进行断开连接、重新连接或恢复。 事务监视器可能简化了应用程序。 此外,Sun Cluster HA for Oracle 节点的恢复时间取决于应用程序。


Sun Cluster HA for Oracle 日志文件的位置

Sun Cluster HA for Oracle 数据服务的每个实例在 /var/opt/SUNWscor 目录的子目录中维护日志文件。

这些文件包含有关 Sun Cluster HA for Oracle 数据服务执行的操作的信息。 要获得有关配置疑难解答的诊断信息,或者监视 Sun Cluster HA for Oracle 数据服务的性能,请参阅这些文件。

了解 Sun Cluster HA for Oracle 故障监视器

Sun Cluster HA for Oracle 的两个故障监视器分别是服务器监视器和侦听程序监视器。

Oracle 服务器故障监视器

用于 Oracle 服务器的故障监视器使用对服务器的请求来查询服务器的健康状况。

服务器故障监视器通过 pmfadm 启动,以使监视器具有高可用性。 如果监视器由于任何原因而终止,进程监视器工具 (PMF) 将自动重新启动该监视器。

服务器故障监视器进程

服务器故障监视器包括以下进程。

主故障监视器的操作

如果数据库处于联机状态,并且在事务处理过程中没有返回错误,则主故障监视器确定操作是成功的。

数据库客户机故障探测的操作

数据库客户机故障探测将查询动态性能视图 v$sysstat 以获得数据库性能统计信息。 这些统计信息发生变化表示数据库运行正常。 如果这些统计信息在连续查询之间保持不变,故障探测将执行数据库事务以确定数据库是否运行正常。 这些事务包括在用户表空间中对表的创建、更新和拖放。

数据库客户机故障探测以 Oracle 用户身份执行其所有事务。 此用户的 ID 在准备节点的过程中进行指定,如如何准备节点 中所述。

探测使用在资源特性 Probe_timeout 中设置的超时值,来确定用于成功探测 Oracle 所分配的时间。

服务器故障监视器响应数据库事务失败所执行的操作

如果数据库事务失败,服务器故障监视器将执行一项由导致失败的错误所确定的操作。 要更改服务器故障监视器执行的操作,请按定制 Sun Cluster HA for Oracle 服务器故障监视器 中的说明定制服务器故障监视器。

如果操作需要运行外部程序,该程序将作为单独的进程在后台运行。

可能的操作如下所示:

由服务器故障监视器扫描日志警报

Oracle 软件在警报日志文件中记录警报。 此文件的绝对路径由 SUNW.oracle_server 资源的 alert_log_file 扩展特性所指定。 服务器故障监视器于以下时间在警报日志文件中扫描新的警报:

如果为服务器故障监视器检测到的日志警报定义一个操作,服务器故障监视器将执行响应警报的操作。

日志警报的预设操作在表 A–2 中列出。 要更改服务器故障监视器执行的操作,请按定制 Sun Cluster HA for Oracle 服务器故障监视器 中的说明定制服务器故障监视器。

Oracle 侦听程序故障监视器

Oracle 侦听程序故障监视器将检查 Oracle 侦听程序的状态。

如果正在运行侦听程序,Oracle 侦听程序故障监视器将认为探测成功。 如果故障监视器检测到一个错误,侦听程序将重新启动。

侦听程序探测通过 pmfadm 启动,以使探测具有高可用性。 如果探测被终止,PMF 将自动重新启动探测。

如果在探测过程中侦听程序出现问题,探测将尝试重新启动侦听程序。 在资源特性 Retry_count 中设置的值确定了探测尝试重新启动的最大次数。 如果在尝试了最大次数后,探测仍不成功,探测将停止故障监视器,并且不切换资源组。

定制 Sun Cluster HA for Oracle 服务器故障监视器

定制 Sun Cluster HA for Oracle 服务器故障监视器使您可以按以下方式修改服务器故障监视器的性能:


小心:小心:

定制 Sun Cluster HA for Oracle 服务器故障监视器之前,请考虑定制的影响,特别是当您将操作从重新启动或切换更改到忽略或停止监视的时候。 如果长期没有更正错误,错误可能会导致数据库出现问题。 如果在定制 Sun Cluster HA for Oracle 服务器故障监视器之后遇到有关数据库的问题,请恢复为使用预设操作。 恢复为预设操作使您可以确定问题是否由定制引起。


定制 Sun Cluster HA for Oracle 服务器故障监视器包括以下活动:

  1. 为错误定义定制性能

  2. 将定制操作文件传播到群集中的所有节点

  3. 指定服务器故障监视器要使用的定制操作文件

为错误定义定制性能

Sun Cluster HA for Oracle 服务器故障监视器可以检测以下类型的错误:

要为这些类型的错误定义定制性能,请创建一个定制操作文件。

定制操作文件格式

定制操作文件是纯文本文件。 该文件包含用于定义 Sun Cluster HA for Oracle 服务器故障监视器的定制性能的一个或多个项。 每个项为一个 DBMS 错误、一个超时错误或几个日志警报定义定制性能。 在定制操作文件中最多允许有 1024 个项。


注意:

定制操作文件中的每个项可以覆盖用于错误的预设操作,也可以为没有预设操作的错误指定一个操作。 在定制操作文件中创建项适用于以下情况:要覆盖预设操作或错误没有预设操作。 对于未更改的操作,请为其创建项。


定制操作文件中的项由一系列用分号隔开的关键字值对组成。 每个项用花括号括住。

定制操作文件中项的格式如下:

{
[ERROR_TYPE=DBMS_ERROR|SCAN_LOG|TIMEOUT_ERROR;]
ERROR=error-spec; 
[ACTION=SWITCH|RESTART|STOP|NONE;]
[CONNECTION_STATE=co|di|on|*;]
[NEW_STATE=co|di|on|*;]
[MESSAGE="message-string"]
}

在分隔的关键字值对之间和项之间可能会使用空格,以设置文件的格式。

定制操作文件中关键字的含义和允许的值如下:

ERROR_TYPE

表示服务器故障监视器已检测到的错误的类型。 此关键字的允许值包括:

DBMS_ERROR

指定错误是 DBMS 错误。

SCAN_LOG

指定错误是记录在警报日志文件中的警报。

TIMEOUT_ERROR

指定错误是超时。

ERROR_TYPE 关键字是可选的。 如果忽略此关键字,错误将被假定为 DBMS 错误。

ERROR

标识错误。 error-spec 的数据类型和含义由 ERROR_TYPE 关键字的值确定,如下表所示。

ERROR_TYPE

数据类型 

含义 

DBMS_ERROR

整数 

由 Oracle 生成的 DBMS 错误的错误编号 

SCAN_LOG

被引用的正规表达式 

Oracle 已记录到 Oracle 警报日志文件中的错误消息中的字符串 

TIMEOUT_ERROR

整数 

自上次启动或重新启动服务器故障监视器以来,连续超时探测的次数 

您必须指定 ERROR 关键字。 如果忽略此关键字,定制操作文件中的项将被忽略。

ACTION

指定服务器故障监视器响应错误要执行的操作。 此关键字的允许值包括:

NONE

指定服务器故障监视器忽略错误。

STOP

指定服务器故障监视器停止。

RESTART

指定服务器故障监视器停止,并重新启动由 SUNW.oracle_server 资源的 Restart_type 扩展特性的值指定的实体。

SWITCH

指定服务器故障监视器将数据库服务器资源组切换到另一个节点。

ACTION 关键字是可选的。 如果忽略此关键字,服务器故障监视器将忽略错误。

CONNECTION_STATE

指定在检测到错误时数据库和服务器故障监视器之间的连接所需的状态。 仅当检测到错误时连接处于所需的状态,才应用此项。 此关键字的允许值包括:

*

指定始终应用此项,无论连接的状态如何。

co

指定仅当服务器故障监视器尝试连接到数据库时才应用此项。

on

指定仅当服务器故障监视器处于联机状态时才应用此项。 如果服务器故障监视器连接到数据库,它就处于联机状态。

di

指定仅当服务器故障监视器与数据库断开连接时才应用此项。

CONNECTION_STATE 关键字是可选的。 如果忽略此关键字,将始终应用此项,无论连接的状态如何。

NEW_STATE

指定在检测到错误后服务器故障监视器必须获得的数据库与服务器故障监视器的连接的状态。 此关键字的允许值包括:

*

指定连接的状态必须保留不变。

co

指定服务器故障监视器必须从数据库断开连接,并立即重新连接到数据库。

di

指定服务器故障监视器必须从数据库断开连接。 服务器故障监视器下次探测数据库时将重新连接到数据库。

NEW_STATE 关键字是可选的。 如果忽略此关键字,在检测到错误后,数据库连接的状态将保持不变。

MESSAGE

指定在检测到此错误时,资源的日志文件中显示的附加消息。 消息必须用双引号括住。 对于为错误定义的标准消息来说,此消息是附加的。

MESSAGE 关键字是可选的。 如果忽略此关键字,在检测到此错误时,资源的日志文件中不会显示附加消息。

更改对 DBMS 错误的响应

服务器故障监视器响应每个 DBMS 错误而执行的操作已被预设,如表 A–1 中所示。 要确定您是否需要更改对 DBMS 错误的响应,请考虑 DBMS 错误对数据库的影响以确定预设的操作是否适当。 例如,请参见以下各小节。

要更改对 DBMS 错误的响应,请在定制操作文件中创建一个项,其中的关键字设置如下:

对有主要影响的错误的响应

如果服务器故障监视器忽略的错误影响了多个会话,服务器故障监视器可能需要采取操作以防止服务丢失。

例如,没有为 Oracle 错误 4031 预设的操作: 无法分配 num-bytes 字节的共享内存预设任何操作。 但是,此 Oracle 错误表示共享全局区 (SGA) 内存不足、被错误拆分或二者兼有。 如果此错误仅影响一个会话,忽略错误可能是适当的操作。 但是,如果此错误影响多个会话,应考虑指定服务器故障监视器重新启动数据库。

下例显示了定制操作文件中的一个项,用于将对 DBMS 错误的响应更改为重新启动。


实例 1–1 将对 DBMS 错误的响应更改为重新启动

{
ERROR_TYPE=DBMS_ERROR;
ERROR=4031; 
ACTION=restart;
CONNECTION_STATE=*; 
NEW_STATE=*;
MESSAGE="Insufficient memory in shared pool.";
}

此示例显示了定制操作文件中的一个项,它用于覆盖 DBMS 错误 4031 的预设操作。此项可以指定以下行为:


忽略影响小的错误

如果服务器故障监视器响应的错误的影响很小,则忽略错误可能比响应错误的破坏性要小。

例如,Oracle 错误 4030 的预设操作: 尝试分配 num-bytes 字节时处理器内存不足的预设操作是重新启动。 此 Oracle 错误表示服务器故障监视器不能分配专用堆内存。 此错误的一个可能的原因是操作系统可用内存不足。 如果此错误影响多个会话,重新启动数据库可能是适当的操作。 但是,此错误可能不影响其他会话,因为这些会话不需要其他专用内存。 在这种情况下,应考虑指定服务器故障监视器忽略错误。

下例显示了定制操作文件中的一个项,用于忽略 DBMS 错误。


实例 1–2 忽略 DBMS 错误

{
ERROR_TYPE=DBMS_ERROR;
ERROR=4030;
ACTION=none;
CONNECTION_STATE=*;
NEW_STATE=*;
MESSAGE="";
}

此示例显示了定制操作文件中的一个项,它用于覆盖 DBMS 错误 4030 的预设操作。此项可以指定以下行为:


更改对日志警报的响应

Oracle 软件在由 Alert_log_file 扩展特性标识的文件中记录警报。 服务器故障监视器将扫描此文件并执行响应警报(已为其定义了操作)的操作。

预设了操作的日志警报在表 A–2 中列出。 更改对日志警报的响应,以更改预设操作或定义服务器故障监视器响应的新警报。

要更改对日志警报的响应,请在定制操作文件中创建一个项,其中的关键字设置如下:

服务器故障监视器按项的发生顺序处理定制操作文件中的项。 仅处理与日志警报相匹配的第一个项。 以后匹配的项都被忽略。 如果您要使用正规表达式为若干个日志警报指定操作,请确保在多个常规项之前存在多个特定项。 在常规项之后发生的特定项可能被忽略。

例如,定制操作文件可能为由正规表达式 ORA-65ORA-6 标识的错误定义不同的操作。 要确保包含正规表达式 ORA-65 的项不被忽略,请确保在包含正规表达式 ORA-6 的项之前发生此项。

下例显示了定制操作文件中的一个项,用于更改对日志警报的响应。


实例 1–3 更改对日志警报的响应

{
ERROR_TYPE=SCAN_LOG;
ERROR="ORA-00600: internal error";
ACTION=RESTART;
}

此例显示了定制操作文件中的一个项,用于覆盖有关内部错误的日志警报的预设操作。 此项指定以下行为:


更改连续超时探测的最大数目

缺省情况下,服务器故障监视器在第二次连续超时探测后重新启动数据库。 如果数据库负载较小,两个连续超时探测应足以说明数据库正在挂起。 但是在负载繁重期间,服务器故障监视器探测可能会超时,即使数据库运行正常。 为防止服务器故障监视器不必要地重新启动数据库,请增加连续超时探测的最大数目。


小心:小心:

增加连续超时探测的最大数目,将增加用于检测数据库正在挂起所需的时间。


要更改允许的连续超时探测的最大数目,请在定制操作文件中为每个允许的连续超时探测(第一个超时探测除外)创建一个项。


注意:

您无需为第一个超时探测创建项。 服务器故障监视器响应第一个超时探测而执行的操作已被预设。


对于上一个允许的超时探测,请创建一个项,其中的关键字设置如下:

对于其余的每个连续超时探测(第一个超时探测除外),请创建一个项,其中关键字设置如下:


提示:

为便于调试,请指定一个表示超时探测的序列号的消息。


下例显示了定制操作文件中的项,用于将连续超时探测的最大数目增加到五。


实例 1–4 更改连续超时探测的最大数目

{
ERROR_TYPE=TIMEOUT;
ERROR=2;
ACTION=NONE;
CONNECTION_STATE=*;
NEW_STATE=*;
MESSAGE="Timeout #2 has occurred.";
}

{
ERROR_TYPE=TIMEOUT;
ERROR=3;
ACTION=NONE;
CONNECTION_STATE=*;
NEW_STATE=*;
MESSAGE="Timeout #3 has occurred.";
}

{
ERROR_TYPE=TIMEOUT;
ERROR=4;
ACTION=NONE;
CONNECTION_STATE=*;
NEW_STATE=*;
MESSAGE="Timeout #4 has occurred.";
}

{
ERROR_TYPE=TIMEOUT;
ERROR=5;
ACTION=RESTART;
CONNECTION_STATE=*;
NEW_STATE=*;
MESSAGE="Timeout #5 has occurred. Restarting.";
}

此例显示了定制操作文件中的项,用于将连续超时探测的最大数目增加到五。 这些项指定以下行为:


将定制操作文件传播到群集中的所有节点

服务器故障监视器在所有群集节点上的行为必须一致。 因此,服务器故障监视器使用的定制操作文件对于所有群集节点必须相同。 创建或修改了定制操作文件后,通过将文件传播到所有群集节点可确保此文件对于所有群集节点都相同。 要将此文件传播到所有群集节点,请使用最适合您的群集配置的方法:

指定服务器故障监视器要使用的定制操作文件

要将定制操作应用到服务器故障监视器,您必须指定故障监视器要使用的定制操作文件。 当服务器故障监视器读取定制操作文件时,定制操作即被应用到服务器故障监视器。 当您指定定制操作文件时,服务器故障监视器将读取该文件。

指定定制操作文件还将验证该文件。 如果该文件包含语法错误,将显示一则错误消息。 因此,在修改了定制操作文件后,请再次指定该文件以验证文件。


小心:小心:

如果在已修改的定制操作文件中检测到语法错误,请更正错误,然后再重新启动故障监视器。 如果在重新启动故障监视器时仍未更正语法错误,故障监视器将读取错误的文件,从而忽略在第一个语法错误之后发生的项。


如何指定服务器故障监视器要使用的定制操作文件

  1. 在某个群集节点上成为超级用户。

  2. 设置 SUNW.oracle_server 资源的 Custom_action_file 扩展特性。

    将此特性设置为定制操作文件的绝对路径。


    # scrgadm -c -j server-resource\
      -x custom_action_file=filepath
    
    -j server-resource

    指定 SUNW.oracle_server 资源

    -x custom_action_file= filepath

    指定定制操作文件的绝对路径

升级 Sun Cluster HA for Oracle 资源类型

Sun Cluster HA for Oracle 数据服务的资源类型如下所示:

如果适用下列所有条件,请升级这些资源类型:

有关如何升级资源类型的一般说明,请参见用于 Solaris OS 的 Sun Cluster 数据服务规划和管理指南》中的“升级资源类型”

升级 SUNW.oracle_listener 资源类型

在以下各小节中提供了完成升级 SUNW.oracle_listener 资源类型所需的信息。

注册新资源类型版本的信息

SUNW.oracle_listener 资源类型版本和 Sun Cluster 数据服务发行版之间的关系如下表所示。 Sun Cluster 数据服务的发行版表示新增了资源类型版本的发行版。

SUNW.oracle_listener 资源类型版本

Sun Cluster 数据服务发行版  

1.0 

3.1 

3.1 5/03 

3.1 4/04 

要确定被注册的资源类型的版本,请使用下表中的命令之一:

此资源类型的资源类型注册 (RTR) 文件为 /opt/SUNWscor/oracle_listener/etc/SUNW.oracle_listener

迁移资源类型现有实例的信息

编辑 SUNW.oracle_listener 资源类型的每个实例所需的信息如下所示:

以下示例显示了用于编辑 SUNW.oracle_listener 资源类型实例的命令。


实例 1–5 编辑 SUNW.oracle_listener 资源类型的实例


# scrgadm -cj oracle-lrs -y Type_version=4 \
  -x probe_timeout=60

此命令编辑 SUNW.oracle_listener 资源,如下所示:


升级 SUNW.oracle_server 资源类型

在以下各小节中提供了完成升级 SUNW.oracle_server 资源类型所需的信息。

注册新资源类型版本的信息

SUNW.oracle_server 资源类型版本和 Sun Cluster 数据服务发行版之间的关系如下表所示。 Sun Cluster 数据服务的发行版表示新增了资源类型版本的发行版。

SUNW.oracle_server 资源类型版本

Sun Cluster 数据服务发行版  

1.0 

3.1 

3.1 5/03 

3.1 10/03 

要确定被注册的资源类型的版本,请使用下表中的命令之一:

此资源类型的资源类型注册 (RTR) 文件为 /opt/SUNWscor/oracle_server/etc/SUNW.oracle_server

迁移资源类型现有实例的信息

编辑 SUNW.oracle_server 资源类型的每个实例所需的信息如下所示:

以下示例显示了用于编辑 SUNW.oracle_server 资源类型实例的命令。


实例 1–6 编辑 SUNW.oracle_server 资源类型的实例


# scrgadm -cj oracle-srs -y Type_version=4 \
  -x custom_action_file=/opt/SUNWscor/oracle_server/etc/srv_mon_cust_actions

此命令编辑 SUNW.oracle_server 资源,如下所示: