溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

DB2備份與恢復(fù)

發(fā)布時(shí)間:2020-08-11 03:40:14 來(lái)源:ITPUB博客 閱讀:181 作者:chenoracle 欄目:關(guān)系型數(shù)據(jù)庫(kù)

DB2 備份與恢復(fù)

整理下16年寫(xiě)的DB2相關(guān)文檔,換工作以后一直沒(méi)用過(guò)DB2,忘的差不多了。

一 db2 backup/restore 備份和恢復(fù)

1.1 備份

db2 backup/restore 備份與恢復(fù)只適用于相同操作系統(tǒng)平臺(tái)的數(shù)據(jù)庫(kù);

命令格式: db2 backup db < 數(shù)據(jù)庫(kù)名 > to < 目錄名 >

注:在備份前需斷開(kāi)所有與數(shù)據(jù)庫(kù)的連接 , 斷開(kāi)連接后再備份 , 目錄名是備份后的文件的存放目錄.

:

db2 backup database sample to d:\backup

如果數(shù)據(jù)庫(kù)正在被使用,可能回報(bào)錯(cuò) SQL1035N  

The database is currently in use.  SQLSTATE=57019 ”需要停掉服務(wù),用命令:

db2 force application all

db2 backup db sample  to d:\ backup

DB2備份與恢復(fù)

DB2備份與恢復(fù)

1.2恢復(fù)

命令格式: db2 restore db < 數(shù)據(jù)庫(kù)名 > from < 目錄名 >

: db2 restore db sample  from d:\ backup

--- 刪除原有的 sample 數(shù)據(jù)庫(kù) ( 模擬數(shù)據(jù)庫(kù)恢復(fù) )

DB2備份與恢復(fù)

DB2備份與恢復(fù)

恢復(fù)數(shù)據(jù)庫(kù)sample

db2 restore db sample from D:\DB2\backup

DB2備份與恢復(fù)

查看數(shù)據(jù)庫(kù)

DB2備份與恢復(fù)

二:db2move 備份和恢復(fù)

2.1 備份

1) 首先連接到要導(dǎo)出的數(shù)據(jù)庫(kù)上,如本例導(dǎo)出數(shù)據(jù)庫(kù) nctest

db2 connect to nctest user db2inst1 using db2inst1

其中的參數(shù)user 后面跟指定用戶, using 后面指定用戶的密碼,不指定時(shí)會(huì)使用默認(rèn)用戶進(jìn)行登錄;

2) 使用 db2look 導(dǎo)出數(shù)據(jù)對(duì)象的定義語(yǔ)句

  db2look  d nctest  o ncdb.sql  –i  db2inst1  w d b2inst1

  命令中的參數(shù) o 意思是將數(shù)據(jù)對(duì)象的定義導(dǎo)出到指定的文件中;

其中的參數(shù)-i 后面跟指定用戶, -w 后面指定用戶的密碼,不指定時(shí)會(huì)使用默認(rèn)用戶進(jìn)行登錄;

  3)  使用db2move 命令導(dǎo)出數(shù)據(jù)庫(kù)對(duì)象的數(shù)據(jù)

  db2move nctest export  u db2inst1  p db2inst1

連接數(shù)據(jù)庫(kù)sample

DB2備份與恢復(fù)

通過(guò)db2look 導(dǎo)出 sample 數(shù)據(jù)庫(kù)創(chuàng)建對(duì)象的腳本 sample.sql

db2look -d sample -e -o sample.sql -i 用戶名 -w 用戶密碼

DB2備份與恢復(fù)

DB2備份與恢復(fù)

導(dǎo)出數(shù)據(jù)

db2move sample export -u 用戶名 -p 用戶密碼

DB2備份與恢復(fù)

DB2備份與恢復(fù)

DB2備份與恢復(fù)

DB2備份與恢復(fù)

sample.sql: 創(chuàng)建數(shù)據(jù)對(duì)象的腳本;

export.out: 數(shù)據(jù)庫(kù)導(dǎo)出日志;

db2move.lst: 包括導(dǎo)出的對(duì)象名稱和各個(gè)對(duì)象所屬的模式;

--- 如果導(dǎo)出時(shí)報(bào)錯(cuò) SQL3107W ,需要更改環(huán)境變量的字符集

DB2備份與恢復(fù)

DB2備份與恢復(fù)

DB2備份與恢復(fù)

DB2備份與恢復(fù)

2.2 恢復(fù)

SAMPLE 數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入到 test 數(shù)據(jù)庫(kù)中

db2 create database test

通過(guò)db2move 恢復(fù) NC 數(shù)據(jù)庫(kù)時(shí),可以根據(jù)建庫(kù)腳本 1.sql ,先進(jìn)行創(chuàng)建數(shù)據(jù)庫(kù)和表空間等操作;

DB2備份與恢復(fù)

db2 connect to test user 用戶名 using 用戶密碼

DB2備份與恢復(fù)

DB2備份與恢復(fù)

DB2備份與恢復(fù)

a.sql---create_table.sql

b.sql---create_foreign.sql

修改sample.sql 腳本,將腳本中數(shù)據(jù)庫(kù)名稱,表空間名稱更改為實(shí)際的名稱;

sample.sql 腳本中創(chuàng)建外鍵的語(yǔ)句剪切到另一個(gè)腳本中 (create_foreign.sql);

如果導(dǎo)入數(shù)據(jù)時(shí),在沒(méi)有導(dǎo)入主表數(shù)據(jù)之前,導(dǎo)入對(duì)應(yīng)外鍵表數(shù)據(jù)時(shí)會(huì)出現(xiàn)錯(cuò)誤,所以需要在成功導(dǎo)入外數(shù)據(jù)后,在進(jìn)行外鍵的創(chuàng)建;

DB2備份與恢復(fù)

DB2備份與恢復(fù)

DB2備份與恢復(fù)

創(chuàng)建表結(jié)構(gòu)

db2 -tvf a.sql

DB2備份與恢復(fù)

...

DB2備份與恢復(fù)

導(dǎo)入數(shù)據(jù)

db2 test import -io insert -u 用戶名 -p 用戶密碼

DB2備份與恢復(fù)

DB2備份與恢復(fù)

導(dǎo)入外鍵約束

db2 -tvf b.sql

DB2備份與恢復(fù)

DB2備份與恢復(fù)

查看數(shù)據(jù)

DB2備份與恢復(fù)

DB2備份與恢復(fù)

.....

DB2備份與恢復(fù)

歡迎關(guān)注我的微信公眾號(hào)"IT小Chen",共同學(xué)習(xí),共同成長(zhǎng)?。?!

DB2備份與恢復(fù)

DB2備份與恢復(fù)


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI