您好,登錄后才能下訂單哦!
db2 backup/restore 備份與恢復只適用于相同操作系統平臺的數據庫;
命令格式: db2 backup db < 數據庫名 > to < 目錄名 >
注:在備份前需斷開所有與數據庫的連接 , 斷開連接后再備份 , 目錄名是備份后的文件的存放目錄.
例 :
db2 backup database sample to d:\backup
如果數據庫正在被使用,可能回報錯“ SQL1035N
The database is currently in use. SQLSTATE=57019 ”需要停掉服務,用命令:
db2 force application all
db2 backup db sample to d:\ backup
命令格式: db2 restore db < 數據庫名 > from < 目錄名 >
例 : db2 restore db sample from d:\ backup
--- 刪除原有的 sample 數據庫 ( 模擬數據庫恢復 )
恢復數據庫sample
db2 restore db sample from D:\DB2\backup
查看數據庫
1) 首先連接到要導出的數據庫上,如本例導出數據庫 nctest :
db2 connect to nctest user db2inst1 using db2inst1
其中的參數user 后面跟指定用戶, using 后面指定用戶的密碼,不指定時會使用默認用戶進行登錄;
2) 使用 db2look 導出數據對象的定義語句
db2look – d nctest – e – o ncdb.sql –i db2inst1 – w d b2inst1
命令中的參數 – o 意思是將數據對象的定義導出到指定的文件中;
其中的參數-i 后面跟指定用戶, -w 后面指定用戶的密碼,不指定時會使用默認用戶進行登錄;
3) 使用db2move 命令導出數據庫對象的數據
db2move nctest export – u db2inst1 – p db2inst1
連接數據庫sample
通過db2look 導出 sample 數據庫創建對象的腳本 sample.sql
db2look -d sample -e -o sample.sql -i 用戶名 -w 用戶密碼
導出數據
db2move sample export -u 用戶名 -p 用戶密碼
sample.sql: 創建數據對象的腳本;
export.out: 數據庫導出日志;
db2move.lst: 包括導出的對象名稱和各個對象所屬的模式;
--- 如果導出時報錯 SQL3107W ,需要更改環境變量的字符集
將SAMPLE 數據庫數據導入到 test 數據庫中
db2 create database test
通過db2move 恢復 NC 數據庫時,可以根據建庫腳本 1.sql ,先進行創建數據庫和表空間等操作;
db2 connect to test user 用戶名 using 用戶密碼
a.sql---create_table.sql
b.sql---create_foreign.sql
修改sample.sql 腳本,將腳本中數據庫名稱,表空間名稱更改為實際的名稱;
將sample.sql 腳本中創建外鍵的語句剪切到另一個腳本中 (create_foreign.sql);
如果導入數據時,在沒有導入主表數據之前,導入對應外鍵表數據時會出現錯誤,所以需要在成功導入外數據后,在進行外鍵的創建;
創建表結構
db2 -tvf a.sql
...
導入數據
db2 test import -io insert -u 用戶名 -p 用戶密碼
導入外鍵約束
db2 -tvf b.sql
查看數據
.....
歡迎關注我的微信公眾號"IT小Chen",共同學習,共同成長!!!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。