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

在 Solaris Volume Manager for Sun Cluster 中为 Oracle Real Application Clusters 数据库创建多拥有者磁盘集


注意 –

仅当您使用 Solaris Volume Manager for Sun Cluster 时才执行此任务。


如果您使用 Solaris Volume Manager for Sun Cluster,则 Solaris Volume Manager 需要多拥有者磁盘集,以便供 Oracle Real Application Clusters 数据库使用。有关 Solaris Volume Manager for Sun Cluster 多拥有者磁盘集的信息,请参见Solaris Volume Manager Administration Guide》中的 “Disk Set Concepts for Solaris Volume Manager for Sun Cluster”

开始之前

在 Solaris Volume Manager for Sun Cluster 中为 Oracle Real Application Clusters 数据库创建多拥有者磁盘集之前,请注意以下几点:

如何在 Solaris Volume Manager for Sun Cluster 中为 Oracle Real Application Clusters 数据库创建多拥有者磁盘集

  1. 创建多拥有者磁盘集。

    为达到此目的,请使用 metaset(1M) 命令。


    # metaset -s setname -M -a -h nodelist
    
    -s setname

    指定要创建的磁盘集的名称。

    -M

    指定要创建的磁盘集为多拥有者磁盘集。

    -a

    指定 -h 选项所指定的节点将被添加到磁盘集中。

    -h nodelist

    指定将被添加到磁盘集的节点(以空格分隔)列表。此列表中的每个节点上都必须安装 Sun Cluster Support for Oracle Real Application Clusters 软件包。

  2. 将全局设备添加到您在步骤 1 中创建的磁盘集中。


    # metaset -s setname -a devicelist
    
    -s setname

    指定您要修改在步骤 1 中创建的磁盘集。

    -a

    指定 devicelist 所指定的设备将被添加到磁盘集中。

    devicelist

    指定要添加到磁盘集中的全局设备的完整设备 ID 路径名(以空格分隔)列表。为了能够从群集中的任何节点一致地访问每个设备,请确保每个设备 ID 路径名均为 /dev/did/dsk/d N 形式,其中 N 为设备编号。

  3. 为在步骤 1 中创建的磁盘集创建 Oracle Real Application Clusters 数据库将使用的卷。


    注意 –

    如果要为 Oracle 数据文件创建多个卷,您可以通过使用软分区来简化此步骤。有关更多信息,请参见Solaris Volume Manager Administration Guide》中的 “Soft Partitions (Overview)”Solaris Volume Manager Administration Guide》中的 “Soft Partitions (Tasks)”


    通过并置在步骤 2 中添加的全局设备上的片来创建每个卷。为达到此目的,请使用 metainit(1M) 命令。


    # metainit -s setnamevolume-abbrev numstripeswidth slicelist
    
    -s setname

    指定您要为在步骤 1 中创建的磁盘集创建卷。

    volume-abbrev

    指定您要创建的卷的缩写名称。缩写卷名称的形式为 d V,其中 V 为卷编号。

    numstripes

    指定卷中的存储条的数目。

    width

    指定每个存储条中的片的数目。如果将 width 设置为大于 1,则各片将按存储条进行分组。

    slicelist

    指定卷所含各片(以空格分隔)的列表。每个片均必须位于在步骤 2 中添加的全局设备上。

  4. 检验是否已将每个节点正确添加到多拥有者磁盘集中。

    为达到此目的,请使用 metastat(1M) 命令。


    # metastat -s setname
    
    -s setname

    指定您要检验在步骤 1 中创建的磁盘集。

    此命令显示一个表,其中包含已正确添加到磁盘集中的每个节点的以下信息:

    • Host 列包含节点名称。

    • Owner 列包含文本 multi-owner

    • Member 列包含文本 Yes

  5. 检验是否已正确配置多拥有者磁盘集。


    # scconf -pvv | grep setname
    
    setname

    指定仅显示在步骤 1 中创建的磁盘集的配置信息。

    此命令显示磁盘集的设备组信息。对于多拥有者磁盘集,设备组类型为 Multi-owner_SVM

  6. 检验多拥有者磁盘集的联机状态。


    # scstat -D
    

    此命令显示多拥有者磁盘集中处于联机状态的节点的节点名称。

  7. 在可以拥有磁盘集的每个节点上,更改在步骤 3 中创建的每个卷的拥有权,如下所示:

    • 拥有者:oracle

    • 组:dba

    请确保仅更改 Oracle Real Application Clusters 数据库将使用的卷的拥有权。


    # chown oracle:dba volume-list
    
    volume-list

    指定为磁盘集所创建卷的逻辑名称(以空格分隔)列表。这些名称的形式取决于卷所在的设备的类型,如下所示:

    • 对于块设备:/dev/md/ setname/dsk/dV

    • 对于原始设备:/dev/md/ setname/rdsk/dV

    这些名称中的可替换项如下:

    setname

    指定您在步骤 1 中创建的多拥有者磁盘集的名称。

    V

    指定您在步骤 3 中创建的卷的卷编号。

    请确保此列表指定了在步骤 3 中创建的每个卷。

  8. 在可以拥有磁盘集的每个节点上,授予 oracle 用户对已在步骤 7 中更改其拥有权的每个卷的读取访问权限和写入访问权限。

    请确保仅更改 Oracle Real Application Clusters 数据库将使用的卷的访问权限。


    # chmod u+rw volume-list
    
    volume-list

    指定要授予 oracle 用户读取访问权限和写入访问权限的卷的逻辑名称(以空格分隔)列表。请确保此列表包含在步骤 7 中所指定的卷。


