

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

# 階段 3 – 傳輸階段 （來源資料庫為唯讀）
<a name="phase3"></a>

在此階段，來源系統變成唯讀。套用最終增量備份，使目的地系統上的資料檔案與來源系統一致。然後，從來源系統匯出物件中繼資料，並將其匯入目的地系統。

## 步驟 1：讓來源資料庫中的資料表空間唯讀
<a name="phase3-step1"></a>

做為 SYSDBA，將所有資料表空間傳輸到`READ ONLY`來源系統。

若要減少停機時間，您可以同時執行下列兩個步驟。

## 步驟 2：建立最終增量備份
<a name="phase3-step2"></a>

在來源系統上，建立要傳輸之資料表空間的最終增量備份。

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

此步驟會傳回錯誤，例如「ORA-20001： TABLESPACE(S) IS READONLY」；預期會發生錯誤，您可以放心地予以忽略。

## 步驟 3：匯出中繼資料
<a name="phase3-step3"></a>

從來源資料庫匯出可傳輸資料表空間的中繼資料。

這是匯出可傳輸資料表空間中繼資料的參數檔案範例。

```
directory=dmpdir
metrics=y
dumpfile=xttsmeta%U.dmp
filesize=1048576000
logfile=expxtts.log
transport_tablespaces=
APPS_TS_ARCHIVE,
APPS_TS_INTERFACE,
APPS_TS_MEDIA,
APPS_TS_NOLOGGING,
….
exclude=table_statistics,index_statistics
```

此外，如果來源系統有許多資料表和索引，您可以透過排除其統計資料來節省匯出期間的時間。匯入可傳輸資料表空間之後，請將統計資料匯入目的地系統。

執行 之前`expdp`，請先建立資料庫目錄，其中傾印檔案會存放在來源系統上。

```
SQL> create directory dmpdir as <location>;
expdp system/<system password> parfile=<parameter file>
```

下列兩個步驟是具有 RMAN 增量備份的跨平台可傳輸資料表空間的最後步驟。這些步驟必須依序執行。

## 步驟 4：傳輸檔案並套用最終增量備份
<a name="phase3-step4"></a>

傳輸最終增量備份，並將傾印檔案匯出至目的地系統、轉換和套用最終增量備份。

使用 將最終增量備份複本和 res.txt 檔案 Direct Connect 傳輸至目的地。您可以使用 VPN 連線，但如果有足夠的頻寬，使用 Direct Connect 會大幅減少停機時間。

若要還原最終增量備份，請在目的地系統上，使用 `--restore`選項為每個資料表空間群組執行下列命令。

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

## 步驟 5：匯入物件中繼資料
<a name="phase3-step5"></a>

使用 Oracle Data Pump 將物件中繼資料匯入目的地系統。執行下列命令，以取得目的地系統上 `transport_datafiles=` 參數的資料檔案清單。

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

每當您執行先前的命令時，就會取得具有 `transport_datafiles=` 參數的 `xttplugin.txt` 檔案。從所有`xttplugin.txt`檔案`transport_datafiles=`合併一行，並將資料檔案清單放入匯入中繼資料的參數檔案`transport_datafiles`引數中。

下列程式碼片段顯示用於在目的地系統上匯入可傳輸資料表空間的參數檔案。

```
directory=dmpdir
metrics=y
dumpfile=xttsmeta%U.dmp
logfile=impxtts.log
exclude=TYPE
transport_datafiles= '+EBSDATA/APPS_TS_TX_DATA_2.dbf','+EBSDATA/APPS_TS_TX_DATA_11.dbf','+EBSDATA/APPS_TS_TX_DATA_22.dbf','+EBSDATA/APPS_TS_TX_DATA_183.dbf','+EBSDATA/APPS_TS_TX_DATA_204.dbf','+EBSDATA/APPS_TS_TX_DATA_219.dbf','+EBSDATA/APPS_TS_TX_DATA_227.dbf'…..
```

在執行 之前`impdp`，請建立指向匯出傾印檔案位置的資料庫目錄。

```
SQL> create directory dmpdir as <location>;
impdp system/<system password> parfile=<parameter file>
```