国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【數(shù)據(jù)庫原理】(27)數(shù)據(jù)庫恢復

這篇具有很好參考價值的文章主要介紹了【數(shù)據(jù)庫原理】(27)數(shù)據(jù)庫恢復。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在數(shù)據(jù)庫系統(tǒng)中,恢復是指在發(fā)生某種故障導致數(shù)據(jù)庫數(shù)據(jù)不再正確時,將數(shù)據(jù)庫恢復到已知正確的某一狀態(tài)的過程。數(shù)據(jù)庫故障可能由多種原因引起,包括硬件故障、軟件錯誤、操作員失誤以及惡意破壞。為了確保數(shù)據(jù)庫的安全性和完整性,數(shù)據(jù)庫管理系統(tǒng)(DBMS)必須具有有效的恢復機制。

一.故障的種類

在數(shù)據(jù)庫系統(tǒng)中,可能發(fā)生的故障主要包括事務故障、系統(tǒng)故障、介質(zhì)故障和計算機病毒。每種故障類型都可能對數(shù)據(jù)庫的正常運行產(chǎn)生影響,因此需要相應的恢復機制來應對這些故障。

1. 事務故障

事務故障指事務未達到預期終點,使得數(shù)據(jù)庫可能處于不正確狀態(tài)。這包括事務內(nèi)部的非預期故障,如運算溢出、并發(fā)事務死鎖等。恢復程序通過事務撤銷,即回滾事務已做出的對數(shù)據(jù)庫的修改,將事務恢復到未啟動的狀態(tài),以保證數(shù)據(jù)一致性。

2. 系統(tǒng)故障

系統(tǒng)故障是指導致系統(tǒng)停止運轉的各種事故,例如硬件錯誤、操作系統(tǒng)故障、DBMS代碼錯誤、突然停電等。這類故障影響正在運行的所有事務,可能導致數(shù)據(jù)庫非正常終止。在系統(tǒng)重新啟動時,恢復子系統(tǒng)需要回滾未完成的事務,并重做已提交的事務,以將數(shù)據(jù)庫恢復到一致狀態(tài)。

3. 介質(zhì)故障

介質(zhì)故障,也稱為硬故障,指外存故障,如磁盤損壞、磁頭碰撞等。這類故障可能破壞整個數(shù)據(jù)庫或部分數(shù)據(jù)庫,影響存取這部分數(shù)據(jù)庫的所有事務。在發(fā)生介質(zhì)故障后,需要將后援副本裝入數(shù)據(jù)庫,并重新執(zhí)行已成功完成的事務,將已提交的結果重新寫入數(shù)據(jù)庫。

4. 計算機病毒

計算機病毒是一種人為的故障或破壞,它可以繁殖和傳播,對計算機系統(tǒng),包括數(shù)據(jù)庫,造成破壞。計算機病毒可能導致數(shù)據(jù)的損壞和系統(tǒng)的不穩(wěn)定,需要采取相應的安全防護措施來避免病毒的侵害。

二.故障恢復

數(shù)據(jù)庫系統(tǒng)的恢復機制涉及建立備份數(shù)據(jù)和如何利用備份數(shù)據(jù)來修復數(shù)據(jù)庫。備份數(shù)據(jù)的建立通常采用數(shù)據(jù)轉儲和日志文件技術。

1. 數(shù)據(jù)轉儲

數(shù)據(jù)轉儲是將數(shù)據(jù)庫定期復制到轉儲設備(如磁帶或磁盤)的過程。轉儲設備中的備用數(shù)據(jù)庫文件稱為后備副本。靜態(tài)轉儲和動態(tài)轉儲是兩種常見的方式。

  • 靜態(tài)轉儲和動態(tài)轉儲:

    • 靜態(tài)轉儲: 在系統(tǒng)中無運行事務時進行的轉儲操作,轉儲時數(shù)據(jù)庫處于一致性狀態(tài)。靜態(tài)轉儲簡單但會降低數(shù)據(jù)庫的可用性。
    • 動態(tài)轉儲: 允許在轉儲期間對數(shù)據(jù)庫進行訪問或修改,可以并發(fā)執(zhí)行。需要記錄轉儲期間各事務對數(shù)據(jù)庫的修改活動,建立日志文件。動態(tài)轉儲克服了靜態(tài)轉儲的缺點。
  • 海量轉儲和增量轉儲:

    • 海量轉儲: 每次轉儲全部數(shù)據(jù)庫,便于恢復。
    • 增量轉儲: 每次只轉儲上一次轉儲后更新過的數(shù)據(jù),適用于大型且頻繁更新的數(shù)據(jù)庫。
      【數(shù)據(jù)庫原理】(27)數(shù)據(jù)庫恢復,數(shù)據(jù)庫,數(shù)據(jù)庫,服務器

