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

Oracle 邏輯備份與恢復完整指南:exp/imp 三種模式、參數詳解、磁帶轉儲與字符集轉換

     編輯:Oracle 資料庫基礎

備份模式對比

模式範圍適用場景典型指令
Table (表級)指定使用者下的特定表精準備份核心業務表exp user/pwd tables=t1,t2 file=exp.dmp
User (用戶級)某使用者擁有的所有物件整個 Schema 遷移/備份exp user/pwd owner=schema file=exp.dmp
Full (完整)整個資料庫 (含系統表空間)異機完整複製、災難恢復演練exp system/pwd full=y file=exp.dmp

常用參數速查

參數建議值說明
ROWSY匯出資料列
INDEXESN匯入時重建索引較快,匯出可不含索引定義
COMPRESSN避免將初始程度壓縮為單一程度 (易導致匯入失敗)
BUFFER65536緩衝區大小 (Bytes),調大提升吞吐
FEEDBACK100000每 N 行顯示進度點
VOLSIZE0磁帶卷大小,0=不限制
CONSISTENTY確保交易一致性 (需足夠 Undo)

增量備份 (僅限 Full 模式)

# 首次完整備份
exp system/pwd full=y inctype=complete file=full_01.dmp

# 後續累積增量
exp system/pwd full=y inctype=cumulative file=cum_02.dmp

# 或差異增量
exp system/pwd full=y inctype=incremental file=inc_03.dmp

前提:用戶需具 EXP_FULL_DATABASE 角色;資料量較小時適用。

磁帶轉儲操作 (tar)

# 查看磁帶裝置
lsdev -Cc tape

# 查看磁帶內容 (僅限檔案系統格式)
tar -tvf /dev/rmt0

# 覆蓋寫入新備份
tar -cvf /dev/rmt0 exp_schema_20240115.dmp

# 追加寫入 (保留既有資料)
tar -rvf /dev/rmt0 exp_schema_20240115.dmp

# 還原全部 / 指定檔案
tar -xvf /dev/rmt0
tar -xvf /dev/rmt0 exp_schema_20240115.dmp

警告:若直接 exp ... file=/dev/rmt0 寫入磁帶,該磁帶不可再用 tar 追加其他檔案,否則備份損壞。

恢復 (imp) 三模式對應

模式典型指令
Tableimp user/pwd fromuser=src touser=dst tables=t1,t2 file=exp.dmp ignore=y
Userimp user/pwd fromuser=src touser=dst file=exp.dmp ignore=y
Fullimp system/pwd full=y file=exp.dmp ignore=y

關鍵參數:IGNORE 與 INDEXES

  • IGNORE=Y:目標表存在時跳過 CREATE TABLE,直接 INSERT 資料;違反 PK/UK 的列跳過,合法列寫入。
  • IGNORE=N (預設):目標表存在則報錯並跳過該表,繼續下一張表。
  • INDEXES=N:不重建非唯一索引,主鍵/唯一索引仍會強制重建 以保資料完整性。

字符集轉換規則

  • 單位元組字符集 (US7ASCII 等) → 匯入時自動轉換為 Session NLS_LANG 字符集。
  • 多位元組字符集 (ZHS16GBK, AL32UTF8 等) → 盡量保持源/目標字符集相同 避免轉換損耗;若必須轉換,目標字符集必須為源字符集的 超集 (如 ZHS16GBK → AL32UTF8)。

最佳實務建議

  1. 備份前以 SYS 執行 @?/rdbms/admin/catexp.sql (僅首次)。
  2. 優先備份至磁碟,驗證 imp ... show=y 可讀後再轉儲磁帶。
  3. 排程於離峰時段 (如 23:00 後) 執行,減輕 I/O 衝擊。
  4. 定期演練恢復流程,驗證備份可用性與 RTO/RPO。
  5. 10g+ 建議改用 Data Pump (expdp/impdp):支援並行、壓縮、網路模式、細粒度物件過濾、可重啟作業。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved