xtts v4for oracle 11g&12c(文檔ID 2471245.1) | ||||
序號 | 主機 | 操作項目 | 操作內容 | 備注: |
階段一:初始階段
|
||||
1.1 | 源端 | 環境驗證 | migrate_check_xtts.sql是否實用XTTX | 檢查驗見傳輸表空間先決條件V4 |
1.2 | 源端 | 確認表空間和用戶 | 例羅需要傳輸的表空間 和 用戶 | |
1.3 | 目標端 | 安裝數據庫軟件和實例 | 11.2.0.4 以上版本 | |
目標端 | 提前創建好用戶 | 根據通用XTTS要求,確保目標數據庫中存在表空間傳輸所需的用戶。 | ||
1.4 | 源端 | 安裝xttconvert腳本 | [oracle@source]$ pwd /home/oracle/xtt [oracle@source]$ unzip rman_xttconvert_VER4.zip Archive: rman_xttconvert_v3.zip inflating: xtt.properties inflating: xttcnvrtbkupdest.sql inflating: xttdbopen.sql inflating: xttdriver.pl inflating: xttprep.tmpl extracting: xttstartupnomount.sql |
|
1.5 | 源端 | 配置xtt.properties | 使用特定於站點的配置編輯源系統上的xtt.properties文件。以下是必須參數 tablespaces platformid src_scratch_location dest_scratch_location dest_datafile_location (if using 12c) -- usermantransport=1 |
|
1.6 | 源/目標端 | 創建目錄 | 源端: 由xtt.properties文件中的src_scratch_location參數定義的備份位置。 目標端:1.由xtt.properties文件中的dest_scratch_location參數定義的備份位置。 2.數據文件在目標上的位置,由xtt.properties文件中的dest_datafile_location參數定義。 |
|
1.7 | 目標端 | 將腳本和文件 傳到目標端 |
由於oracle軟件所有者將所有xttconvert腳本和修改后的xtt.properties文件復制到目標系統 scp -r /home/oracle/xttdest:/home/oracle/xtt |
|
1.8 | 源/目標端 | 設置TMPDIR | 在源系統和目標系統上的shell環境中,將環境變量TMPDIR設置為支持腳本所在的位置。 [oracle@source]$ export TMPDIR=/home/oracle/xtt [oracle@dest]$ export TMPDIR=/home/oracle/xtt |
|
階段二:准備階段 注意:對於大量文件,如果您希望使用dbms_file_transfer,則無法使用V4,您必須使用11G - 使用跨平台增量備份減少可傳輸表空間停機時間(注釋1389592.1)。 |
||||
2.1 | 源端 | 在源系統上運行備份 | 在源系統上,以具有指向源數據庫的環境(ORACLE_HOME和ORACLE_SID環境變量)的oracle用戶身份登錄,運行准備步驟,如下所示: [oracle@source]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup |
|
2.2 | 源端 | 執行文件傳輸 | 從源src_scratch_location創建的備份目標dest_scratch_location 源$TMPDIR到目標$TMPDIR的res.txt文件: 在下面的示例中, scp 用於將上一步創建的level = 0備份從源系統傳輸到目標系統。 [oracle@source]$ scp /src_scratch/* oracle@dest:/dest_scratch [oracle@source]$ scp res.txt oracle@dest:/home/oracle/xtt |
|
2.3 | 目標端 | 恢復數據文件 | 在目標系統上,以具有指向目標 數據庫的環境(ORACLE_HOME和ORACLE_SID環境變量)的oracle用戶身份登錄,運行還原(數據文件將放置在定義的存儲器中的目標系統上),如下所示: [oracle@dest]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --restore 數據文件將放置在定義的dest_datafile_location中的目標系統上。 |
|
階段三:前滾階段 : 注意:可以對源執行多個備份,而不將其應用於目標。必須先復制備份文件和res.txt,然后才能在目標位置執行“--restore”。 |
||||
3.1 | 源端 | 創建表空間的增量備份 | [oracle@source]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup | |
3.2 | 源端 | 將增量備份傳輸到目標系統 | 將增量備份(在src_scratch_location和dest_scratch_location之間)和res.txt(在$ TMPDIR之間)從源傳輸到目標。可以在源系統上的incrbackups.txt文件中 找到當前備份的增量備份文件列表。 [oracle@source]$ scp `cat incrbackups.txt` oracle@dest:/dest_scratch_location [oracle@source]$ scp res.txt oracle@dest:/home/oracle/xtt |
|
3.3 | 目標端 | 轉換增量備份並應用 | [oracle@dest]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --restore | |
3.4 | 源/目標端 | 重復前滾階段 | 重復前滾階段3(3.1 - 3.3)或進入階段4,最終增量備份 | |
階段四: 最終增量備份 - 如果運行12c,則可以在Note 2005729.1 即V3中的第4階段替換此步驟: 在此階段,源數據只讀,並且通過創建和應用最終增量備份使目標數據文件與源數據庫保持一致。在使目標數據文件保持一致之后,執行正常的可傳輸表空間步驟以從源數據庫導出對象元數據並將其導入目標數據庫。傳輸的數據只能在READ ONLY模式下訪問,直到此階段結束。 |
||||
4.1 | 源端 | 使源表空間只在源數據庫中讀取 | alter tablespace xxx read only ; | |
4.2 | 源端 | 最后一次增量 | $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup | 注意:由於表空間處於READ ONLY模式,可以忽略以下警告: ############################### Warning: ------ Warnings found in executing /home/oracle/radranly/convert_source/backup_Nov9_Fri_09_08_26_213//xttpreparenextiter.sql #################################################### Prepare newscn for Tablespaces: 'SECOND' DECLARE* ERROR at line 1: ORA-20001: TABLESPACE(S) IS READONLY OR, OFFLINE JUST CONVERT, COPY ORA-06512: at line 284 |
4.3 | 源端 | 將增量備份和res.txt傳輸到目標系統 | [oracle@source]$ scp 'cat incrbackups.txt' oracle@dest:/dest_scratch_location [oracle@source]$ scp res.txt oracle@dest:/home/oracle/xtt |
|
4.4 | 目標端 | 最后一次增量應用 | [oracle@dest]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --restore 此步驟將最后一次增量備份應用於目標上的數據文件。 |
|
階段五:傳輸階段:將對象元數據導入目標數據庫 注意:如果您運行12c並選擇在Note 2005729.1中使用“Phase 4”,則會跳過此選項。 |
||||
5A.1 | 源端 | 在源數據庫上運行 datapump導出: |
通過在源數據庫上運行可傳輸模式Data Pump導出來執行表空間傳輸,以將傳輸的對象元數據導出到轉儲文件中。例: [oracle@source]$ cat exp.par dumpfile=xttdump.dmp directory=DATA_PUMP_DIR statistics=NONE transport_tablespaces=TS1,TS2 transport_full_check=y logfile=tts_export.log [oracle@source]$ expdp system/manager parfile=exp.par |
|
5A.2 | 源端 | 將導出文件 傳輸到目標端面 |
要使用此命令執行表空間傳輸,則必須編輯導入命令文件xttplugin.txt(在步驟4.3中生成)並將導入參數DIRECTORY替換為特定於站點的值。 例: [oracle@dest]$ impdp system/<password> directory=dpump_tts \ > logfile=tts_imp.log \ > dumpfile=impdp3925_641.dmp \ > transport_datafiles='/u01/oradata/DESTDB/o1_mf_ts1_bngv18vm_.dbf','/u01/oradata/DESTDB/o1_mf_ts2_bngv229g_.dbf' |
|
5A.3 | 目標端 | 使用的目標目錄 | 在目標上運行datapump import以插入表空間。例如: [oracle@dest]$ cat manual_imp.par dumpfile= xttdump.dmp directory=DATAPUMP transport_datafiles='/dest_datafile_location/TS1.dbf','/dest_datafile_location/TS2.dbf' [oracle@dest]$ impdp system/oracle parfile=manual_imp.par |
|
5B.1 | 目標端 | 創建directory 目錄 | SYS@DESTDB> create directory dpump_tts as '/home/oracle/destination/convert'; SYS@DESTDB> GRANT READ, WRITE ON DIRECTORY dpump_tts TO system; |
|
5B.2 | 目標端 | 生成新的xttplugin.txt | [oracle@dest]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -e 這將在文件xttplugin.txt中生成示例Data Pump network_link transportable import命令,並正確設置可傳輸表空間參數TRANSPORT_TABLESPACES和TRANSPORT_DATAFILES。此外,還將創建數據泵導出文件。 |
注意:此命令將覆蓋Step5A所需的先前xttplugin.txt。 |
5B.3 | 目標端 | 創建dblink | SQL@dest> create public database link ttslink connect to system identified by <password> using '<tns_to_source>'; SQL@dest> select name from v$database@ttslink; |
|
5B.4 | 目標端 | 修改並執行Impdp命令: | 不需要單獨的導出或轉儲文件。要使用此命令執行表空間傳輸,則必須編輯導入命令文件xttplugin.txt(在步驟5B.1中生成)並將導入參數DIRECTORY,LOGFILE和NETWORK_LINK替換為特定於站點的值。 例: [oracle@dest]$ impdp directory=DATA_PUMP_DIR logfile=tts_imp.log network_link=ttslink \ transport_full_check=no \ transport_tablespaces=TS1,TS2 \ transport_datafiles='+DATA/prod/datafile/ts1.285.771686721', \ '+DATA/prod/datafile/ts2.286.771686723', \ '+DATA/prod/datafile/ts2.287.771686743' |
|
階段六:驗證傳輸的數據 | ||||
6.1 | 目標端 | 檢查表空間是否損壞 | 運行RMAN以通過運行VALIDATE TABLESPACE來檢查物理和邏輯塊損壞,如下所示: RMAN> validate tablespace TS1, TS2 check logical; |
|
6.2 | 目標端 | 更改表空間為讀寫 | system@dest/prod SQL> alter tablespace TS1 read write; system@dest/prod SQL> alter tablespace TS2 read write; |
|
階段七:清理 | ||||
7.1 | 目標端 | 清理 | 如果為遷移創建了單獨的增量轉換主目錄和實例,則可能會關閉實例並刪除軟件。 此過程創建的文件不再需要,現在可以刪除。它們包括以下內容: 源系統上的backupformat位置 目的地系統上的stageondest位置 源系統和目標系統中的$ TMPDIR位置 |
|
7.2 | 目標端 | 其它注意事項 | a.dblink 時建議單獨配置 端口,以防止影響網絡 b.數據增量期間,建議禁止添加數據文件 c.如用RMAN 方式,要預估轉儲空間 d.遷移完成后,注意檢查監聽,服務 |
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">