2. 日志文件

日志文件用于記錄每一次對數(shù)據(jù)庫的更新活動,分為數(shù)據(jù)塊為單位和記錄為單位的兩種格式。登記日志文件的目的是為了數(shù)據(jù)庫的恢復,包括事務故障恢復、系統(tǒng)故障恢復和介質(zhì)故障恢復。

  • 作用:
    • 用于事務故障和系統(tǒng)故障恢復,協(xié)助后備副本進行介質(zhì)故障恢復。
    • 在動態(tài)轉儲方式中,必須與后備副本一起使用。
    • 在靜態(tài)轉儲方式中,可用于重新裝入后備副本和對已完成事務的重做處理。

3. 恢復事務

發(fā)生故障時,首先根據(jù)前次轉儲的后備副本恢復數(shù)據(jù)庫,然后利用日志文件進行事務的恢復。

  • 恢復步驟:

    1. 從頭掃描日志文件,找出已經(jīng)結束和尚未結束的事務。
    2. 對尚未結束的事務進行撤銷(UNDO)處理和已經(jīng)結束的事務進行重做(REDO)處理。
  • 撤銷和重做處理:

    • 撤銷處理: 反向掃描日志文件,對每個事務的更新操作執(zhí)行反操作,恢復修改過的數(shù)據(jù)。
    • 重做處理: 正向掃描日志文件,重新執(zhí)行登記的事務的操作,確保數(shù)據(jù)庫恢復到正確狀態(tài)。

三.恢復策略

恢復策略針對事務故障、系統(tǒng)故障和介質(zhì)故障分別制定,以確保數(shù)據(jù)庫的一致性和可靠性。

1. 事務故障恢復

事務故障是指事務在運行至正常終止點前被終止,恢復子系統(tǒng)通過利用日志文件撤銷已對數(shù)據(jù)庫進行的修改來進行事務故障恢復。

  • 步驟:
    1. 反向掃描日志文件,查找該事務的更新操作。
    2. 對該事務的更新操作執(zhí)行逆操作,包括插入、刪除和修改。
    3. 繼續(xù)反向掃描日志文件,直到讀到該事務的開始標記。

事務故障的恢復由系統(tǒng)自動完成,對用戶透明,無需用戶干預。

2. 系統(tǒng)故障恢復

系統(tǒng)故障分為兩種情況:未完成事務對數(shù)據(jù)庫的更新可能已寫入數(shù)據(jù)庫,已提交事務對數(shù)據(jù)庫的更新可能還留在緩沖區(qū)沒有寫入數(shù)據(jù)庫。因此,系統(tǒng)故障的恢復操作包括撤銷故障發(fā)生時未完成的事務和重做已完成的事務。

  • 步驟:
    1. 正向掃描日志文件,找出已提交和尚未完成的事務,將其分別記錄在重做隊列和撤銷隊列中。
    2. 對撤銷隊列中的事務進行撤銷操作,即反向掃描日志文件執(zhí)行逆操作。
    3. 對重做隊列中的事務進行重做操作,即正向掃描日志文件重新執(zhí)行事務的操作。

系統(tǒng)故障的恢復由系統(tǒng)自動完成,無需用戶干預。

3. 介質(zhì)故障恢復

