當前位置:首頁 » 數據倉庫 » 資料庫恢復的依據
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫恢復的依據

發布時間: 2022-08-09 00:46:00

資料庫恢復的基本原理是利用什麼重建資料庫

重建資料庫時壓測環境沒有備份,但是另一套測試環境的表結構與壓測環境一致,只是數據有所差異,所以,獲取表結構比較容易。導入表結構沒有什麼好說明的地方,注意導入 sql 的許可權和字元集。 重建表空間註:此小節對應恢復步驟的 。由於是整庫恢復,資料庫和表較多,所以使用腳本處理。大概的處理流程是,兩層循環,外層循環資料庫列表,內層循環對應資料庫表列表。然後依次 DISCARD TABLESPACE、拷貝對應庫對應表的 ibd 文件到對應目錄並更改許可權、IMPORT TABLESPACE。之前分析過,由於新舊的 ibd 文件表空間 id 不一致,導致不能正確導入。在 MySQL 錯誤日誌中記錄了表名、新舊表空間 id,接下來我們看看怎麼分解。 分析 MySQL 錯誤日誌註:此小節對應恢復步驟的和 。這一步很有意思。所有的資料庫表累計,不可能使用人工處理,我們得想點取巧的辦法。我們發現 MySQL 錯誤日誌記錄的表名、新舊表空間 id 很有規律,我們只需要依次取出這些值,問題就解決一大半了。

㈡ 資料庫被刪除怎麼恢復

sql
server中誤刪除數據的恢復本來不是件難事,從事務日誌恢復即可。但是,這個恢復需要有兩個前提條件:
1.
至少有一個誤刪除之前的資料庫完全備份。
2.
資料庫的恢復模式(recovery
mode)是「完整(full)」。
針對這兩個前提條件,會有三種情況:
情況一、如果這兩個前提條件都存在,通過sql語句只需三步就能恢復(參考文章),無需藉助第三方工具。
a)
備份當前資料庫的事務日誌:backup
log
[資料庫名]
to
disk=
n'備份文件名'
with
norecovery
b)
恢復一個誤刪除之前的完全備份:restore
database
[資料庫名]
from
disk
=
n'完全備份文件名'
with
norecovery,
replace
c)
將資料庫恢復至誤刪除之前的時間點:restore
log
[資料庫]
from
disk
=
n'第一步的日誌備份文件名'
with
stopat
=
n'誤刪除之前的時間點'
,
recovery
情況二、如果第1個前提條件不存在,第2個前提條件存在,需要藉助第三方工具。
情況三、如果第2個前提條件不存在,無法恢復。所以,一定要將資料庫恢復模式設置為「完整(full)」。
我現在面臨的是第二種情況,需要找第三方工具。
開始找的是log
explorer
for
sql
server,不支持sql
server
2008。
後來找的是sql
log
rescue,也不支持sql
server
2008。
接著找到的是systools
sql
recovery,支持sql
server
2008,但需要購買,demo版並沒有數據恢復功能。
最終在officerecovery.com上找到recovery
for
sql
server,雖然也是商業軟體,需要購買,但demo版可以恢復數據,只要資料庫文件不超過24gb。幸好朋友的資料庫文件不大,用它完成了誤刪除數據的恢復。
下面分享一下用recovery
for
sql
server進行恢復的操作步驟:
1.
運行recovery
for
sql
server
2.
點擊菜單中的
file
>
recover,選擇要恢復的資料庫的數據文件(.mdf)
3.
next
>
next,進入
recovery
configuration
界面,選擇custom(選擇了custom才可以選擇從日誌中恢復誤刪除的數據)。
4.
next
進入
recovery
options
窗口,選中
search
for
deleted
records,並選擇要恢復的資料庫的日誌文件路徑(log
file
path)。
5.
next
並選擇目標文件夾(destination
folder),用於存放恢復過程中生成的sql語句與bat文件。
6.
點擊start,開始恢復操作(在上一步選擇的目標文件夾中生成相應的sql文件與bat文件),然後,出現
sql
server
database
creation
utility
窗口。
7.
next,選擇被恢復數據存放的目標資料庫。
8.
next,
選擇
import
availiable
data
from
both
database
and
log
files
9.
next,
next,
然後就完成數據的恢復!

㈢ 什麼是資料庫恢復

