掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
隨著數(shù)據(jù)量的不斷增加,數(shù)據(jù)庫的性能成為了數(shù)據(jù)處理的關(guān)鍵點(diǎn)。而在許多開源數(shù)據(jù)庫中,h2是很好的一個(gè)選擇。但是,一旦數(shù)據(jù)庫出現(xiàn)崩潰,恢復(fù)數(shù)據(jù)就成為了一項(xiàng)長時(shí)間的任務(wù)。因此,如何實(shí)現(xiàn)h2數(shù)據(jù)庫的快速崩潰恢復(fù),成為了很多數(shù)據(jù)庫管理員需要了解的問題。本文將會介紹如何通過幾個(gè)步驟來實(shí)現(xiàn)快速恢復(fù)h2數(shù)據(jù)庫。

成都創(chuàng)新互聯(lián)公司專業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專業(yè)提供成都服務(wù)器托管,服務(wù)器租用,四川電信科技城機(jī)房,四川電信科技城機(jī)房,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。
1.備份數(shù)據(jù)
在我們開始學(xué)習(xí)如何進(jìn)行快速的h2數(shù)據(jù)庫恢復(fù)之前,備份數(shù)據(jù)是必不可少的一步。在備份數(shù)據(jù)之前,您需要停止所有h2相關(guān)的應(yīng)用程序,例如Java應(yīng)用程序或者H2 Console。備份數(shù)據(jù)后,您可以安全地執(zhí)行下一步操作。
2.使用h2 Database Management Console來修復(fù)數(shù)據(jù)庫
h2 Database Management Console是一個(gè)可以修復(fù)h2數(shù)據(jù)庫的工具。它可以自動檢查數(shù)據(jù)庫中的錯(cuò)誤,并修復(fù)這些錯(cuò)誤。使用這個(gè)工具可以讓您快速地修復(fù)數(shù)據(jù)庫,因?yàn)樗鼤詣訖z測并修復(fù)任何錯(cuò)誤。
您可以通過以下步驟來使用h2 Database Management Console修復(fù)h2數(shù)據(jù)庫:
a.啟動h2 Database Management Console,在命令行鍵入 java -cp org.h2.tools.Server,是h2.jar所在的位置。
b.連接到需要修復(fù)的數(shù)據(jù)庫。
c.執(zhí)行修復(fù)語句。在h2 Database Management Console中,您可以執(zhí)行如下命令來修復(fù)數(shù)據(jù)庫:
CHECK REPR FAST
如果修復(fù)成功,h2 Database Management Console會顯示一條信息,說明已成功修復(fù)。
3.使用h2 Database Recovery Tool
如果h2 Database Management Console修復(fù)失敗,那么您可以嘗試使用h2 Database Recovery Tool。這個(gè)工具會在h2數(shù)據(jù)庫出現(xiàn)問題的時(shí)候自動備份數(shù)據(jù)庫。如果數(shù)據(jù)沒有被備份,那么工具也可以通過字節(jié)級別掃描磁盤來恢復(fù)數(shù)據(jù)。
使用h2 Database Recovery Tool可以讓您快速地恢復(fù)損壞的數(shù)據(jù)庫。您可以通過以下步驟來使用h2 Database Recovery Tool:
a.關(guān)閉所有h2應(yīng)用程序。
b.將工具的壓縮文件解壓縮到任何文件夾。
c.將損壞的數(shù)據(jù)庫拷貝到上一步所在的文件夾中。
d.打開命令行,并且輸入:
java -cp h2recovery.jar FileRecover [-compressed] [-trace] [-page]
其中是您的數(shù)據(jù)庫地址和名稱。例如:
java -cp h2recovery.jar FileRecover -page “D:/mydb” -text -dir “D:/recovered”
如果您的數(shù)據(jù)庫有密碼,那么您還需要添加密碼參數(shù):
java -cp h2recovery.jar FileRecover -page “D:/mydb” -pw “my_password” -text -dir “D:/recovered”
e.等待程序完成,并檢查恢復(fù)的數(shù)據(jù)庫。
相關(guān)問題拓展閱讀:
任何數(shù)據(jù)庫系統(tǒng)都無法避免崩潰的狀況 即使你使用了Clustered 雙機(jī)熱備等等 仍然無法完全根除系統(tǒng)中的單點(diǎn)故障 何況對于大部分用戶來說 無法承受這樣昂貴的硬件投資 所以 在系統(tǒng)崩潰的時(shí)候 我們應(yīng)該如何恢復(fù)原有的寶貴數(shù)據(jù)就成為一個(gè)極其重要的問題了
在恢復(fù)的時(shí)候 最理想的情況就是你的數(shù)據(jù)文件和日志文件都完好無損了 這樣只需要sp_attach_db 把數(shù)據(jù)文件附加到新的數(shù)據(jù)庫上即可 或者在停機(jī)的時(shí)候把所有數(shù)據(jù)文件(一定要有master等)都copy到原有路徑下也行 不過一般不推薦這樣的做法 sp_attach_db比較好 雖然麻煩許多
但是呢 一前念般數(shù)據(jù)庫崩潰的時(shí)候系統(tǒng)是未必能有時(shí)間把未完成的事務(wù)和臟頁等寫入磁盤的 這樣的情況sp_attach_db就會失敗 那么 寄希望于DBA制定了一個(gè)良好的災(zāi)難恢復(fù)計(jì)劃吧 按照你的恢復(fù)計(jì)劃 還原最新的完全備份 增量備份或者事務(wù)日志備份 然后如果你的活動事務(wù)日志還能知悔念讀得出來的話 恭喜你!你可以還原到崩潰前的狀態(tài)
一般的單位都是沒有專職的DBA的 如果沒有可用的備份 更可能是最近一次備份的時(shí)間過于久遠(yuǎn)而導(dǎo)致不可接受的數(shù)據(jù)損失 而且你的活動事務(wù)日志也處于不可用的狀態(tài) 那就是最麻煩的情況了
不幸的很的是 一般數(shù)據(jù)庫崩潰都是由于存儲子系統(tǒng)引起的 而這樣的情況是幾乎不可能有可用的日志用于恢復(fù)的
那么就只好試一下這些方案了 當(dāng)然 是要求至少你的數(shù)據(jù)文件是存在的 要是數(shù)據(jù)文件 日志文件和備份都沒有了的話 別找我 你可以到樓頂上去唱 神啊 救救我吧
首先 你可以試一下sp_attach_single_file_db 試著恢復(fù)一下你的數(shù)據(jù)文件 雖然能恢復(fù)的可能性不大 不過假如這個(gè)數(shù)據(jù)庫剛好執(zhí)行了一個(gè)checkpoint的話 還是有可能成功的
如果你沒有好到有摸彩票的手氣 最重要的數(shù)據(jù)庫沒有像你期盼的那樣attach上去 不要?dú)怵H 還是有別的方案的
我們可以試著重新建立一個(gè)log 先把數(shù)據(jù)庫設(shè)置為emergency mode sysdatabases的status為 就表示數(shù)據(jù)庫處于此狀態(tài)
不過系統(tǒng)表是不能隨便改的 設(shè)置一下先
Use Master Go sp_configure allow updates reconfigure with override Go
然后 update sysdatabases set status = where name =
現(xiàn)在 祈求滿天神佛的保佑吧 重新建立一個(gè)log文件 成功的機(jī)會還是相當(dāng)大的 系統(tǒng)一般都會認(rèn)可你新建立的日志 如果沒有報(bào)告什么錯(cuò)誤 現(xiàn)在就可以松一口氣了
雖然數(shù)據(jù)是恢復(fù)了 可是別以為事情就算完成了 正在進(jìn)行的事務(wù)肯定是丟失了 原來的數(shù)據(jù)也可能受到一些損壞搭困
先把SQL Server 重新啟動一下 然后檢查你的數(shù)據(jù)庫吧
lishixinzhi/Article/program/SQLServer/202311/22414
關(guān)于h2數(shù)據(jù)庫 崩潰恢復(fù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。

我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流