实例 1–3 在 Solaris Volume Manager for Sun Cluster 中创建多拥有者磁盘集

本例显示了在 Solaris Volume Manager for Sun Cluster 中创建多拥有者磁盘集所需的一系列操作。本例假定卷位于原始设备上。

  1. 要创建多拥有者磁盘集,请运行以下命令:


    # metaset -s racdbset -M -a -h rachost1 rachost2 rachost3 rachost4
    

    该多拥有者磁盘集名为 racdbset。节点 rachost1rachost2rachost3rachost4 被添加到该磁盘集中。

  2. 要将全局设备 /dev/did/dsk/d0 添加到磁盘集中,请运行以下命令:


    # metaset -s racdbset -a /dev/did/dsk/d0
    
  3. 要为磁盘集创建卷,请运行以下命令:


    # metainit -s racdbset d0 1 1 /dev/did/dsk/d0s0
    

    卷名为 d0。此卷是通过片 /dev/did/dsk/d0s0 的一对一并置创建的。片按存储条进行分组。

  4. 要检验是否已将每个节点正确添加到多拥有者磁盘集中,请运行以下命令:


    # metastat -s racdbset
    Multi-owner Set name = racdbset, Set number = 1, Master = rachost2
    
    Host                Owner          Member
       rachost1           multi-owner   Yes
       rachost2           multi-owner   Yes
       rachost3           multi-owner   Yes
       rachost4           multi-owner   Yes
    
    Drive Dbase
    
    d6    Yes
    
    d10   Yes
  5. 要检验是否已正确配置多拥有者磁盘集,请运行以下命令:


    # scconf -pvv | grep racdbset
    Device group name:                                 racdbset
       (racdbset) Device group type:                       Multi-owner_SVM
       (racdbset) Device group failback enabled:           no
       (racdbset) Device group node list:       rachost1, rachost2, rachost3, rachost4
       (racdbset) Device group ordered node list:          no
       (racdbset) Device group desired number of secondaries: 0
       (racdbset) Device group diskset name:               racdbset
  6. 要检验多拥有者磁盘集的联机状态,请运行以下命令:


    # scstat -D
    
    -- Device Group Servers --
    
                              Device Group        Primary             Secondary
                              ------------        -------             ---------
    
    
    -- Device Group Status --
    
                                   Device Group        Status
                                   ------------        ------
    
    
    -- Multi-owner Device Groups --
    
                                   Device Group        Online Status
                                   ------------        -------------
       Multi-owner device group:   racdbset            rachost1,rachost2,rachost3,rachost4
  7. 要将磁盘集中的卷的拥有权更改为组 dba 中的拥有者 oracle,请运行以下命令:


    # chown oracle:dba /dev/md/racdbset/rdsk/d0
    

    应在可以拥有磁盘集的每个节点上运行此命令。

  8. 要授予 oracle 用户对磁盘集中的卷的读取访问权限,请运行以下命令:


    # chmod u+rw /dev/md/racdbset/rdsk/d0
    

    此命令在可以拥有磁盘集的每个节点上运行。


从此处可转到何处

为 Oracle Real Application Clusters 数据库创建多拥有者磁盘集之后,请转至注册和配置 RAC 框架资源组以注册和配置 Sun Cluster Support for Oracle Real Application Clusters。