數據恢復的原理,你如果了解了硬碟的結構以後你會發現,我們的數據保存到有存儲介質的碟片上,當我們保存數據的時候,就會在碟片上做凸凹不平而保存數據。如果我們刪除了文件的時候,我們並沒有把所有的凸凹不平的介質抹掉,而是把它的地址給抹去,而讓操作系統找不到這個文件,而認為它已經消失,可以在這個地方寫數據,把原來的凸凹不平的數據信息給覆蓋掉了,所以數據恢復的原理是,如果沒被覆蓋,我們就可以用軟體,突破操作系統的定址和編址方式,重新找到那些沒被覆蓋的地方的數據並組成一個文件,如果幾個小地方被覆蓋,可以用差錯效驗位來糾正,如果覆蓋太多,那麼就每辦法恢復了!所以提倡如果發現文件丟失,立即找數據恢復公司恢復,不要做任何操作!
區別就在於,個人恢復的可能不會完全恢復,出現亂碼,而數據恢復公司一般會100%恢復.

㈣ 資料庫恢復的基本原則

要使資料庫具有可恢復性,基本原理就是 「冗餘」,即數據的重復存儲。
資料庫恢復實現方法:
(1) 數據轉儲(mp)(又稱「倒庫」) 轉儲是指DBA將整個資料庫復制到磁帶或另 一個磁碟上保存起來的過程。這些備用的數 據文本稱為後備副本或後援副本。一時發生 故障,可以將後備副本重新裝入。
(2) 建立「日誌」文件(logging)。 日誌文件是用來記錄事務對資料庫的更新操 作的文件。對於資料庫的每次插入、刪除或 修改,記下改變前後 的值,寫到「「日誌」 文件,以便有案可查。

㈤ 資料庫恢復可以用哪些方法實現

資料庫恢復的三種方式
資料庫可能因為硬體或軟體(或兩者同時)的故障變得不可用,不同的故障情況需要不同的恢復操作。我們必須決定最適合業務環境的恢復方法。在資料庫中恢復有3種類型或方法,即應急(crash)恢復、版本(version)恢復和前滾(rool forward)恢復。

應急恢復
應急恢復用於防止資料庫處於不一致或不可用狀態。資料庫執行的事務(也稱工作單元)可能被意外中斷,若在作為工作單位一部分的所有更改完成和提交之前發生故障,則該資料庫就會處於不一致和不可用的狀態。這時,需要將該資料庫轉化為一致和可用的狀態。
為此,需要回滾未完成的事務,並完成當發生崩潰時仍在內存中的已提交事務。如在COMMIT語句之前發生了電源故障,則在下一次重新啟動並再次訪問該資料庫時,需要回滾到執行COMMMIT語句前的狀態。回滾語句的順序與最初執行時的順序相反。

版本恢復
版本恢復指的是使用備份操作期間創建的映象來復原資料庫的先前版本。這種恢復是通過使用一個以前建立的資料庫備份恢復出一個完整的資料庫。一個資料庫的備份允許你把資料庫恢復至和這個資料庫在備份時完全一樣的狀態。而從備份建立後到日誌文件中最後記錄的所有工作事務單位將全部丟失。

前滾恢復
這種恢復技術是版本恢復的一個擴展,使用完整的資料庫備份和日誌相結合,可以使一個資料庫或者被選擇的表空間恢復到某個特定時間點。如果從備份時刻起到發生故障時的所有日誌文件都可以獲得的話,則可以恢復到日誌上涵蓋到的任意時間點。前滾恢復需要在配置中被明確激活才能生效。

㈥ .資料庫恢復操作的依據是後備副本和______________。

此副本後生成的所有日誌備份

㈦ 什麼是資料庫的恢復恢復的基本原則是什麼

