db2資料庫恢復:
一次意外的儲存故障,導致表空間損壞。然而最近一次成功的完全備份是在8天前,最近8天內只有歸檔日誌的備份。
檢視表空間狀態:有兩個表空間無法回滾。
tablespace id = 7
name = replicas
type = database managed space
contents = all permanent data. large table space.
state = 0x0080
detailed explanation:
roll forward pending
total pages = 959104
useable pages = 959072
used pages = 0
free pages = 0
high water mark (pages) = 0
page size (bytes) = 32768
extent size (pages) = 32
prefetch size (pages) = 32
number of containers = 1
minimum recovery time = 2012-08-29-06.28
.54.000000
tablespace id = 8
name = tracking
type = database managed space
contents = all permanent data. large table space.
state = 0x0080
detailed explanation:
roll forward pending
total pages = 731648
useable pages = 731616
used pages = 0
free pages = 0
high water mark (pages) = 0
page size (bytes) = 4096
extent size (pages) = 32
prefetch size (pages) = 32
number of containers = 1
minimum recovery time = 2012-09-29-08.33
.08.000000
然而,筆者是個手賤的菜鳥!沒做過資料庫恢復,想也沒想,就直接敲了 「db2 restore db rmdb11」,並沒有加」use tsm」,高高興興的等待著資料恢復。結果當命令執行完之後發現悲劇了,df -g看到資料盤使用率變成0%了!!!
好吧,原本只需要恢復歸檔日誌,然後rollforward就能解決。現在真的要全庫恢復了!
列出所有成功的備份
$ db2adutl query
query for database rmdb11
retrieving full database backup information.
1time: 20150419205821 oldest log: s0029102.log db partition number: 0 sessions: 2
2time: 20150418205817 oldest log: s0029098.log db partition number: 0 sessions: 2
3time: 20150311205822 oldest log: s0027842.log db partition number: 0 sessions: 2
4time: 20150307205821 oldest log: s0027705.log db partition number: 0 sessions: 2
5time: 20150306213640 oldest log: s0027645.log db partition number: 0 sessions: 2
6time: 20150215215435 oldest log: s0027134.log db partition number: 0 sessions: 2
7time: 20150213205848 oldest log: s0027077.log db partition number: 0 sessions: 2
恢復資料到最近的時間點
db2 restore db rmdb11 use tsm taken at 20150419205821
前滾資料庫到最近的歸檔日誌
db2 rollforward db rmdb11 to
endof logs and
stop
假如找不到歸檔日誌,首先要恢復需要的歸檔日誌:
並檢查表空間狀態,確認表空間狀態正常。備份
指令碼
$ cat db_backup.sh
#!/bin/ksh
. $home/.profile > /dev/null 2>&1
dbnm=$1
db2adutl delete full keep 7 without prompting
db2 "backup db $dbnm online use tsm open 1 sessions without prompting"
備份命令
db2 backup db rmdb11 online use tsm open
1 sessions without prompting
DB2資料庫備份恢復
song 說 在你本機上有沒有乙個叫huaxing的資料庫?小饒 說 沒有小饒 說 是否要建立個例項?song 說 你想把它恢復到本機上,但是現在在wjs的機器上有個叫huaxing的資料庫,你可以在你的機器上訪問wjs上的huaxing資料庫,是這樣嗎?小饒 說 是的小饒 說 現在想做個測試,看備...
備份恢復DB2資料庫步驟
備份 增量意味著,不需要每次備份乙個超大的資料庫.同時意味著你可以將資料庫恢復到崩潰前的狀態,而不是你最後一次備份時的狀態,最大可能的減少資料損失.更改logretain為recovery或者on,改改userexit為on 這樣db2的日誌將不會迴圈使用,而是不斷增多,這樣才有可能進行增量備份,並...
db2資料庫備份與恢復
先停掉tomcat,然後在機器a上執行以下語句 其中pos db為要備份的db,home backup為備份的路徑,生成的備份檔案為pos db.0.db2ipms.dbpart000.20180609185344.001 在機器b上執行以下語句 db2 restore database pos d...