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

如何在 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
    

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