

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 第 1 阶段 — 准备阶段（源数据库保持在线）
<a name="phase1"></a>

在此阶段，将在源系统上备份要传输的表空间的数据文件。Backup 副本被传输到目标系统并通过运行`xttdriver.pl`脚本进行恢复。

## 步骤 1：对源系统进行完整（级别=0）表空间备份
<a name="phase1-step1"></a>

要缩短备份持续时间，请将`xtt.properties`和`xttdriver.pl`文件复制到多个目录。在每个目录下的每个`xtt.properties`文件中，在`tablespaces`参数中输入表空间的名称。然后，在每个目录下，`xttdriver.pl`使用`--backup`选项运行。此命令传输除安装目标数据库期间创建的`SYSTEM``SYSAUX`、`UNDO``TEMP`、和之外的所有表空间。

例如，每个`xtt01~xtt04`目录都有所有`xtt`脚本（`xtt.properties`和`xttdriver.pl`），`xtt.properties`文件中`tablespaces=`参数的值各不相同。编辑每个`xtt.properties`文件中的`tablespaces`参数时，请考虑划分表空间组，使每个表空间组中数据文件的总大小相似。

在本指南中，该示例假设有四个表空间组。如果源数据库是 Oracle 单实例，则创建所有`xtt01~04`目录。如果源数据库是 Oracle RAC，则可以在每台 Oracle RAC 服务器中创建每个`xtt`目录。

```
[oracle@erp expimp]$ ls
out  xtt01  xtt02  xtt03    xtt04
[oracle@erp out]$ ls
out01 out02 out03 out04
```

下表显示了`xtt.properties`文件中`tablespaces=`参数的示例。


|  |  | 
| --- |--- |
|  `xtt01`  |  `tablespaces=APPS_TS_TX_DATA`  | 
|  `xtt02`  |  `tablespaces=APPS_TS_TX_IDX`  | 
|  `xtt03`  |  `tablespaces=APPS_TS_SUMMARY`  | 
|  `xtt04`  |  `tablespaces=APPS_CALCLIP, APPS_OMO, APPS_TS_ARCHIVE, APPS_TS_DISCO, APPS_TS_DISCO_OLAP, APPS_TS_INTERFACE, APPS_TS_MEDIA, APPS_TS_NOLOGGING, APPS_TS_QUEUES, APPS_TS_SEED…`  | 

为防止在并行运行时`xttdriver.pl`删除任何现有的数据文件备份副本，请在中注释掉以下一行`xttdriver.pl`。

```
   if (@present)
   {
      ## Try deleting any existing copied datafiles
##Comment out it for executing rman command in parallel by AWS
##        system("\\rm -f $dfcopydir/*.tf");
      sleep 5;
   }
```

用于`xttdriver.pl`对源系统进行 RMAN 备份。

如果源系统是 Oracle RAC，则可以在每个 Oracle RAC 实例上同时运行它。

`xttdriver.pl` 的输出存储在 `TMPDIR` 环境变量中。使用`--backup`选项运行每个`xttdriver.pl`命令，然后使用该`--debug`选项打开调试模式。

```
cd /u01/oracle/expimp/xtt<nn>
export TMPDIR=/u01/oracle/expimp/out/out<nn>
$ORACLE_HOME/perl/bin/perl xttdriver.pl --backup --debug 3
```

在本示例中，<nn>表示表空间组。如果有四个表空间组，则<nn>变为`01`、`02``03`、和。`04`

## 步骤 2：将完整备份副本传输到目标系统
<a name="phase1-step2"></a>

使用以下两个选项之一将备份副本传输到目标系统。

### 选项 1 — 使用 AWS Snowball Edge
<a name="step2-option1"></a>

**路径：**源数据库-> 源阶段-> Amazon S3 AWS Snowball Edge -> for Lu FSx stre

