

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 執行 Oracle 資料庫執行處理的雜項任務
<a name="Appendix.Oracle.CommonDBATasks.Misc"></a>

您可以在下文中找到如何在執行 Oracle 的 Amazon RDS 資料庫執行個體上執行雜項 DBA 任務。為了提供受管理的服務體驗，Amazon RDS 並不會提供資料庫執行個體的 Shell 存取權，而且會將存取權限制在某些需要進階權限的系統程序和資料表。

**Topics**
+ [在主要資料儲存空間中建立和捨棄目錄](#Appendix.Oracle.CommonDBATasks.NewDirectories)
+ [列出資料庫執行個體目錄中的檔案](#Appendix.Oracle.CommonDBATasks.ListDirectories)
+ [讀取資料庫執行個體目錄中的檔案](#Appendix.Oracle.CommonDBATasks.ReadingFiles)
+ [存取 Opatch 檔案](#Appendix.Oracle.CommonDBATasks.accessing-opatch-files)
+ [管理建議程式任務](#Appendix.Oracle.CommonDBATasks.managing-advisor-tasks)
+ [可傳輸的資料表空間](rdsadmin_transport_util.md)

## 在主要資料儲存空間中建立和捨棄目錄
<a name="Appendix.Oracle.CommonDBATasks.NewDirectories"></a>

若要建立目錄，請使用 Amazon RDS 程序 `rdsadmin.rdsadmin_util.create_directory`。您可以建立最多 10,000 個目錄，全位於您的主要資料儲存空間。若要建立目錄，請使用 Amazon RDS 程序 `rdsadmin.rdsadmin_util.drop_directory`。

`create_directory` 和 `drop_directory` 程序具有下列必要參數。


****  

| 參數名稱 | 資料類型 | 預設 | 必要 | 描述 | 
| --- | --- | --- | --- | --- | 
|  `p_directory_name`  |  VARCHAR2  |  —  |  是  |  目錄名稱。  | 

下列範例會建立名為 `PRODUCT_DESCRIPTIONS` 的新目錄。

```
EXEC rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'product_descriptions');
```

資料字典會以大寫存放目錄名稱。您可以查詢 `DBA_DIRECTORIES` 來列出目錄。系統會自動選擇實際的主機路徑名稱。下列範例會取得名為 `PRODUCT_DESCRIPTIONS` 目錄的目錄路徑：

```
SELECT DIRECTORY_PATH 
  FROM DBA_DIRECTORIES 
 WHERE DIRECTORY_NAME='PRODUCT_DESCRIPTIONS';
        
DIRECTORY_PATH
----------------------------------------
/rdsdbdata/userdirs/01
```

資料庫執行個體的主要使用者名稱會具有新目錄中的讀寫權限，並且可將存取權授予其他使用者。`EXECUTE` 權限不適用於資料庫執行個體上的目錄。目錄會在您的主要資料儲存空間中建立，並且將耗用空間和輸入/輸出頻寬。

下列範例會捨棄名為 `PRODUCT_DESCRIPTIONS` 的目錄。

```
EXEC rdsadmin.rdsadmin_util.drop_directory(p_directory_name => 'product_descriptions');
```

**注意**  
您也可以使用 Oracle SQL 命令 `DROP DIRECTORY` 捨棄目錄。

捨棄目錄不會移除其內容。這是因為 `rdsadmin.rdsadmin_util.create_directory` 程序可能會重複使用路徑名稱，而已捨棄目錄中的檔案可能會出現在新建立的目錄中。捨棄目錄之前，我們建議您使用 `UTL_FILE.FREMOVE` 從目錄中移除檔案。如需更多詳細資訊，請參閱 Oracle 文件中的 [FREMOVE 程序](https://docs.oracle.com/database/121/ARPLS/u_file.htm#ARPLS70924)。

## 列出資料庫執行個體目錄中的檔案
<a name="Appendix.Oracle.CommonDBATasks.ListDirectories"></a>

若要列出目錄中的檔案，請使用 Amazon RDS 程序 `rdsadmin.rds_file_util.listdir`。Oracle 複本不支援此程序。`listdir` 程序具有下列參數。


****  

| 參數名稱 | 資料類型 | 預設 | 必要 | 描述 | 
| --- | --- | --- | --- | --- | 
|  `p_directory`  |  varchar2  |  —  |  是  |  要列出的目錄名稱。  | 

下列範例授予目錄 `PRODUCT_DESCRIPTIONS` 的讀/寫權限給使用者 `rdsadmin`，然後列出此目錄中的檔案。

```
GRANT READ,WRITE ON DIRECTORY PRODUCT_DESCRIPTIONS TO rdsadmin;
SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'PRODUCT_DESCRIPTIONS'));
```

## 讀取資料庫執行個體目錄中的檔案
<a name="Appendix.Oracle.CommonDBATasks.ReadingFiles"></a>

若要讀取文字檔案，請使用 Amazon RDS 程序 `rdsadmin.rds_file_util.read_text_file`。`read_text_file` 程序具有下列參數。


****  

| 參數名稱 | 資料類型 | 預設 | 必要 | 描述 | 
| --- | --- | --- | --- | --- | 
|  `p_directory`  |  varchar2  |  —  |  是  |  包含檔案的目錄名稱。  | 
|  `p_filename`  |  varchar2  |  —  |  是  |  要讀取的檔案名稱。  | 

下列範例會在目錄 `rice.txt` 中建立檔案 `PRODUCT_DESCRIPTIONS`。

```
declare
  fh sys.utl_file.file_type;
begin
  fh := utl_file.fopen(location=>'PRODUCT_DESCRIPTIONS', filename=>'rice.txt', open_mode=>'w');
  utl_file.put(file=>fh, buffer=>'AnyCompany brown rice, 15 lbs');
  utl_file.fclose(file=>fh);
end;
/
```

下列範例會從目錄 `rice.txt` 讀取 `PRODUCT_DESCRIPTIONS` 檔案。

```
SELECT * FROM TABLE
    (rdsadmin.rds_file_util.read_text_file(
        p_directory => 'PRODUCT_DESCRIPTIONS',
        p_filename  => 'rice.txt'));
```

## 存取 Opatch 檔案
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files"></a>

Opatch 是可將修補程式套用和復原到 Oracle 軟體的 Oracle 公用程式。針對確定已將哪些修補程式套用至資料庫，Oracle 採用機制是 `opatch lsinventory` 命令。為針對使用自有授權 (BYOL) 客戶開立服務請求，Oracle 支援會要求 `lsinventory` 檔案，有時也會要求 Opatch 產生的 `lsinventory_detail` 檔案。

為了提供受管的服務體驗，Amazon RDS 並不會提供 Opatch 的 Shell 存取權。相反地，BDUMP 目錄中的 `lsinventory-dbv.txt` 包含與您目前引擎版本相關的修補程式資訊。當您執行次要或主要升級時，Amazon RDS 會在套用修補程式的一小時內更新 `lsinventory-dbv.txt` 。如要確認套用的修補程式，請參閱 `lsinventory-dbv.txt`。此動作與執行 `opatch lsinventory` 命令類似。

**注意**  
本節的範例假設 BDUMP 目錄已命名為 `BDUMP`。在僅供讀取複本上，BDUMP 目錄名稱不同。若要了解如何透過在僅供讀取複本上查詢 `V$DATABASE.DB_UNIQUE_NAME` 以取得 BDUMP 名稱，請參閱[列出檔案](USER_LogAccess.Concepts.Oracle.md#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.ViewingBackgroundDumpDest)。

庫存檔案會使用 Amazon RDS 命名慣例 `lsinventory-dbv.txt` 和 `lsinventory_detail-dbv.txt`，其中 *dbv* 是資料庫版本的完整名稱。`lsinventory-dbv.txt` 檔案可在所有資料庫版本上使用。對應的 `lsinventory_detail-dbv.txt` 適用於 19.0.0.0、ru-2020-01.rur-2020-01.r1 或更新版本。

例如，若您的資料庫版本為 19.0.0.0.ru-2021-07.rur-2021-07.r1，則您的庫存檔案具有下列名稱。

```
lsinventory-19.0.0.0.ru-2021-07.rur-2021-07.r1.txt
lsinventory_detail-19.0.0.0.ru-2021-07.rur-2021-07.r1.txt
```

確保您下載的檔案符合您資料庫引擎的目前版本。

### 主控台
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files.console"></a>

**如何使用主控台下載庫存檔案**

1. 前往 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)，開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇您想檢視的日誌檔案所在的資料庫執行個體的名稱。

1. 選擇 **Logs & events (日誌與事件)** 標籤。

1. 向下捲動至 **Logs (日誌)** 區段。

1. 在**日誌**區段中，搜尋 `lsinventory`。

1. 選取您要存取的檔案，然後選擇**下載**。

### SQL
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files.sql"></a>

若要在 SQL 用戶端中讀取 `lsinventory-dbv.txt`，您可以使用 `SELECT` 陳述式。針對此技術，請使用下列 `rdsadmin` 函數：`rdsadmin.rds_file_util.read_text_file` 或 `rdsadmin.tracefile_listing`。

在下列範例查詢中，將 *dbv* 取代為您的 Oracle 資料庫版本。例如，您的資料庫版本可能是 19.0.0.0.ru-2020-04.rur-2020-04.r1。

```
SELECT text
FROM   TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'lsinventory-dbv.txt'));
```

### PL/SQL
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files.plsql"></a>

若要在 SQL 用戶端中讀取 `lsinventory-dbv.txt`，您可以寫入 PL/SQL 程式。此程式會使用 `utl_file` 來讀取檔案，並使用 `dbms_output` 來列印檔案。這些是 Oracle 提供的套件。

在下列範例程式中，將 *dbv* 取代為您的 Oracle 資料庫版本。例如，您的資料庫版本可能是 19.0.0.0.ru-2020-04.rur-2020-04.r1。

```
SET SERVEROUTPUT ON
DECLARE
  v_file              SYS.UTL_FILE.FILE_TYPE;
  v_line              VARCHAR2(1000);
  v_oracle_home_type  VARCHAR2(1000);
  c_directory         VARCHAR2(30) := 'BDUMP';
  c_output_file       VARCHAR2(30) := 'lsinventory-dbv.txt';
BEGIN
  v_file := SYS.UTL_FILE.FOPEN(c_directory, c_output_file, 'r');
  LOOP
    BEGIN
      SYS.UTL_FILE.GET_LINE(v_file, v_line,1000);
      DBMS_OUTPUT.PUT_LINE(v_line);
    EXCEPTION
      WHEN no_data_found THEN
        EXIT;
    END;
  END LOOP;
END;
/
```

或者，查詢 `rdsadmin.tracefile_listing`，然後將輸出多工緩衝處理至檔案。下列範例會將輸出多工緩衝處理至 `/tmp/tracefile.txt`。

```
SPOOL /tmp/tracefile.txt
SELECT * 
FROM   rdsadmin.tracefile_listing 
WHERE  FILENAME LIKE 'lsinventory%';
SPOOL OFF;
```

## 管理建議程式任務
<a name="Appendix.Oracle.CommonDBATasks.managing-advisor-tasks"></a>

Oracle 資料庫包含許多建議程式。每個建議程式均支援自動化和手動任務。您可以使用 `rdsadmin.rdsadmin_util` 套件來管理一些建議程式任務。

下列引擎版本提供建議程式任務程序：
+ Oracle Database 21c (21.0.0)
+ 19.0.0.0.ru-2021-01.rur-2021-01.r1 版及更新的 Oracle Database 19c 版本 

  如需詳細資訊，請參閱 *Amazon RDS for Oracle 版本備註*中的[版本 19.0.0.0.ru-2021-01.rur-2021-01.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html#oracle-version-RU-RUR.19.0.0.0.ru-2021-01.rur-2021-01.r1)。

**Topics**
+ [設定建議程式任務的參數](#Appendix.Oracle.CommonDBATasks.setting-task-parameters)
+ [停用 AUTO\$1STATS\$1ADVISOR\$1TASK](#Appendix.Oracle.CommonDBATasks.dropping-advisor-task)
+ [重新啟用 AUTO\$1STATS\$1ADVISOR\$1TASK](#Appendix.Oracle.CommonDBATasks.recreating-advisor-task)

### 設定建議程式任務的參數
<a name="Appendix.Oracle.CommonDBATasks.setting-task-parameters"></a>

若要設定某些建議程式任務的參數，請使用 Amazon RDS 程序 `rdsadmin.rdsadmin_util.advisor_task_set_parameter`。`advisor_task_set_parameter` 程序具有下列參數。


****  

| 參數名稱 | 資料類型 | 預設 | 必要 | 描述 | 
| --- | --- | --- | --- | --- | 
|  `p_task_name`  |  varchar2  |  —  |  是  |  您要變更其參數的建議程式任務名稱。有效值如下： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.Misc.html)  | 
|  `p_parameter`  |  varchar2  |  —  |  是  |  任務參數的名稱。若要尋找建議程式任務的有效參數，請執行下列查詢。用 `p_task_name` 有效值替代 *p\$1task\$1name*： <pre>COL PARAMETER_NAME FORMAT a30<br />COL PARAMETER_VALUE FORMAT a30<br />SELECT PARAMETER_NAME, PARAMETER_VALUE<br />FROM DBA_ADVISOR_PARAMETERS<br />WHERE TASK_NAME='p_task_name'<br />AND PARAMETER_VALUE != 'UNUSED'<br />ORDER BY PARAMETER_NAME;</pre>  | 
|  `p_value`  |  varchar2  |  —  |  是  |  任務參數的值。若要尋找任務參數的有效值，請執行下列查詢。用 `p_task_name` 有效值替代 *p\$1task\$1name*： <pre>COL PARAMETER_NAME FORMAT a30<br />COL PARAMETER_VALUE FORMAT a30<br />SELECT PARAMETER_NAME, PARAMETER_VALUE<br />FROM DBA_ADVISOR_PARAMETERS<br />WHERE TASK_NAME='p_task_name'<br />AND PARAMETER_VALUE != 'UNUSED'<br />ORDER BY PARAMETER_NAME;</pre>  | 

對於 `ACCEPT_PLANS`，下列 PL/SQL 程式將 `FALSE` 設定為 `SYS_AUTO_SPM_EVOLVE_TASK`。SQL 計劃管理自動化任務會驗證計劃，並產生其問題清單的報告，但不會自動演進計劃。您可以使用報告來識別新的 SQL 計劃基準並手動接受它們。

```
BEGIN 
  rdsadmin.rdsadmin_util.advisor_task_set_parameter(
    p_task_name => 'SYS_AUTO_SPM_EVOLVE_TASK',
    p_parameter => 'ACCEPT_PLANS',
    p_value     => 'FALSE');
END;
```

對於 `EXECUTION_DAYS_TO_EXPIRE`，下列 PL/SQL 程式將 `10` 設定為 `AUTO_STATS_ADVISOR_TASK`。預先定義的任務 `AUTO_STATS_ADVISOR_TASK` 每天會在維護視窗中自動執行一次。此範例會將任務執行的保留期設定為 10 天。

```
BEGIN 
  rdsadmin.rdsadmin_util.advisor_task_set_parameter(
    p_task_name => 'AUTO_STATS_ADVISOR_TASK',
    p_parameter => 'EXECUTION_DAYS_TO_EXPIRE',
    p_value     => '10');
END;
```

### 停用 AUTO\$1STATS\$1ADVISOR\$1TASK
<a name="Appendix.Oracle.CommonDBATasks.dropping-advisor-task"></a>

若要停用 `AUTO_STATS_ADVISOR_TASK`，請使用 Amazon RDS 程序 `rdsadmin.rdsadmin_util.advisor_task_drop`。`advisor_task_drop` 程序接受下列參數。


****  

| 參數名稱 | 資料類型 | 預設 | 必要 | 描述 | 
| --- | --- | --- | --- | --- | 
|  `p_task_name`  |  varchar2  |  —  |  是  |  待停用建議程式任務的名稱。唯一有效的值為 `AUTO_STATS_ADVISOR_TASK`。  | 

下列命令會捨棄 `AUTO_STATS_ADVISOR_TASK`。

```
EXEC rdsadmin.rdsadmin_util.advisor_task_drop('AUTO_STATS_ADVISOR_TASK')
```

您可以使用 `rdsadmin.rdsadmin_util.dbms_stats_init` 重新啟用 `AUTO_STATS_ADVISOR_TASK`。

### 重新啟用 AUTO\$1STATS\$1ADVISOR\$1TASK
<a name="Appendix.Oracle.CommonDBATasks.recreating-advisor-task"></a>

若要重新啟用 `AUTO_STATS_ADVISOR_TASK`，請使用 Amazon RDS 程序 `rdsadmin.rdsadmin_util.dbms_stats_init`。`dbms_stats_init` 程序不需採用任何參數。

下列命令會重新啟用 `AUTO_STATS_ADVISOR_TASK`。

```
EXEC rdsadmin.rdsadmin_util.dbms_stats_init()
```

# 可傳輸的資料表空間
<a name="rdsadmin_transport_util"></a>

使用 Amazon RDS 套件 `rdsadmin.rdsadmin_transport_util`，將一組資料表空間從內部部署 Oracle 資料庫複製到 RDS for Oracle 資料庫執行個體。在實體層級，可傳輸資料表空間功能可將來源資料檔案與中繼資料檔案逐步複製到您的目標執行個體。您可以使用 Amazon EFS 或 Amazon S3 傳輸檔案。如需更多詳細資訊，請參閱 [使用 Oracle 可傳輸資料表空間進行移轉](oracle-migrating-tts.md)。

**Topics**
+ [將傳輸資料表空間匯入資料庫執行個體](rdsadmin_transport_util_import_xtts_tablespaces.md)
+ [將可傳輸資料表空間中繼資料匯入您的資料庫執行個體](rdsadmin_transport_util_import_xtts_metadata.md)
+ [在資料表空間匯入後列出遺棄的檔案](rdsadmin_transport_util_list_xtts_orphan_files.md)
+ [在資料表空間匯入後刪除遺棄的資料檔案](rdsadmin_transport_util_cleanup_incomplete_xtts_import.md)

# 將傳輸資料表空間匯入資料庫執行個體
<a name="rdsadmin_transport_util_import_xtts_tablespaces"></a>

使用程序 `rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces`，從來源資料庫執行個體還原先前匯出的資料表空間。在傳輸階段中，您會備份唯讀資料表空間並匯出 Data Pump 中繼資料、將這些檔案傳輸到目標資料庫執行個體，然後匯入資料表空間。如需詳細資訊，請參閱[階段 4：傳輸資料表空間](oracle-migrating-tts.md#oracle-migrating-tts.final-br-phase)。

## 語法
<a name="rdsadmin_transport_util_import_xtts_tablespaces-syntax"></a>

```
FUNCTION import_xtts_tablespaces(
    p_tablespace_list IN CLOB,
    p_directory_name  IN VARCHAR2,
    p_platform_id     IN NUMBER DEFAULT 13,
    p_parallel        IN INTEGER DEFAULT 0) RETURN VARCHAR2;
```

## Parameters
<a name="rdsadmin_transport_util_import_xtts_tablespaces-parameters"></a>


****  

| 參數名稱 | 資料類型 | 預設 | 必要 | 描述 | 
| --- | --- | --- | --- | --- | 
|  `p_tablespace_list`  |  `CLOB`  |  —  |  是  |  要匯入的資料表空間清單。  | 
|  `p_directory_name`  |  `VARCHAR2`  |  —  |  是  | 包含資料表空間備份的目錄。 | 
|  `p_platform_id`  |  `NUMBER`  |  `13`  |  否  |  提供與備份階段中指定平台 ID 相符的 ID。若要尋找平台列表，請查詢 `V$TRANSPORTABLE_PLATFORM`。預設平台是 Linux x86 64 位元，這是小端。  | 
|  `p_parallel`  |  `INTEGER`  |  `0`  |  否  |  平行處理的程度。根據預設，會停用平行處理。  | 

## 範例
<a name="rdsadmin_transport_util_import_xtts_tablespaces-examples"></a>

以下範例從目錄 *DATA\$1PUMP\$1DIR* 匯入資料表 *TBS1*、*TBS2* 和 *TBS3*。來源平台是 AIX 型系統 (64 位元)，其平台 ID 為 `6`。您可以查詢 `V$TRANSPORTABLE_PLATFORM` 以尋找平台 ID。

```
VAR task_id CLOB

BEGIN
  :task_id:=rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces(
        'TBS1,TBS2,TBS3',
        'DATA_PUMP_DIR',
        p_platform_id => 6);
END;
/

PRINT task_id
```

# 將可傳輸資料表空間中繼資料匯入您的資料庫執行個體
<a name="rdsadmin_transport_util_import_xtts_metadata"></a>

使用 `rdsadmin.rdsadmin_transport_util.import_xtts_metadata` 程序將可傳輸的資料表空間中繼資料匯入 RDS for Oracle 資料庫執行個體。在操作期間，資料表 `rdsadmin.rds_xtts_operation_info` 會顯示中繼資料匯入的狀態。如需詳細資訊，請參閱[步驟 5：匯入目標資料庫執行個體上的資料表空間中繼資料](oracle-migrating-tts.md#oracle-migrating-tts.transport.import-dmp)。

## 語法
<a name="rdsadmin_transport_util_import_xtts_metadata-syntax"></a>

```
PROCEDURE import_xtts_metadata(
    p_datapump_metadata_file IN SYS.DBA_DATA_FILES.FILE_NAME%TYPE,
    p_directory_name         IN VARCHAR2,
    p_exclude_stats          IN BOOLEAN DEFAULT FALSE,
    p_remap_tablespace_list  IN CLOB DEFAULT NULL,
    p_remap_user_list        IN CLOB DEFAULT NULL);
```

## Parameters
<a name="rdsadmin_transport_util_import_xtts_metadata-parameters"></a>


****  

| 參數名稱 | 資料類型 | 預設 | 必要 | 描述 | 
| --- | --- | --- | --- | --- | 
|  `p_datapump_metadata_file`  |  `SYS.DBA_DATA_FILES.FILE_NAME%TYPE`  |  —  |  是  |  包含可傳輸資料表空間描述資料的 Oracle 資料汲取檔案名稱。  | 
|  `p_directory_name`  |  `VARCHAR2`  |  —  |  是  |  包含資料汲取檔案的目錄名稱。  | 
|  `p_exclude_stats`  |  `BOOLEAN`  |  `FALSE`  |  否  |  指示是否排除統計資料的標誌。  | 
|  `p_remap_tablespace_list`  |  `CLOB`  |  NULL  |  否  |  在中繼資料匯入期間要重新對應的資料表空間清單。使用 `from_tbs:to_tbs` 格式。例如，指定 `users:user_data`。  | 
|  `p_remap_user_list`  |  `CLOB`  |  NULL  |  否  |  在中繼資料匯入期間要重新對應的資料表空間清單。使用 `from_schema_name:to_schema_name` 格式。例如，指定 `hr:human_resources`。  | 

## 範例
<a name="rdsadmin_transport_util_import_xtts_metadata-examples"></a>

此範例會從檔案匯入資料表空間中繼資料 *xttdump.dmp*，它位於目錄中 *DATA\$1PUMP\$1DIR*。

```
BEGIN
  rdsadmin.rdsadmin_transport_util.import_xtts_metadata('xttdump.dmp','DATA_PUMP_DIR');
END;
/
```

# 在資料表空間匯入後列出遺棄的檔案
<a name="rdsadmin_transport_util_list_xtts_orphan_files"></a>

使用 `rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files` 列出在資料表空間匯入之後遺棄的資料檔的程序。識別出資料文件後，您可以通過呼叫 `rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import` 將其刪除。

## 語法
<a name="rdsadmin_transport_util_list_xtts_orphan_files-syntax"></a>

```
FUNCTION list_xtts_orphan_files RETURN xtts_orphan_files_list_t PIPELINED;
```

## 範例
<a name="rdsadmin_transport_util_list_xtts_orphan_files-examples"></a>

下列範例執行 `rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files`。輸出會顯示兩個遺棄的資料檔案。

```
SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files);

FILENAME       FILESIZE
-------------- ---------
datafile_7.dbf 104865792
datafile_8.dbf 104865792
```

# 在資料表空間匯入後刪除遺棄的資料檔案
<a name="rdsadmin_transport_util_cleanup_incomplete_xtts_import"></a>

使用 `rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files` 程序刪除在資料表空間匯入之後遺棄的資料檔案。執行此命令會產生使用 `BDUMP` 目錄中名稱格式的日誌檔 `rds-xtts-delete_xtts_orphaned_files-YYYY-MM-DD.HH24-MI-SS.FF.log`。使用 `rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import` 程序找到遺棄的檔案。您可以透過呼叫 `rdsadmin.rds_file_util.read_text_file` 程序來讀取日誌檔。如需詳細資訊，請參閱[階段 6：清理剩餘檔案](oracle-migrating-tts.md#oracle-migrating-tts.cleanup)。

## 語法
<a name="rdsadmin_transport_util_cleanup_incomplete_xtts_import-syntax"></a>

```
PROCEDURE cleanup_incomplete_xtts_import(
    p_directory_name IN VARCHAR2);
```

## Parameters
<a name="rdsadmin_transport_util_cleanup_incomplete_xtts_import-parameters"></a>


****  

| 參數名稱 | 資料類型 | 預設 | 必要 | 描述 | 
| --- | --- | --- | --- | --- | 
|  `p_directory_name`  |  `VARCHAR2`  |  —  |  是  |  包含遺棄的資料檔案的目錄。  | 

## 範例
<a name="rdsadmin_transport_util_cleanup_incomplete_xtts_import-examples"></a>

下列範例會刪除 *DATA\$1PUMP\$1DIR* 中遺棄的檔案。

```
BEGIN
  rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import('DATA_PUMP_DIR');
END;
/
```

下列範例會讀取上一個命令所產生的日誌檔。

```
SELECT * 
FROM TABLE(rdsadmin.rds_file_util.read_text_file(
       p_directory => 'BDUMP',
       p_filename  => 'rds-xtts-delete_xtts_orphaned_files-2023-06-01.09-33-11.868894000.log'));

TEXT
--------------------------------------------------------------------------------
orphan transported datafile datafile_7.dbf deleted.
orphan transported datafile datafile_8.dbf deleted.
```