国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

解決Oracle中Exp/Imp大量數(shù)據(jù)處理問題

2024-08-29 13:35:44
字體:
供稿:網(wǎng)友
    Oracle的eXP/imp是許多用戶經(jīng)常使用的兩個工具。 它們常被用來做數(shù)據(jù)庫的邏輯備份,數(shù)據(jù)庫重組和數(shù)據(jù)轉(zhuǎn)移等工作。 先由exp把數(shù)據(jù)卸出到文件系統(tǒng), 產(chǎn)生一個。dmp文件, 然后必要時再由imp將數(shù)據(jù)裝入數(shù)據(jù)庫。 對于一般中小型數(shù)據(jù)庫來說, 全數(shù)據(jù)庫的exp所產(chǎn)生的dmp文件可能小于2GB, 但對稍大型的數(shù)據(jù)庫, exp產(chǎn)生的數(shù)據(jù)動輒數(shù)十至上百個GB. 而現(xiàn)時多數(shù)操作系統(tǒng)為32位, 其文件系統(tǒng)答應(yīng)的最大文件為2GB. 這樣顯然不能由文件系統(tǒng)存放exp產(chǎn)生的數(shù)據(jù)。 這是問題之一。 另一個問題是隨著數(shù)據(jù)庫的不斷增大, exp所需時間越來越長以致實際上很難實施。 本文針對以上兩個問題討論相應(yīng)對策。    我們以UNIX為例首先看看如何超越2GB限制。 這需利用UNIX的通用技術(shù), 如管道(named pipe), 數(shù)據(jù)拷貝工具dd以及數(shù)據(jù)壓縮(comPRess)。 下面分別討論這幾種技術(shù)。    。管道 是一種偽文件。 它存在于內(nèi)存中, 用于快速I/O操作。 管道的緩沖區(qū)采用先進先出機制, 即寫管道進程寫到緩沖區(qū)頭部而讀管道進程讀取管道尾部。 建立管道的命令為“mknod filename p".    。dd 答應(yīng)我們從一個設(shè)備拷貝數(shù)據(jù)到另一個設(shè)備。    。compress 為UNIX數(shù)據(jù)壓縮工具。    實施exp之前, 我們可先檢查所產(chǎn)生dmp文件的大小。 以下步驟既可實現(xiàn),    1. 生成管道:    $ mknod /tmp/mypipe p    2. exp結(jié)果輸出到該管道    $ exp file=/tmp/mypipe <……其它exp選項> &    3. 讀取管道并把結(jié)果輸出到管道, 只為查看數(shù)據(jù)量:    $ dd if=/tmp/mypipe of=/dev/null    結(jié)果返回exp (。dmp)文件大小, 單位為塊(512 bytes)。    現(xiàn)在我們可以著手討論具體方法,    1. 文件壓縮    2. 直接exp到磁帶    3. 綜合方法    首先看文件壓縮方法。 利用文件壓縮我們可盡量避免dmp文件大小超過2GB限制。 我們利用UNIX的管道技術(shù), 具體步驟如下,    1. 啟動compress進程, 使之從管道讀取數(shù)據(jù)并輸出到磁盤文件。    $ 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到裸設(shè)備上的方法,    $ exp file=/dev/rdsk/c0t3d0s0 volsize=4G    imp類似。以上方法都可使我們避免2GB限制。    下面討論如何縮短exp索需時間的問題。 目前多數(shù)用戶會采用exp到磁帶的方法只因沒有足夠的剩余硬盤空間。 而整個exp過程所花時間的大部分都在寫磁帶上。 通過我們上面對UNIX工具的討論, 我們可以做到先exp到管道, 再將管道數(shù)據(jù)壓縮后輸出到磁帶上。 這樣寫磁帶的數(shù)據(jù)量可大大減少, 從而在相當(dāng)程度上縮短寫磁帶時間。 另外從Oracle內(nèi)部角度講, 從7.3版開始, Oracle答應(yīng)用戶做direct path export, 即跳過Oracle    $ make -f $ORACLE_HOME/rdbms/lib/oracle.mk expst    $ make -f $ORACLE_HOME/rdbms/lib/oracle.mk impst    以上步驟產(chǎn)生的可執(zhí)行文件expst (exp single task)和impst與exp/imp用法完全相同。
使用它們比使用exp/imp可節(jié)省多至30%的時間。 但在使用它們時千萬要注重一點, 即一定要保證在使用expst/impst時不能有任何其他用戶在使用Oracle數(shù)據(jù)庫, 否則數(shù)據(jù)庫會產(chǎn)生不可預(yù)知的后果甚至毀壞。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 淳化县| 项城市| 灵石县| 台前县| 吴川市| 密山市| 明光市| 楚雄市| 大化| 宁都县| 呈贡县| 贵定县| 邛崃市| 罗平县| 河池市| 临海市| 右玉县| 大新县| 常熟市| 瑞丽市| 丰原市| 云南省| 景东| 博野县| 嘉祥县| 水城县| 堆龙德庆县| 青铜峡市| 潮安县| 屯昌县| 孟津县| 海兴县| 巩留县| 横山县| 酒泉市| 项城市| 祁阳县| 江油市| 潮安县| 平顶山市| 平顶山市|