介質(zhì)故障包括磁盤上的物理數(shù)據(jù)和日志文件的破壞,恢復操作涉及重裝數(shù)據(jù)庫并重做已完成的事務。

  • 步驟:
    1. 裝入最新的數(shù)據(jù)庫副本,將數(shù)據(jù)恢復到最近一次轉儲時的一致性狀態(tài)。
    2. 若為動態(tài)轉儲,同時裝入轉儲開始時刻的日志文件副本,利用系統(tǒng)故障恢復方法(REDO+UNDO)將數(shù)據(jù)庫恢復到一致性狀態(tài)。
    3. 若為靜態(tài)轉儲,數(shù)據(jù)庫即處于一致性狀態(tài)。
    4. 裝入相應的日志文件副本,重做已完成的事務。

介質(zhì)故障的恢復需要DBA介入,但只需重裝最近轉儲的數(shù)據(jù)庫副本和相關的日志文件副本,然后執(zhí)行系統(tǒng)提供的恢復命令。

綜合這些恢復策略,數(shù)據(jù)庫系統(tǒng)能夠有效地處理各類故障,確保數(shù)據(jù)的完整性和系統(tǒng)的可靠性。文章來源地址http://www.zghlxwxcb.cn/news/detail-795096.html

到了這里,關于【數(shù)據(jù)庫原理】(27)數(shù)據(jù)庫恢復的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • dmp文件導入數(shù)據(jù)庫服務器

    dmp文件導入數(shù)據(jù)庫服務器

    一、什么是dmp文件 二、dmp文件導入 創(chuàng)建用戶 登錄到linux服務器 切換oracle用戶 登錄到oracle數(shù)據(jù)庫 切換到數(shù)據(jù)庫存儲端(pdb) 創(chuàng)建數(shù)據(jù)庫用戶 用戶授權 創(chuàng)建dmp文件存儲目錄并賦權 切換root用戶,賦予讀寫權限 導入dmp文件 將dmp文件上傳到/oradata目錄下 切換到oracle用戶 執(zhí)行導入

    2024年02月11日
    瀏覽(25)
  • 本地數(shù)據(jù)庫遷移到云端服務器

    本地數(shù)據(jù)庫遷移到云端服務器

    工具遷移xtrabackup 創(chuàng)建云服務器——通過云服務器提供的公網(wǎng)地址遠程連接XShell——利用遷移工具將數(shù)據(jù)庫從本地遷移到云服務器 ①本地數(shù)據(jù)庫安裝xtrabackup --target-dir表示備份文件存放的目錄 ②備份本地數(shù)據(jù)庫 ③桌面作為中介接收、上傳數(shù)據(jù)庫 ①將數(shù)據(jù)庫文件上傳到云服務

    2024年04月25日
    瀏覽(31)
  • 查看服務器中數(shù)據(jù)庫的表和數(shù)據(jù)

    要查看數(shù)據(jù)庫中的表和表中的數(shù)據(jù),您可以按照以下步驟進行操作: 1. 進入 MySQL 控制臺。使用以下命令連接到 MySQL 控制臺: ? ?``` ? ?mysql -u root -p ? ?``` ? ?輸入 MySQL root 用戶的密碼并按 Enter 鍵。 2. 選擇要查看的數(shù)據(jù)庫。使用以下命令選擇要查看表和數(shù)據(jù)的數(shù)據(jù)庫: ?

    2024年02月11日
    瀏覽(23)
  • Mysql數(shù)據(jù)庫遷移|如何把一臺服務器的mysql數(shù)據(jù)庫遷移到另一臺服務器上的myql中

    Mysql數(shù)據(jù)庫遷移|如何把一臺服務器的mysql數(shù)據(jù)庫遷移到另一臺服務器上的myql中

    ? 那么這里博主先安利一下一些干貨滿滿的專欄啦! Linux專欄 https://blog.csdn.net/yu_cblog/category_11786077.html?spm=1001.2014.3001.5482 操作系統(tǒng)專欄 https://blog.csdn.net/yu_cblog/category_12165502.html?spm=1001.2014.3001.5482 手撕數(shù)據(jù)結構 https://blog.csdn.net/yu_cblog/category_11490888.html?spm=1001.2014.3001.5482 一、在

    2024年02月06日
    瀏覽(39)
  • Linux服務器裝mysql數(shù)據(jù)庫并且連接數(shù)據(jù)庫(詳細教程)(阿里云)

    Linux服務器裝mysql數(shù)據(jù)庫并且連接數(shù)據(jù)庫(詳細教程)(阿里云)

    廢話不多說,直接上教程。 1.首先執(zhí)行如下命令,更新YUM源。 2.執(zhí)行如下命令,安裝MySQL。 3.執(zhí)行如下命令,查看MySQL版本號。 4.返回結果如下,表示您已成功安裝MySQL。 5.執(zhí)行如下命令,啟動MySQL服務。 6. 執(zhí)行如下命令,設置MySQL服務開機自啟動。 7.配置MySQL的root用戶密碼。

    2024年02月06日
    瀏覽(89)
  • 【MySQL數(shù)據(jù)庫】--- 初始數(shù)據(jù)庫以及MySQL數(shù)據(jù)庫在Linux云服務器下載(詳細教程)

    【MySQL數(shù)據(jù)庫】--- 初始數(shù)據(jù)庫以及MySQL數(shù)據(jù)庫在Linux云服務器下載(詳細教程)

    ?? 博客主頁:??@披星戴月的賈維斯 ?? 歡迎關注:??點贊??收藏??留言 ??系列專欄:?? MYSQL數(shù)據(jù)庫 ??請不要相信勝利就像山坡上的蒲公英一樣唾手可得,但是請相信,世界上總有一些美好值得我們?nèi)σ愿埃呐路凵硭楣牵?? ??一起加油,去追尋、去成為更好的自

    2023年04月24日
    瀏覽(97)
  • 【MySQL數(shù)據(jù)庫】--- 初識數(shù)據(jù)庫以及MySQL數(shù)據(jù)庫在Linux云服務器下載(詳細教程)

    【MySQL數(shù)據(jù)庫】--- 初識數(shù)據(jù)庫以及MySQL數(shù)據(jù)庫在Linux云服務器下載(詳細教程)

    ?? 博客主頁:??@披星戴月的賈維斯 ?? 歡迎關注:??點贊??收藏??留言 ??系列專欄:?? MYSQL數(shù)據(jù)庫 ??請不要相信勝利就像山坡上的蒲公英一樣唾手可得,但是請相信,世界上總有一些美好值得我們?nèi)σ愿?,哪怕粉身碎骨?? ??一起加油,去追尋、去成為更好的自

    2024年02月03日
    瀏覽(23)
  • 服務器管理平臺開發(fā)(2)- 設計數(shù)據(jù)庫表

    服務器管理平臺開發(fā)(2)- 設計數(shù)據(jù)庫表

    本篇文章主要對數(shù)據(jù)管理平臺數(shù)據(jù)庫表設計進行介紹,包括單庫多表設計、SQL語句、視圖構造等 設備品牌、序列號、型號等使用業(yè)務主表進行記錄,邏輯磁盤、PCI設備可能出現(xiàn)1對N的情況,分別使用PCI設備表、Mac地址表、邏輯磁盤表、應用程序表、登錄日志表進行記錄 構建虛

    2024年01月22日
    瀏覽(21)
  • MongoDB常用的操作(服務器、數(shù)據(jù)庫、集合)

    前面兩篇已經(jīng)介紹了MongoDB系統(tǒng)架構及其BSON數(shù)據(jù)類型。本文將講解基本的MongoDB操作。 一、MongoDB啟動命令 啟動MongoDB 查看是否啟動成功 重啟MongoDB 關閉MongoDB 二、使用init命令操作MongoDB 啟動MongoDB 查看是否啟動成功 重啟MongoDB 關閉MongoDB 三、啟動mongodb客戶端 查看該服務是否啟動

    2024年02月07日
    瀏覽(20)
  • GBASE南大通用 訪問其他數(shù)據(jù)庫服務器

    通過限定數(shù)據(jù)庫對象(表、視圖、同義詞或例程)的名稱,您可訪問外部數(shù)據(jù)庫中的任何 表或例程。 當外部表與當前數(shù)據(jù)庫位于同一數(shù)據(jù)庫服務器上時,您必須以數(shù)據(jù)庫名稱和冒號限定對象 名稱。例如,要引用不是本地數(shù)據(jù)庫的數(shù)據(jù)庫中的表,下列 SELECT 語句訪問來自外部

    2024年01月23日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包