空間站

          北極心空

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks

          主題:db2數據庫自動備份腳本


          所屬分類:DB2 數據庫管理
          ----------------------------------------------------------------------

          db2數據庫自動備份腳本,比如做 一個bat文件。點擊自動執行備份到指定的目錄。我知道oracle是可以的。不知道DB2可以嗎?

          ----------------------------------------------------------------------

          兩種方式..離線方式和在線方式備份..
          離線方式腳本,可以在計劃任務里做
          db2stop force;
          db2start;
          db2 connect to 庫名 user db2admin using pass
          db2 backup db 庫名 on 路徑
          ------------
          資料很多!
          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 ,可以看到多了這個備份的紀錄。 

          Db2adutl 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)、同樣可以用db2adutl 和db2 list history察看備份紀錄。 

          4)、備注: 

          同樣,對每個節點都做這個操作。 

          3、 在線增量備份 

          1)、在開啟了必須的三個參數的情況下,做增量備份: 

          db2 backup db sample online incremental use tsm 

          備份成功,返回一個時間戳。 

          2)、同樣可以用db2adutl 和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. (完)


          --------------------------------------------------------

          現在我需要一個.BAT的命令,可以在windows的任務中可以設置時間表后自動執行,這該怎么做啊?謝謝!

          --------------------------------------------------------

          posted on 2007-04-13 09:19 蘆葦 閱讀(3731) 評論(0)  編輯  收藏 所屬分類: 數據庫
          主站蜘蛛池模板: 石首市| 东方市| 泰兴市| 梨树县| 阿克陶县| 新乡市| 循化| 广南县| 两当县| 鄂尔多斯市| 新河县| 唐山市| 石景山区| 神池县| 时尚| 电白县| 津市市| 海安县| 古浪县| 万宁市| 石楼县| 黄陵县| 宿州市| 阿尔山市| 黄龙县| 洪泽县| 德格县| 廊坊市| 诸暨市| 陆丰市| 观塘区| 泰和县| 嘉禾县| 塘沽区| 山阴县| 昌平区| 阿合奇县| 邯郸市| 海晏县| 香格里拉县| 右玉县|