本篇文章為大家展示了db2move怎樣導(dǎo)入導(dǎo)出數(shù)據(jù)庫,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的自流井網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
在進(jìn)行數(shù)據(jù)遷移時,使用DB2MOVE導(dǎo)入導(dǎo)出數(shù)據(jù)是比較方便的。
(一)使用db2move導(dǎo)出全部數(shù)據(jù)
db2move是一個集成式的數(shù)據(jù)移動工具,它支持導(dǎo)出(export)、導(dǎo)入(import)、裝入(load)三種操作方式。其實db2move的這三種工作方式分別是通過簡單使用db2 export, db2 import, db2 load指令來完成的。
此部分僅僅介紹其export功能,import和load將在稍后的部分介紹。使用db2move導(dǎo)出的數(shù)據(jù)文件格式是IXF。
建立并進(jìn)入數(shù)據(jù)存放目錄:
$ mkdir /home/backup/mydata
$ cd /home/backup/mydata
導(dǎo)出指定的數(shù)據(jù)庫中的全部數(shù)據(jù):
$ db2move testdb export –u db2inst1 –p password
說明:
1,這將會把數(shù)據(jù)庫testdb中的全部數(shù)據(jù)提取到當(dāng)前目錄(/home/backup/mydata)中。每個表的內(nèi)容都存儲在一個.ixf文件中,每個.ixf文件都有一個與之相對應(yīng)的.msg文件,.msg文件是描述從表中導(dǎo)出數(shù)據(jù)時的信息的。另外還有兩個文件,db2move.lst用來記錄.ixf文件、.msg文件與表的一一對應(yīng)關(guān)系,EXPORT.out記錄的是導(dǎo)出數(shù)據(jù)時的屏幕輸出。
2,有關(guān)db2move指令更多的細(xì)節(jié),請直接執(zhí)行該指令,將會打印出其幫助信息。
(二)使用db2move導(dǎo)入(import)數(shù)據(jù)
以db2inst1用戶身份登錄到Host 2。
創(chuàng)建數(shù)據(jù)庫mytestdb:
$ db2
db2 => create database mytestdb on ‘/home/db2inst1’ using codeset UTF-8 territory CN
db2 => connect to mytestdb user db2inst1 using thepasswd
創(chuàng)建一個pagesize為16K的bufferpool,名為mybigpool:
db2 => create bufferpool mybigpool immediate size 1000 pagesize 16K (此步驟 可以省略)
創(chuàng)建一個tablespace使用上面創(chuàng)建的bufferpool,名為mybigspace:
db2 => create regular tablespace mybigspace pagesize 16K managed by system using (‘/home/db2inst1/db2inst1/NODE0000/SQL00004/SQLT0003.0’) extentsize 16 overhead 12.67 prefetchsize 16 transferrate 0.18 bufferpool mybigpool dropped table recovery off (此步驟 可以省略)
注:
extentsize, overhead, prefetchsize, transferrate這幾個參數(shù)值與所使用的服務(wù)器有關(guān),我這里使用的值是基于普通的、使用SCSI硬盤的PC服務(wù)器的。
完成空庫的創(chuàng)建:
db2 => commit work
db2 => connect reset
db2 => terminate
導(dǎo)入(import)數(shù)據(jù):
使用import方式不需要先建表結(jié)構(gòu),即,準(zhǔn)備好一個空庫就行了。這一點與load方式不一樣,load方式需要先建立表結(jié)構(gòu)。
我將從Host1上導(dǎo)出的全部數(shù)據(jù)文件(位于Host1的 /home/backup/mydata下)復(fù)制到Host2下某個目錄下,假定為 /home/movedata
$ cd /home/movedata
$ db2move mytestdb import –u db2inst1 –p thepasswd
此時屏幕上會顯示有關(guān)導(dǎo)入數(shù)據(jù)的信息。
存在的問題:
db2move import方式只能導(dǎo)入“普通”的表,如果表中存在自增長的IDENTITY列,那么使用db2move import時,會出錯。這是因為,如果IDENTITY列創(chuàng)建表的時候都是定義成always的話,那么在導(dǎo)入數(shù)據(jù)的時候該列數(shù)據(jù)是不能被賦值的,而是應(yīng)該由系統(tǒng)生成,使用db2move無法導(dǎo)入這樣的表。對于這種含有IDENTITY列的表,只能使用db2 import指令來進(jìn)行導(dǎo)入,相關(guān)的參數(shù)是IDENTITYIGNORE,IDENTITYMISSING。我將在下一部分給出具體的指令操作。
一句題外話:
如果需要實現(xiàn)唯一主鍵,可以不必使用IDENTITY列,改而使用sequence,這樣比較便于維護(hù)和管理。
(三)db2move 裝載數(shù)據(jù)
db2move mytestdb load
如果發(fā)現(xiàn)有表導(dǎo)入失敗,需要手工處理。
注意點:
mybigspace可能要根據(jù)實際情況設(shè)值
導(dǎo)入的時候把數(shù)據(jù)庫的一些表結(jié)構(gòu)中的約束等等都去掉,導(dǎo)完之后再加上.
上述內(nèi)容就是db2move怎樣導(dǎo)入導(dǎo)出數(shù)據(jù)庫,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享文章:db2move怎樣導(dǎo)入導(dǎo)出數(shù)據(jù)庫
URL鏈接:http://chinadenli.net/article36/gdoosg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、品牌網(wǎng)站設(shè)計、App開發(fā)、Google、網(wǎng)站設(shè)計、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)