

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

# 使用 Oracle 数据库链接传输转储文件
<a name="oracle-database-link"></a>

Oracle 数据库链接是一个数据库中的架构对象，它使您能够访问另一个数据库上的对象。要使用数据库链接将 Oracle 数据库转储文件从源系统移动到目标系统，必须在源系统中创建数据库链接并确认源系统和目标系统之间的连接。有关如何创建 Oracle 数据库链接并确保其按预期运行的更多信息，请参阅 [Oracle 文档](https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/CREATE-DATABASE-LINK.html#GUID-D966642A-B19E-449D-9968-1121AF06D793)。

对于 Amazon RDS for Oracle 和 Amazon EC2 目标，复制 Oracle 数据库转储文件的过程相同。要将转储文件复制到目标，请运行以下代码。

```
BEGIN
DBMS_FILE_TRANSFER.PUT_FILE( 
source_directory_object => 'DATA_PUMP_DIR', --Source dump file directory name
source_file_name => 'hotels.dmp', 
destination_directory_object => 'DATA_PUMP_DIR', --For RDS you can chose default directory DATA_PUMP_DIR for EC2 provide the directory path
destination_file_name => 'hotels_copied.dmp', 
destination_database => 'DB_Link_Name'  --DB Link name
); 
END; 
/
```

在单独的查询窗口中，运行以下代码，检查 RDS for Oracle 实例`DATA_PUMP_DIR`中的进度和文件。

```
SELECT SID, SERIAL#, CONTEXT, SOFAR, TOTALWORK,opname,
       ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE",units
FROM   V$SESSION_LONGOPS
where  OPNAME NOT LIKE '%aggregate%'
AND    TOTALWORK != 0 
AND    SOFAR <> TOTALWORK;
```

要查看 Amazon EC2 上的文件，请导航到您提供的用于复制文件的目录路径。

要查看 Amazon RDS for Oracle 上的文件，请运行以下代码。

```
select * from table (RDSADMIN.RDS_FILE_UTIL.LISTDIR('DATA_PUMP_DIR')) order by filename;
```