首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 可傳輸表空間實戰(三):跨平台傳輸完整實操指南

     編輯:Oracle 資料庫基礎

實驗環境

  • 源庫: SID=JSSWEB,Windows IA (32-bit),Little Endian
  • 目標庫: SID=JSSTTS,Linux IA (32-bit),Little Endian
  • 雙方均為 Oracle 10.2.0.1.0,字節序相同,可免除 CONVERT 步驟

步驟一:確認平台支援與 Endianness

-- 源庫/目標庫均執行
SELECT d.NAME, i.VERSION, d.PLATFORM_NAME, ENDIAN_FORMAT
FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d, V$INSTANCE i
WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME
  AND d.DB_UNIQUE_NAME = i.INSTANCE_NAME;

查詢結果確認版本、平台名稱與 Endian Format,並對照 V$TRANSPORTABLE_PLATFORM 視圖確認雙向支援。

步驟二:驗證表空間自包含性

使用 DBMS_TTS.TRANSPORT_SET_CHECK:

  • 非嚴格模式: EXEC dbms_tts.transport_set_check('JSsweb', TRUE); —— 僅檢查表空間內部引用
  • 嚴格模式: EXEC dbms_tts.transport_set_check('JSsweb', TRUE, TRUE); —— 同時檢查外部表空間對本表空間物件的引用

若 SELECT * FROM TRANSPORT_SET_VIOLATIONS; 返回無記錄,則通過驗證。本例中嚴格模式發現索引 IDX_DEPT_DEPTNO 位於 USERS 表空間,需納入傳輸集或調整結構。

步驟三:生成可傳輸表空間集

  1. 置為 READ ONLY: ALTER TABLESPACE JSSWEB READ ONLY;
  2. Data Pump 導出元數據:
    expdp system/verysafe \
      DUMPFILE=expdp_JSsweb.dmp \
      DIRECTORY=DATA_PUMP_DIR \
      TRANSPORT_TABLESPACES=JSsweb

    導出檔極小(僅含元數據),速度極快。若需嚴格自包含導出,加參數 TRANSPORT_FULL_CHECK=Y。

  3. 字節序轉換: 本例 Endian 相同,跳過此步。

步驟四:傳輸檔案至目標庫

  • 以二進制模式複製:資料檔(.dbf)與 Dump 檔
  • 目標庫確認 DATA_PUMP_DIR 實際路徑:SELECT * FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME='DATA_PUMP_DIR';
  • 複製完成後,務必將源庫表空間改回 READ WRITE:ALTER TABLESPACE JSSWEB READ WRITE;

步驟五:導入表空間集

  1. 若 Block Size 不同,先設定目標庫 DB_nK_CACHE_SIZE
  2. Impdp 導入元數據:
    impdp system/verysafe \
      DUMPFILE=EXPDP_JSSWEB.DMP \
      DIRECTORY=DATA_PUMP_DIR \
      TRANSPORT_DATAFILES=/opt/ora10g/oradata/jsstts/jssweb.dbf \
      REMAP_SCHEMA=(jss:JSsl)

    REMAP_SCHEMA 可將物件歸屬從源 Schema 映射至目標 Schema,避免用戶不存在報錯。

  3. 置為 READ WRITE: ALTER TABLESPACE JSSWEB READ WRITE;(導入後預設為 READ ONLY)

補充說明

  • 若表空間包含 XMLType,必須使用傳統 EXP/IMP 並設 CONSTRAINTS=Y TRIGGERS=Y
  • 本範例未執行嚴格自包含檢查,導致索引遺失,生產環境務必啟用嚴格模式
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved