婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Oracle 管道 解決Exp/Imp大量數據處理問題

Oracle 管道 解決Exp/Imp大量數據處理問題

熱門標簽:宜賓外呼系統廠家 南通防封外呼系統運營商 修改高德地圖標注 廣州市400電話辦理 地圖標注原件 語音電話機器人缺點 百變地圖標注 淮安自動外呼系統開發 語音電話機器人營銷方案

先由exp把數據卸出到文件系統, 產生一個.dmp文件, 然后必要時再由imp將數據裝入數據庫. 對于一般中小型數據庫來說, 全數據庫的exp所產生的dmp文件可能小于2GB, 但對稍大型的數據庫, exp產生的數據動輒數十至上百個GB. 而現時多數操作系統為32位, 其文件系統允許的最大文件為2GB. 這樣顯然不能由文件系統存放exp產生的數據. 這是問題之一. 另一個問題是隨著數據庫的不斷增大, exp所需時間越來越長以致實際上很難實施. 本文針對以上兩個問題討論相應對策.

我們以UNIX為例首先看看怎么樣超越2GB限制. 這需利用UNIX的通用技術, 如管道(named pipe), 數據拷貝工具dd以及數據壓縮(compress). 下面分別討論這幾種技術.

·管道 是一種偽文件. 它存在于內存中, 用于快速I/O操作. 管道的緩沖區采用先進先出機制, 即寫管道進程寫到緩沖區頭部而讀管道進程讀取管道尾部. 建立管道的命令為”mknod filename p".
·dd 允許我們從一個設備拷貝數據到另一個設備.
·compress 為UNIX數據壓縮工具.
實施exp之前, 我們可先檢查所產生dmp文件的大小. 以下步驟既可實現,
1. 生成管道:
$ mknod /tmp/mypipe p
2. exp結果輸出到該管道
$ exp file=/tmp/mypipe ...其它exp選項>
3. 讀取管道并把結果輸出到管道, 只為查看數據量:
$ dd if=/tmp/mypipe of=/dev/null
結果返回exp (.dmp)文件大小, 單位為塊(512 bytes).
現在我們可以著手討論具體方法,
1. 文件壓縮
2. 直接exp到磁帶
3. 綜合方法
首先看文件壓縮方法. 利用文件壓縮我們可盡量避免dmp文件大小超過2GB限制. 我們利用UNIX的管道技術, 具體步驟如下,
1. 啟動compress進程, 使之從管道讀取數據并輸出到磁盤文件.
$ mknod /tmp/exp_pipe p
$ compress /tmp/exp_pipe > export.dmp.Z
2. exp到管道.
$ exp file=/tmp/exp_pipe ...
imp時情況類似.
再看看直接exp到磁帶上的方法.
$ exp file=/dev/rmt/0m volsize=4G
$ imp file=/dev/rmt/0m volsize=4G
最后看看exp到裸設備上的方法,
$ exp file=/dev/rdsk/c0t3d0s0 volsize=4G
imp類似.以上方法都可使我們避免2GB限制.
下面討論怎么樣縮短exp索需時間的問題. 目前多數用戶會采用exp到磁帶的方法只因沒有足夠的剩余硬盤空間. 而整個exp過程所花時間的大部分都在寫磁帶上. 通過我們上面對UNIX工具的討論, 我們可以做到先exp到管道, 再將管道數據壓縮后輸出到磁帶上. 這樣寫磁帶的數據量可大大減少, 從而在相當程度上縮短寫磁帶時間. 另外從Oracle內部角度講, 從7.3版開始, Oracle允許用戶做direct path export, 即跳過Oracle
$ make -f $ORACLE_HOME/rdbms/lib/oracle.mk expst
$ make -f $ORACLE_HOME/rdbms/lib/oracle.mk impst
以上步驟產生的可執行文件expst (exp single task)和impst與exp/imp用法完全相同. 使用它們比使用exp/imp可節省多至30%的時間. 但在使用它們時千萬要注意一點, 即一定要保證在使用expst/impst時不能有任何其他用戶在使用Oracle數據庫, 否則數據庫會產生不可預知的后果甚至毀壞.
A:昨天在網上一個朋友問我,如何導入一個通過pipe導出并壓縮過的文件,我特意做了一次試驗:
  Oracle的導出和導入不能直接引用標準的輸出和輸入,但通過unix pipe可是實現,通過管道可以加快exp/imp速度
  通過管道導出數據
  1.通過mknod -p建立管道
  mknod /home/exppipe p --在目錄/home下建立一個管道exppipe 注意參數p
  2.通過exp和gzip導出數據到建立的管道并壓縮
  exp test/test@orcl file=/home/exppipe
  gzip /home/exppipe > exp.dmp.gz
  3.導出成功完成之后刪除建立的管道
  rm -rf /home/exppipe
  根據我的測試,壓縮導出文件只是普通大小的十分之一
  通過管道導入生成的文件
  1.建立管道
mknod /home/exppipe p
  2.導入生成的壓縮文件
  imp system/passwd@orcl file=/home/exppipe fromuser=test touser=macro
  gunzip exp.dmp.gz > /home/exppipe
  這樣就導入成功,之后刪除管道
  3.刪除管道
 
  rm /home/exppipe
  以上總結,PiPe真不錯,能加快速度,同時還可以避免單個文件大于2G的限制。

您可能感興趣的文章:
  • oracle中exp,imp的使用詳解
  • Oracle 數據庫導出(exp)導入(imp)說明
  • Oracle EXP和IMP用法和介紹
  • 使用imp和exp命令對Oracle數據庫進行導入導出操作詳解

標簽:南平 嘉峪關 通化 股票投資 聊城 南平 襄陽 池州

巨人網絡通訊聲明:本文標題《Oracle 管道 解決Exp/Imp大量數據處理問題》,本文關鍵詞  Oracle,管道,解決,Exp,Imp,大量,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle 管道 解決Exp/Imp大量數據處理問題》相關的同類信息!
  • 本頁收集關于Oracle 管道 解決Exp/Imp大量數據處理問題的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 横峰县| 高阳县| 吉安市| 阿拉善右旗| 乌鲁木齐市| 华宁县| 曲水县| 长宁区| 万年县| 九寨沟县| 岢岚县| 贵溪市| 合肥市| 宜宾县| 即墨市| 瑞昌市| 盐津县| 华容县| 桑植县| 车致| 浦东新区| 巢湖市| 云浮市| 达孜县| 闸北区| 韶关市| 思茅市| 子洲县| 高要市| 越西县| 龙岩市| 会宁县| 富源县| 汕头市| 鹿泉市| 广德县| 出国| 平安县| 华阴市| 特克斯县| 长治市|