db2怎麼恢復到另一個伺服器
1. db2備份後,怎麼恢復
活動日誌是下面兩種概念的日誌:
1.
日誌里包含未提交的實務
2.
日誌中包含已提交但是數據變動並沒有被刷入磁碟,只是在bufferpool中存著。
簡單來說,活動日誌和歸檔日誌的根本差別就是歸檔日誌記錄的是實實在在已經數據變動已經生效了的事務,而活動日誌就是沒有完全確認的事務。這也是為什麼如果刪除活動日誌後資料庫會起不來的原因。因為資料庫不知道自己的狀態了。
另外,每一份活動日誌會在歸檔路徑下有一個備份,就是每一個活動日誌都是有兩份的,一份在活動日誌目錄,一份在歸檔路徑下。當日誌寫滿,或者手動歸檔,又或者發動備份的時候,資料庫會自動歸檔活動日誌,即是把資料庫活動日誌路徑下的日誌刪除,這樣,該日誌就只存在於資料庫的歸檔路徑目錄裡面,這也就是歸檔的過程。
所以,你備份恢復的時候,只需要把恢復後把源環境中的歸檔日誌出來就可以。裡面的日誌也包含了當前資料庫活動日誌中的內容。
回答了這么多,望採納!
2. db2資料庫可以恢復到別的實例下嗎
可以的~ 不過最好是相同的實例名稱。不然比較麻煩。
3. db2資料庫的備份與恢復需要注意事項
登錄
db2 在線備份和離線備份 的注意事項 原創
2008-07-04 17:44:00
WorldWelcome
碼齡16年
關注
db2在線備份和離線備份的區別
1)一般默認建立一個db2資料庫是不支持在線備份的(在DB2控制中心裡的)
如果要讓一個DB2資料庫支持在線備份的話,update db cfg for sampledb using logretain=on serexit=on,trackmode=on
2)如果一個db2資料庫同時支持在線備份和離線備份的話,那麼在備份的時候要小心,如果是要做在線備份,那麼必須把日誌要單獨拷貝出來。否則無法回滾,也就無法使用。
3) 離線備份後恢復的時候,加上參數without rollforward...
4) 在線備份後,必須rollforward to ....
5) force application stop 命令 其實跟離線備份/在線備份都沒有什麼關系。
4. 從一個伺服器上取一個資料庫表中的數據插入到另一個伺服器,如何做到
通過程序吧,ETL程序,或許兩個資料庫的連接,把一個資料庫里的東西查出來放在resultset裡面,然後再插入另外一個。
如果是db2的話,你可以用db2export,db2import,db2load或者db2move等方法直接一次做完。
5. 重裝系統後,如何恢復DB2資料庫
你只需要重新安裝一下db2的安裝程序,保留以前的資料庫的數據文件目錄。然後在命令行下db2=> 執行
catalog db 資料庫名稱 on 原資料庫文件所在磁碟, 這樣就可以把以前的資料庫編目上了。
6. DB2資料庫和表恢復
1. 如何恢復誤刪的表
使用recover dropped table功能即可
要求是: 誤刪的表建立且數據注入之後,有該資料庫的備份
通過db2 list history dropped table all for dbname找到誤刪表的Backup ID以及該表的DDL語句
恢復誤刪表所在表空間 db2 restore db dbname tablespace(tbspname) taken at xxxx
在前滾中指定誤刪表 backup id,輸出表數據
db2 rollforward db dbname to end of logs tablespace(誤刪表所在表空間名字) recover dropped table backup id to /home/db2inst
在/home/db2inst目錄下的node0000目錄下有一個data文件,是誤刪表的數據
通過DDL重建表,並使用LOAD將DATA文件導入表中即可.
沒有做過備份的話,如果你拷貝的文件夾完整的話(既有元數據,又有資料庫數據),可以uncatalog db dbname,然後將拷貝的文件夾拷貝回來,並catalog db dbname就可以了.
7. db2 資料庫 從一個主機到另一個主句 如何恢復
db2 備份怎麼恢復到另一台伺服器方法:
1)、首先打開一下支持在線備份的資料庫配置參數:
db2 update db cfg for sample using userexit on 啟用用戶出口
db2 update db cfg for sample using logretain on 啟用歸檔日誌
db2 update db cfg for sample using trackmod on 啟用增量備份功能
(需要各個Node都分別做設置)
開啟這些參數後,資料庫處於backup pending狀態,要求做資料庫的離線全備份。做一下離線全備份,參考上面的命令。
2)、在線備份命令如下:
db2 backup db sample online use tsm
備份成功,返回一個時間戳。
3)、同樣可以用db2atl 和db2 list history察看備份紀錄。
4)、備註:
同樣,對每個節點都做這個操作。
3、 在線增量備份
1)、在開啟了必須的三個參數的情況下,做增量備份:
db2 backup db sample online incremental use tsm
備份成功,返回一個時間戳。
2)、同樣可以用db2atl 和db2 list history察看備份紀錄。
3)、還有一種delta的備份:
db2 backup db sample online incremental delta use tsm
這兩種備份的區別,類似Oracle Exports的Incremental和Cumulative方式,db2的incremental對應oracle的cumulative方式,而db2的delta方式則對應oracle的incremental方式。
4)、備註:
同樣,對每個節點都做這個操作。
8. 如何在linux下實現db2資料庫備份和恢復
通過如下備份腳本備份的資料庫進行恢復
備份腳本:
./home/db2admin/sqllib/db2profile
db2backupdbdatedbonlineto/dbbackup/dateincludelogs
cd/dbbackup/datetoday=`date+」%Y%m%d」`
file1=」*$today*」
ftpfile=`ls$file1`
echo$ftpfile
lftp-c「openftp地址;user用戶名密碼@$0;put$ftpfile」
find/dbbackup/date-ctime+15-execrm{};
恢復命令:
通過root命令登錄到伺服器上後切換到資料庫用戶名下用su – db2admin命令。
進入到備份文件存放目錄
執行如下命令
$ db2 restore db datedb from /hom
9. 從Linux備份DB2資料庫到AIX上怎麼恢復
DB2資料庫離線和在線全備、增量備份及恢復的具體操作步驟:
1、離線全備份
(1)、首先確保沒有用戶使用DB2:
$db2 list applications for db sample
(2)、停掉資料庫並重新啟動,以便斷掉所有連接:
db2stop force
db2start
(3)、執行備份命令:(使用TSM作為備份的介質)
db2 backup db sample use tsm
備份成功,將會返回一個時間戳。
(4)、檢查備份成功:
Db2 list history backup all for sample ,可以看到多了這個備份的紀錄。
Db2atl query命令也可以看到返回值。
(5)、備註:
首先對主節點(catalog表空間在的節點)執行備份命令,再對另外的節點也做這個操作。
2、 在線備份:
(1)、首先打開一下支持在線備份的資料庫配置參數:
db2 update db cfg for sample using userexit on 啟用用戶出口
db2 update db cfg for sample using logretain on 啟用歸檔日誌
db2 update db cfg for sample using trackmod on 啟用增量備份功能
(需要各個Node都分別做設置)
開啟這些參數後,資料庫處於backup pending狀態,要求做資料庫的離線全備份。做一下離線全備份,參考上面的命令。
(2)、在線備份命令如下:
db2 backup db sample online use tsm
備份成功,返回一個時間戳。
(3)、同樣可以用db2atl 和db2 list history察看備份紀錄。
(4)、備註:
同樣,對每個節點都做這個操作。
3、 在線增量備份
(1)、在開啟了必須的三個參數的情況下,做增量備份:
db2 backup db sample online incremental use tsm
備份成功,返回一個時間戳。
(2)、同樣可以用db2atl 和db2 list history察看備份紀錄。
(3)、還有一種delta的備份:
db2 backup db sample online
incremental delta use tsm
這兩種備份的區別,類似Oracle Exports的Incremental和Cumulative方式,db2的incremental對應oracle的cumulative方式,而db2的delta方式則對應oracle的incremental方式。
(4)、備註:同樣,對每個節點都做這個操作。
4、 恢復資料庫
(1)、手工drop資料庫,模擬災難恢復的情況,執行如下操作:
db2 drop db sample
(2)、恢復備份歷史紀錄(每次backup,不論類型,都會備份歷史紀錄文件)。這里的時間戳應該是最新的:
db2 restore db sample history file use tsm
taken at 20030102223107 buffer 100
(3)、使用db2的恢復幫助工具:
db2ckrst -d sample -t 20030101224424 -r database
命令返回建議的必需的恢復操作命令。
(4)、按照幫助工具的提示,先做版本恢復,恢復命令如下:
db2 restore db sample incremental use tsm taken at 20030101224424 buffer 100
同樣先做主節點的恢復,再做其他節點的恢復操作。
(5)、這時資料庫處於rollforward-pending state的狀態,需要做roll forward 操作:
db2 rollforward db sample to 2003-01-12-13.27.25.000000 on all nodes and stop
前滾到同一個時間點。這個操作要在主節點來做。
5、說明:
(1)、恢復操作也有online和offline的,區別等同backup的操作。
(2)、按照表空間的備份和恢復類似,加子句TABLESPACE ( tablespace-name 即可。表空間級別的備份/恢復操作要求資料庫處於歸檔日誌和啟用增量備份模式下。
(3)、恢復的例子中只做了版本恢復。若還有更新的全備份和增量備份的image,可以依次做恢復(請注意使用db2ckrst的建議恢復次序和次數)之後,最後做roll forward.