Skip to main content
SnapManager for SAP
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

创建克隆规范

贡献者

SnapManager for SAP使用克隆规范XML文件、其中包括要在克隆操作中使用的映射、选项和参数。SnapManager 使用此信息确定克隆的文件的放置位置以及如何处理诊断信息,控制文件,参数等。

关于此任务

您可以使用 SnapManager 图形用户界面( GUI ),命令行界面( CLI )或文本编辑器创建克隆规范文件。

使用文本编辑器创建克隆规范文件时、必须将其另存为`.xml`文件。您可以将此 XML 文件用于其他克隆操作。

您还可以创建克隆规范模板,然后对其进行自定义。您可以使用`smsap clone template`命令、也可以在GUI中使用克隆向导。

SnapManager for SAP会向其生成的任何克隆规范模板添加版本字符串。对于缺少版本字符串的任何克隆规范文件、SnapManager for SAP将采用最新版本。

如果要执行远程克隆,请勿更改克隆规范文件中数据文件,重做日志文件和控制文件的默认位置。如果更改默认位置, SnapManager 将无法在不支持 Snapshot 功能的数据库上创建克隆或创建克隆。因此,自动创建配置文件失败。

备注 虽然挂载点和 ASM 磁盘组信息可从图形用户界面编辑,但您只能更改文件名,而不能更改文件位置。

您可以使用相同或不同的参数和值组合多次执行任务。

SAP使用特定的Oracle设置进行数据库配置。您可以在位于`$ORACLE_HOME\database`的`init<sid>.ora`中找到这些设置。您应在克隆规范中包括这些内容。

步骤
  1. 打开一个文本文件并输入文本,如以下示例所示:

    • 示例 *

    <clone-specification xmlns="http://www.example.com>
         <storage-specification/>
         <database-specification/>
     </clone-specification>
  2. 在存储规范组件中,输入数据文件的挂载点。

    存储规范列出了为克隆创建的新存储的位置,例如数据文件挂载点和原始设备。这些项必须从源映射到目标。

    以下示例显示了NFS连接的存储上的一个NFS挂载点:

    • 示例 *

    <mountpoint>
          <source>\oracle\<SOURCE SID>_sapdata</source>
          <destination>\oracle\<TARGET SID>_sapdata</destination>
    </mountpoint>
  3. 在数据库规范组件中,将控制文件信息标识为要为克隆创建的控制文件列表。

    数据库规范用于指定克隆的数据库选项,例如控制文件,重做日志,归档日志和 Oracle 参数。

    以下示例显示了克隆规范中使用的控制文件语法:

    • 示例 *

    <controlfiles>
         <file>\oracle\<TARGET SID>\origlogA\cntrl\cntrl<TARGET SID>.dbf</file>
         <file>\oracle\<TARGET SID>\origlogB\cntrl\cntrl<TARGET SID>.dbf</file>
         <file>\oracle\<TARGET SID>\sapdata1\cntrl\cntrl<TARGET SID>.dbf</file>
    </controlfiles>
  4. 指定克隆的重做日志结构。

    以下示例显示了用于克隆的重做日志目录结构:

    • 示例 *

    <redologs>
         <redogroup>
            <file>E:\oracle\<TARGET SID>\origlogA\log_g11m1.dbf</file>
            <file>E:\oracle\<TARGET SID>\mirrlogA\log_g11m2.dbf</file>
            <number>1</number>
            <size unit="M">100</size>
         </redogroup>
         <redogroup>
            <file>E:\oracle\<TARGET SID>\origlogB\log_g12m1.dbf</file>
            <file>E:\oracle\<TARGET SID>\mirrlogB\log_g12m2.dbf</file>
            <number>2</number>
            <size unit="M">100</size>
         </redogroup>
         <redogroup>
            <file>E:\oracle\<TARGET SID>\origlogA\log_g13m1.dbf</file>
            <file>E:\oracle\<TARGET SID>\mirrlogA\log_g13m2.dbf</file>
            <number>3</number>
            <size unit="M">100</size>
         </redogroup>
         <redogroup>
            <file>E:\oracle\<TARGET SID>\origlogB\log_g14m1.dbf</file>
            <file>E:\oracle\<TARGET SID>\mirrlogB\log_g14m2.dbf</file>
            <number>4</number>
            <size unit="M">100</size>
         </redogroup>
    </redologs>
  5. 指定应在克隆的数据库中设置为不同值的 Oracle 参数。如果使用的是 Oracle 10 ,则必须指定以下参数:

    • 后台转储

    • 核心转储

    • 用户转储

    • *可选:*归档日志

      备注 如果参数值设置不正确,则克隆操作将停止,您将收到错误消息。

如果未指定归档日志的存储位置、SnapManager 将在`nodarchivelog`模式下创建克隆。SnapManager 会将此参数信息复制到克隆的`init.ora`文件中。

以下示例显示了克隆规范中使用的参数语法:

  • 示例 *

