您好,登錄后才能下訂單哦!
本篇文章為大家展示了db2move怎樣導入導出數據庫,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
在進行數據遷移時,使用DB2MOVE導入導出數據是比較方便的。
(一)使用db2move導出全部數據
db2move是一個集成式的數據移動工具,它支持導出(export)、導入(import)、裝入(load)三種操作方式。其實db2move的這三種工作方式分別是通過簡單使用db2 export, db2 import, db2 load指令來完成的。
此部分僅僅介紹其export功能,import和load將在稍后的部分介紹。使用db2move導出的數據文件格式是IXF。
建立并進入數據存放目錄:
$ mkdir /home/backup/mydata
$ cd /home/backup/mydata
導出指定的數據庫中的全部數據:
$ db2move testdb export –u db2inst1 –p password
說明:
1,這將會把數據庫testdb中的全部數據提取到當前目錄(/home/backup/mydata)中。每個表的內容都存儲在一個.ixf文件中,每個.ixf文件都有一個與之相對應的.msg文件,.msg文件是描述從表中導出數據時的信息的。另外還有兩個文件,db2move.lst用來記錄.ixf文件、.msg文件與表的一一對應關系,EXPORT.out記錄的是導出數據時的屏幕輸出。
2,有關db2move指令更多的細節,請直接執行該指令,將會打印出其幫助信息。
(二)使用db2move導入(import)數據
以db2inst1用戶身份登錄到Host 2。
創建數據庫mytestdb:
$ db2
db2 => create database mytestdb on ‘/home/db2inst1’ using codeset UTF-8 territory CN
db2 => connect to mytestdb user db2inst1 using thepasswd
創建一個pagesize為16K的bufferpool,名為mybigpool:
db2 => create bufferpool mybigpool immediate size 1000 pagesize 16K (此步驟 可以省略)
創建一個tablespace使用上面創建的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這幾個參數值與所使用的服務器有關,我這里使用的值是基于普通的、使用SCSI硬盤的PC服務器的。
完成空庫的創建:
db2 => commit work
db2 => connect reset
db2 => terminate
導入(import)數據:
使用import方式不需要先建表結構,即,準備好一個空庫就行了。這一點與load方式不一樣,load方式需要先建立表結構。
我將從Host1上導出的全部數據文件(位于Host1的 /home/backup/mydata下)復制到Host2下某個目錄下,假定為 /home/movedata
$ cd /home/movedata
$ db2move mytestdb import –u db2inst1 –p thepasswd
此時屏幕上會顯示有關導入數據的信息。
存在的問題:
db2move import方式只能導入“普通”的表,如果表中存在自增長的IDENTITY列,那么使用db2move import時,會出錯。這是因為,如果IDENTITY列創建表的時候都是定義成always的話,那么在導入數據的時候該列數據是不能被賦值的,而是應該由系統生成,使用db2move無法導入這樣的表。對于這種含有IDENTITY列的表,只能使用db2 import指令來進行導入,相關的參數是IDENTITYIGNORE,IDENTITYMISSING。我將在下一部分給出具體的指令操作。
一句題外話:
如果需要實現唯一主鍵,可以不必使用IDENTITY列,改而使用sequence,這樣比較便于維護和管理。
(三)db2move 裝載數據
db2move mytestdb load
如果發現有表導入失敗,需要手工處理。
注意點:
mybigspace可能要根據實際情況設值
導入的時候把數據庫的一些表結構中的約束等等都去掉,導完之后再加上.
上述內容就是db2move怎樣導入導出數據庫,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。