結構體在include/linux/mtd/mtd.h中定義:
struct
mtd_info
{
u_char
type;
//mtd
設備類型
u_int32_t
flags;
//mtd設備屬性標志
u_int32_t
size;
//標示了這個mtd設備的大小
u_int32_t
erasesize;
//mtd設備的擦除單元大小,對於nandflash來說就是block的大小
u_int32_t
oobblock;
//oob區在頁內的位置,對於512位元組一頁的nand來說是512
u_int32_t
oobsize;
//oob區的大小,對於512位元組一頁的nand來說是16
u_int32_t
ecctype;
//ecc校驗類型
u_int32_t
eccsize;
//ecc的大小

㈧ 資料庫恢復的基本原則是什麼具體實現方法是什麼

結構體在include/linux/mtd/mtd.h中定義:
struct mtd_info {
u_char type; //MTD 設備類型
u_int32_t flags; //MTD設備屬性標志
u_int32_t size; //標示了這個mtd設備的大小
u_int32_t erasesize; //MTD設備的擦除單元大小,對於NandFlash來說就是Block的大小
u_int32_t oobblock; //oob區在頁內的位置,對於512位元組一頁的nand來說是512
u_int32_t oobsize; //oob區的大小,對於512位元組一頁的nand來說是16
u_int32_t ecctype; //ecc校驗類型
u_int32_t eccsize; //ecc的大小

㈨ 什麼是資料庫恢復,恢復的實現技術有那些

資料庫管理系統把資料庫從某種錯誤狀態恢復到完整狀態就叫做資料庫恢復:
它的實現技術數據轉儲和登錄日誌文件。

㈩ 資料庫數據恢復的數據存儲及恢復的基本原理

數據存儲及恢復第一步--分區.當主引導記錄因為各種原因(硬碟壞道、病毒、誤操作等)被破壞後,一些或全部分區自然就會丟失不見了,根據數據信息特徵,我們可以重新推算計算分區大小及位置,手工標注到分區信息表,「丟失」的分區回來了。
數據存儲及恢復第二步--文件分配表.硬碟分區完畢後,接下來的工作是格式化分區。格式化程序根據分區大小,合理的將分區劃分為目錄文件分配區和數據區,文件分配表內記錄著每一個文件的屬性、大小、在數據區的位置。我們對所有文件的操作,都是根據文件分配表來進行的。文件分配表遭到破壞以後,系統無法定位到文件,雖然每個文件的真實內容還存放在數據區,系統仍然會認為文件已經不存在。我們的數據丟失了,就像一本小說的目錄被撕掉一樣。要想直接去想要的章節,已經不可能了,要想得到想要的內容(恢復數據),只能憑記憶知道具體內容的大約頁數,或每頁(扇區)尋找你要的內容。我們的數據還可以恢復回來。
數據存儲及恢復第三步--格式化與刪除.當我們需要刪除一個文件時,系統只是在文件分配表內在該文件前面寫一個刪除標志,表示該文件已被刪除,他所佔用的空間已被釋放, 其他文件可以使用他佔用的空間。所以,當我們刪除文件又想找回他(數據恢復)時,只需用工具將刪除標志去掉,數據被恢復回來了。當然,前提是沒有新的文件寫入,該文件所佔用的空間沒有被新內容覆蓋。格式化是將所有文件都加上刪除標志,或乾脆將文件分配表清空,系統將認為硬碟分區上不存在任何內容。格式化操作並沒有對數據區做任何操作,目錄空了,內容還在,藉助數據恢復知識和相應工具,數據仍然能夠被恢復回來。
數據存儲及恢復第四步--理解覆蓋.個文件被標記上刪除標志後,他所佔用的空間在有新文件寫入時,將有可能被新文件佔用覆蓋寫上新內容。這時刪除的文件名雖然還在,但他指向數據區的空間內容已經被覆蓋改變,恢復出來的將是錯誤異常內容。同樣文件分配表內有刪除標記的文件信息所佔用的空間也有可能被新文件名文件信息佔用覆蓋,文件名也將不存在了。
當將一個分區格式化後,有拷貝上新內容,新數據只是覆蓋掉分區前部分空間,去掉新內容佔用的空間,該分區剩餘空間數據區上無序內容仍然有可能被重新組織,將數據恢復出來。
同理,克隆、一鍵恢復、系統還原等造成的數據丟失,只要新數據佔用空間小於破壞前空間容量,數據恢復工程師就有可能恢復你要的分區和數據。
數據存儲及恢復第五步--硬體故障數據恢復。硬體故障的數據恢復當然是先診斷,對症下葯,先修復相應的硬體故障,然後根據修復其他軟故障,最終將數據成功恢復。
數據存儲及恢復第六步--磁碟陣列RAID數據恢復.其恢復過程也是先排除硬體及軟故障,然後分析陣列順序、塊大小等參數,用陣列卡或陣列軟體重組,重組後便可按常規方法恢復數據。
SAN和NAS是目前最受人矚目的兩種數據存儲方式:
SAN:一個共用的高速專用存儲網路,存儲設備集中在伺服器的後端。其優勢:高數據傳輸速度;加強存儲管理;加強備份、還原能力的可用性;同種服務的綜合。綜合SAN的優勢,它在高性能數據備份/恢復、集中化管理數據及遠程數據保護領域得到廣泛的應用。
NAS:是一個專用為提供高性能、低擁有成本和高可靠性的數據保存和傳送產品。其優勢:移除伺服器I/O瓶頸;簡便實現NT與UNIX下的文件共享;簡便的設備安裝管理與維護;按需增容,方便容量規劃;高可靠性;降低總擁有成本。
更多的數據存儲解決方案趨向於將NAS和SAN進行融合。原因:
·一些分散式的應用和用戶要求訪問相同的數據
· 對提供更高的性能,高可靠性和更低的擁有成本的專有功能系統的高增長要求
·以成熟和習慣的網路標准包括TCP/IP, NFS和CIFS為基礎的操作
·一個獲得以應用為基礎而更具商業競爭力的解決方案慾望
·一個全面降低管理成本和復雜性的需求
·一個不需要增加任何人員的高擴展存儲系統
·一套可以通過重構劃的系統以維持硬體和管理人員的價值