<parameters>
     <parameter>
          <name>log_archive_dest</name>
          <value>LOCATION=>E:\oracle\<TARGET SID>\oraarch</value>
     </parameter>
     <parameter>
          <name>background_dump_dest</name>
          <value>E:\oracle\<TARGET SID>\saptrace\background</value>
     </parameter>
     <parameter>
          <name>core_dump_dest</name>
          <value>E:\oracle\<TARGET SID>\saptrace\background</value>
     </parameter>
     <parameter>
     <name>user_dump_dest</name>
     <value>E:\oracle\<TARGET SID>\saptrace\usertrace</value>
     </parameter>
</parameters>

您可以通过在参数元素中使用默认元素来使用默认值。在以下示例中、`OS_authentication_prefix`参数将采用默认值、因为指定了默认元素:

  • 示例 *

<parameters>
     <parameter>
          <name>os_authent_prefix</name>
          <default></default>
     </parameter>
</parameters>

您可以使用空元素将空字符串指定为参数的值。在以下示例中、`OS_authentication_prefix`将设置为空字符串:

  • 示例 *

<parameters>
     <parameter>
          <name>os_authent_prefix</name>
          <value></value>
     </parameter>
</parameters>
备注

您可以通过不指定任何元素来使用源数据库的`init.ora`文件中的值作为参数。

  • 示例 *

如果参数具有多个值、则可以提供以逗号分隔的参数值。例如、如果要将数据文件从一个位置移动到另一个位置、则可以使用`db_file_name_convert`参数并指定以逗号分隔的数据文件路径、如以下示例所示:

  • 示例 *

如果要将日志文件从一个位置移动到另一个位置、则可以使用`log_file_name_convert`参数并指定以逗号分隔的日志文件路径、如以下示例所示:

  1. 可选:指定要在克隆联机时对其执行的任意 SQL 语句。

您可以使用SQL语句执行诸如在克隆的数据库中重新创建`temp files`之类的任务。

备注

您必须确保 SQL 语句末尾不包含分号。

以下是在克隆操作中执行的示例 SQL 语句:

<sql-statements>
   <sql-statement>
     ALTER TABLESPACE TEMP ADD
     TEMPFILE 'E:\path\clonename\temp_user01.dbf'
     SIZE 41943040 REUSE AUTOEXTEND ON NEXT 655360
     MAXSIZE 32767M
   </sql-statement>
</sql-statements>

克隆规范示例

以下示例显示了 Windows 环境的克隆规范结构,其中包括存储和数据库规范组件:

<clone-specification xmlns="http://www.example.com>

<storage-specification>
    <storage-mapping>
        <mountpoint>
            <source>D:\oracle\<SOURCE SID>_sapdata</source>
            <destination>D:\oracle\<TARGET SID>_sapdata</destination>
        </mountpoint>
    </storage-mapping>
</storage-specification>

<database-specification>
    <controlfiles>
        <file>D:\oracle\<TARGET SID>\origlogA\cntrl\cntrl<TARGET SID>.dbf</file>
        <file>D:\oracle\<TARGET SID>\origlogB\cntrl\cntrl<TARGET SID>.dbf</file>
        <file>D:\oracle\<TARGET SID>\sapdata1\cntrl\cntrl<TARGET SID>.dbf</file>
     </controlfiles>

     <redologs>
        <redogroup>
            <file>D:\oracle\<TARGET SID>\origlogA\log_g11m1.dbf</file>
            <file>D:\oracle\<TARGET SID>\mirrlogA\log_g11m2.dbf</file>
            <number>1</number>
            <size unit="M">100</size>
        </redogroup>
        <redogroup>
            <file>D:\oracle\<TARGET SID>\origlogB\log_g12m1.dbf</file>
            <file>D:\oracle\<TARGET SID>\mirrlogB\log_g12m2.dbf</file>
            <number>2</number>
            <size unit="M">100</size>
        </redogroup>
        <redogroup>
            <file>D:\oracle\<TARGET SID>\origlogA\log_g13m1.dbf</file>
            <file>D:\oracle\<TARGET SID>\mirrlogA\log_g13m2.dbf</file>
            <number>3</number>
            <size unit="M">100</size>
        </redogroup>
        <redogroup>
            <file>D:\oracle\<TARGET SID>\origlogB\log_g14m1.dbf</file>
            <file>D:\oracle\<TARGET SID>\mirrlogB\log_g14m2.dbf</file>
            <number>4</number>
            <size unit="M">100</size>
       </redogroup>
    </redologs>

    <parameters>
        <parameter>
            <name>log_archive_dest</name>
            <value>LOCATION=>D:\oracle\<TARGET SID>\oraarch</value>
        </parameter>
        <parameter>
            <name>background_dump_dest</name>
            <value>D:\oracle\<TARGET SID>\saptrace\background</value>
        </parameter>
        <parameter>
            <name>core_dump_dest</name>
            <value>D:\oracle\<TARGET SID>\saptrace\background</value>
        </parameter>
        <parameter>
            <name>user_dump_dest</name>
            <value>D:\oracle\<TARGET SID>\saptrace\usertrace</value>
        </parameter>
    </parameters>
  </database-specification>
</clone-specification>