首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Linux 下使用 exp 導出 Oracle 10g 資料完整指令與壓縮技巧

     編輯:Oracle 資料庫相關知識

Oracle 熱備份匯出 (exp) 在 Linux 環境的標準用法與管道壓縮技巧。

基本匯出指令

exp userid/password@service_name \
    file=/path/to/dumpfile.dmp \
    log=/path/to/export.log \
    full=y

範例:完整資料庫匯出

exp system/manager@orcl \
    file=/backup/exp_full_$(date +%Y%m%d).dmp \
    log=/backup/exp_full_$(date +%Y%m%d).log \
    full=y

進階:匯出同時壓縮 (節省磁碟空間)

# 1. 建立命名管道
mknod /tmp/exp_pipe p
ls -l /tmp/exp_pipe

# 2. 背景啟動壓縮進程讀取管道
gzip < /tmp/exp_pipe > /backup/exp_full_$(date +%Y%m%d).dmp.gz &

# 3. exp 寫入管道 (file 參數指向管道)
exp system/manager@orcl file=/tmp/exp_pipe full=y

# 4. 等待 exp 結束,壓縮進程自動完成
wait

常用參數補充

參數說明
owner=scott僅匯出特定 Schema
tables=emp,dept僅匯出指定資料表
query="WHERE created > SYSDATE-30"條件式匯出 (需雙引號)
consistent=y確保交易一致性視圖 (可能增加 Undo 壓力)
compress=n不合併 Extents (預設 y 會合併)

定時自動化建議

將上述指令寫入 Shell 腳本,配合 crontab 定時執行;匯出完成後可透過 scp/rsync 異地備份。


注意:Oracle 10g+ 推薦使用 Data Pump (expdp/impdp) 取代傳統 exp/imp,效能更強、功能更豐富 (並行、網路模式、細粒度物件過濾等)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved