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

Oracle EXP 導出指定時間範圍數據:QUERY 參數實戰範例

     編輯:Oracle 資料庫基礎

場景

使用 exp 導出工具,按條件導出表 wwm_table 中 repair_date 在 2007-01-16 01:00:01 至 2007-03-01 01:00:01 之間的記錄。

命令範例

exp user/pass@sid \
  tables=wwm_table \
  query="WHERE repair_date > TO_DATE('01/16/2007 01:00:01', 'MM/DD/YYYY HH24:MI:SS') \
         AND repair_date < TO_DATE('03/01/2007 01:00:01', 'MM/DD/YYYY HH24:MI:SS')" \
  file=ti_repair_deed.dmp

關鍵點解析

  1. QUERY 參數:接收 WHERE 子句(不含 WHERE 關鍵字),雙引號包裹,內部單引號需轉義(Windows 命令行用 \",Linux/Unix 用 ')。
  2. 日期格式:TO_DATE 顯式指定格式模板,避免 NLS 環境差異導致錯誤。
  3. 表名:tables=wwm_table 指定單表導出。
  4. 輸出文件:file=ti_repair_deed.dmp 指定導出文件名。

常見問題與避坑指南

  • 雙引號嵌套:Windows CMD 中 query="WHERE ... '...'" 易出錯,建議寫參數文件(parfile=exp.par),文件內容:
    userid=user/pass@sid
    tables=wwm_table
    query=WHERE repair_date > TO_DATE('01/16/2007 01:00:01', 'MM/DD/YYYY HH24:MI:SS') AND repair_date < TO_DATE('03/01/2007 01:00:01', 'MM/DD/YYYY HH24:MI:SS')
    file=ti_repair_deed.dmp
    然後執行 exp parfile=exp.par。
  • 大數據量:加上 BUFFER=8192000 RECORDLENGTH=65535 提升導出速度;超過 2GB 文件限制時使用 FILESIZE=2G 分卷。
  • 一致性:加 CONSISTENT=Y 確保導出數據為事務一致性視圖(需足夠 UNDO 空間)。
  • 統計信息:STATISTICS=NONE 可跳過統計信息導出,加快速度。

驗證導出結果

imp user/pass@sid file=ti_repair_deed.dmp show=y log=imp_verify.log

SHOW=Y 僅列出導出對象與行數,不實際導入,快速驗證。

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