创建克隆规范
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`中找到这些设置。您应在克隆规范中包括这些内容。
-
打开一个文本文件并输入文本,如以下示例所示:
-
示例 *
<clone-specification xmlns="http://www.example.com> <storage-specification/> <database-specification/> </clone-specification>
-
-
在存储规范组件中,输入数据文件的挂载点。
存储规范列出了为克隆创建的新存储的位置,例如数据文件挂载点和原始设备。这些项必须从源映射到目标。
以下示例显示了NFS连接的存储上的一个NFS挂载点:
-
示例 *
<mountpoint> <source>\oracle\<SOURCE SID>_sapdata</source> <destination>\oracle\<TARGET SID>_sapdata</destination> </mountpoint>
-
-
在数据库规范组件中,将控制文件信息标识为要为克隆创建的控制文件列表。
数据库规范用于指定克隆的数据库选项,例如控制文件,重做日志,归档日志和 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>
-
-
指定克隆的重做日志结构。
以下示例显示了用于克隆的重做日志目录结构:
-
示例 *
<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>
-
-
指定应在克隆的数据库中设置为不同值的 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`参数并指定以逗号分隔的日志文件路径、如以下示例所示:
-
可选:指定要在克隆联机时对其执行的任意 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>