**注意**  
AWS Snowball Edge 不再向新客户提供。新客户应探索[AWS DataSync](https://aws.amazon.com/datasync/)在线传输、用于安全物理[传输AWS 的数据传输终端](https://aws.amazon.com/data-transfer-terminal/)或 AWS Partner 解决方案。对于边缘计算，请探索[AWS Outposts](https://aws.amazon.com/outposts/)。

下图显示了使用 Snowball Edge 传输完整备份的情况。

![\[该图显示了 Lustre 从源数据库到 Lustre FSx 的路径。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/migrate-bulky-oracle-databases/images/full-backup-with-snowball-edge.png)


Snowball Edge 是一款坚固耐用的物理存储和计算设备，可用于将大规模数据移动到其中。 AWS Snowball Edge 有助于克服大规模数据传输中可能遇到的挑战，包括传输时间长、可用带宽不足和安全问题。

整个数据文件备份副本由 Snowball Edge 传输到 Amazon S3。如果源系统大小超过 100 TB，则必须使用多台 Snowball Edge 设备来缩短传输时间。

Amazon FSx for Lustre 已与亚马逊 S3 深度集成。您可以在几分钟内创建链接到您 FSx 的 S3 存储桶的 for Lustre 文件系统。当链接到 Amazon S3 数据存储库时， FSx for Lustre 文件系统会以文件形式透明地呈现 Amazon S3 对象。在实际环境中，for Lustre 的性能取决于其存储容量、每个文件的大小以及文件在文件系统中的分布情况。 FSx 当 FSx 将 Lustre 用作目标阶段存储时，您无需将表空间备份副本恢复到亚马逊 Elastic Block Store (Amazon EBS) 或亚马逊 S3 中的亚马逊弹性文件系统。

****

1. 将 S3 存储桶导入 Lustre。 FSx 

   使用 Snowball Edge 将源舞台区域（例如`src_backups`）传输并存储到 S3 存储桶（例如）中`s3-src-backups`。

   创建 f FSx or Lustre 文件系统（例如`dest_backups`）作为数据文件备份副本的目标舞台区域。

   在目标系统 (Amazon EC2) 上安装开源 Lustre 客户端。有关更多信息，请参阅 Amazon f FSx or Lustre 用户指南。

   安装 Lustre 客户端后，将 FSx for Lustre 文件系统挂载到目标系统 (Amazon EC2)。

1. `res.txt`从源`$TMPDIR`上传输到`$TMPDIR`目的地。

### 选项 2-使用 AWS Direct Connect
<a name="step2-option2"></a>

**路径：**源数据库-> 源阶段- AWS Direct Connect > for Lu FSx stre

下图显示了使用传输完整备份的情况 AWS Direct Connect。

![\[显示路径的示意图使用了 AWS Direct Connect\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/migrate-bulky-oracle-databases/images/full-backup-with-aws-direct-connect.png)


Direct Connect 使您能够在数据中心、办公室或托管环境之间创建专用网络连接，以及 AWS。这些私有网络连接可降低网络成本、提高吞吐量并提供一致的体验。

您可以直接将数据文件备份副本从源系统传输到装载 Amazon for Lustre 文件系统的目标系统 (Amazon FSx EC2)。如果您能容纳的高带宽，则此选项比 Snowball Edge 选项快。 Direct Connect

在 Snowball Edge 或传输数据文件备份副本后 Direct Connect，您可以在目标舞台区域的 for FSx Lustre 文件系统中看到它们。

## 步骤 3：恢复完整备份副本并转换数据文件
<a name="phase1-step3"></a>

恢复完整备份副本并将数据文件转换为目标系统字节序格式。要缩短还原和转换持续时间，请运行带有每个表空间组`--restore`选项的`xttdriver.pl`命令。

```
cd /u01/oracle/expimp/xtt<nn>
export TMPDIR=/u01/oracle/expimp/out/out<nn>
$ORACLE_HOME/perl/bin/perl xttdriver.pl --restore --debug 3
```

步骤完成后，数据文件将放置在目标系统上文件中定义的 dest\$1datafile\$1location 中`xtt.properties`。