『壹』 資料庫恢復的基本原則是什麼具體實現方法是什麼
結構體在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的大小
『貳』 什麼是資料庫恢復
數據恢復的原理,你如果了解了硬碟的結構以後你會發現,我們的數據保存到有存儲介質的碟片上,當我們保存數據的時候,就會在碟片上做凸凹不平而保存數據。如果我們刪除了文件的時候,我們並沒有把所有的凸凹不平的介質抹掉,而是把它的地址給抹去,而讓操作系統找不到這個文件,而認為它已經消失,可以在這個地方寫數據,把原來的凸凹不平的數據信息給覆蓋掉了,所以數據恢復的原理是,如果沒被覆蓋,我們就可以用軟體,突破操作系統的定址和編址方式,重新找到那些沒被覆蓋的地方的數據並組成一個文件,如果幾個小地方被覆蓋,可以用差錯效驗位來糾正,如果覆蓋太多,那麼就每辦法恢復了!所以提倡如果發現文件丟失,立即找數據恢復公司恢復,不要做任何操作!
區別就在於,個人恢復的可能不會完全恢復,出現亂碼,而數據恢復公司一般會100%恢復.
『叄』 如何恢復資料庫
可是提交到伺服器之後,一切顯地都無比陌生。因為不熟悉sql,准確來說就只會點Select,Update,Delete,Insert而已。昨天不小心誤刪了一張數據不多但是不在人工處理范圍內的一張表內的數據。因為知道SQL Server是有日誌這種東西的,事後我表現地無比淡定,在事發一個小時以內。一個小時之後,我發現我無法掌控這一事件了。上網查找了恢復數據的辦法。有必要啰嗦一下。 問題1:無論是遠程端還是伺服器端,都無法對資料庫(假設資料庫叫Test)進行除『增刪查改』的其它操作,譬如分離,離線,還原...錯誤提示是e.g.1 「無法分離 Test 資料庫 因為它當前正在使用。」e.g.2 「因為資料庫正在使用,未獲得對數據的排他訪問權,操作異常終止」反正嘛,就是說你丫不能阻止別人的訪問。可我們就是要這樣做的...只好跟它說拜拜了。 說拜拜的方法就是關掉所有訪問資料庫Test的進程。createproc killspid (@dbnamevarchar(20)) asbegindeclare@sqlnvarchar(500) declare@spidintset@sql='declare getspid cursor for select spid from sysprocesses where dbid=db_id('''+@dbname+''')'exec(@sql) open getspid fetchnextfrom getspid into@spidwhile@@fetch_status<>-1beginexec('kill '+@spid) fetchnextfrom getspid into@spidendclose getspid deallocate getspid end--用法use master exec killspid '資料庫名'PS:代碼我是這樣理解的,定義一段殺死訪問資料庫進程的存儲過程。寫一段獲取進程ID的代碼,循環殺死每一個進程。最後調用存儲過程。雖然不了解存儲過程,但是意思就是這樣的吧。 問題2:沒有備份資料庫,那該如何恢復數據呢有個軟體叫做Log Explorer 這個東西可以根據資料庫的日誌回到過去的任何一個時刻。View Code Log Explorer for SQL Server 是個好東西,但是這根本無法解決我的問題。資料庫在伺服器端,學校根本不會讓我安裝一個軟體在伺服器上面。而且我證實過,這個軟體必須要在伺服器端裝伺服器端軟體的。所以,這個對於我來說,是泡湯的。但是不代表這不是一個利器。 最後我用了一個很蛋疼的方法解決了。1.分離資料庫,備份一個Test;2.將資料庫附加回去,用自帶的恢復方式恢復到一個很久以前的狀態;3.將需要的那張表復制到備份的那個資料庫;4.將備份的那個資料庫掛回去,原資料庫刪了。 這是一個很蛋疼而且碰巧那張表沒被改的方法。頭一次知道DBA的重要性。我的方法是一個很偶然的東西,希望大家分享一下真正能解決恢復問題的辦法。當然,每隔一段時間備份是絕對沒有錯的。 方法 另外發現一個比較有技術性的可行的方法 1,如果誤操作之前存在一個全庫備份(或已有多個差異備份或增量備份),首先要做的事就是進進行一次日誌備份 (如果為了不讓日誌文件變大而置trunc. log on chkpt.選項為1那你就死翹了)backuplog dbName todisk='fileName'----注意:是日誌備份! 2,恢復一個全庫備份,注意需要使用with norecovery,如果還有其他差異或增量備份,則逐個恢復 restoredatabase dbName fromdisk='fileName'with norecovery 3,恢復最後一個日誌備份即剛做的日誌備份,指定恢復時間點到誤操作之前的時刻 restorelog dbName fromdisk='fileName'with stopat='date_time' 完整代碼View Code 經過驗證,這才叫有技術性!我那純屬「鄧艾的屯『田』」小孩子過家家。。。
『肆』 資料庫恢復的基本原理是利用什麼重建資料庫
重建資料庫時壓測環境沒有備份,但是另一套測試環境的表結構與壓測環境一致,只是數據有所差異,所以,獲取表結構比較容易。導入表結構沒有什麼好說明的地方,注意導入 SQL 的許可權和字元集。 重建表空間註:此小節對應恢復步驟的 。由於是整庫恢復,資料庫和表較多,所以使用腳本處理。大概的處理流程是,兩層循環,外層循環資料庫列表,內層循環對應資料庫表列表。然後依次 DISCARD TABLESPACE、拷貝對應庫對應表的 ibd 文件到對應目錄並更改許可權、IMPORT TABLESPACE。之前分析過,由於新舊的 ibd 文件表空間 id 不一致,導致不能正確導入。在 MySQL 錯誤日誌中記錄了表名、新舊表空間 id,接下來我們看看怎麼分解。 分析 MySQL 錯誤日誌註:此小節對應恢復步驟的和 。這一步很有意思。所有的資料庫表累計,不可能使用人工處理,我們得想點取巧的辦法。我們發現 MySQL 錯誤日誌記錄的表名、新舊表空間 id 很有規律,我們只需要依次取出這些值,問題就解決一大半了。
『伍』 資料庫數據恢復的數據存儲及恢復的基本原理
數據存儲及恢復第一步--分區.當主引導記錄因為各種原因(硬碟壞道、病毒、誤操作等)被破壞後,一些或全部分區自然就會丟失不見了,根據數據信息特徵,我們可以重新推算計算分區大小及位置,手工標注到分區信息表,「丟失」的分區回來了。
數據存儲及恢復第二步--文件分配表.硬碟分區完畢後,接下來的工作是格式化分區。格式化程序根據分區大小,合理的將分區劃分為目錄文件分配區和數據區,文件分配表內記錄著每一個文件的屬性、大小、在數據區的位置。我們對所有文件的操作,都是根據文件分配表來進行的。文件分配表遭到破壞以後,系統無法定位到文件,雖然每個文件的真實內容還存放在數據區,系統仍然會認為文件已經不存在。我們的數據丟失了,就像一本小說的目錄被撕掉一樣。要想直接去想要的章節,已經不可能了,要想得到想要的內容(恢復數據),只能憑記憶知道具體內容的大約頁數,或每頁(扇區)尋找你要的內容。我們的數據還可以恢復回來。
數據存儲及恢復第三步--格式化與刪除.當我們需要刪除一個文件時,系統只是在文件分配表內在該文件前面寫一個刪除標志,表示該文件已被刪除,他所佔用的空間已被釋放, 其他文件可以使用他佔用的空間。所以,當我們刪除文件又想找回他(數據恢復)時,只需用工具將刪除標志去掉,數據被恢復回來了。當然,前提是沒有新的文件寫入,該文件所佔用的空間沒有被新內容覆蓋。格式化是將所有文件都加上刪除標志,或乾脆將文件分配表清空,系統將認為硬碟分區上不存在任何內容。格式化操作並沒有對數據區做任何操作,目錄空了,內容還在,藉助數據恢復知識和相應工具,數據仍然能夠被恢復回來。
數據存儲及恢復第四步--理解覆蓋.個文件被標記上刪除標志後,他所佔用的空間在有新文件寫入時,將有可能被新文件佔用覆蓋寫上新內容。這時刪除的文件名雖然還在,但他指向數據區的空間內容已經被覆蓋改變,恢復出來的將是錯誤異常內容。同樣文件分配表內有刪除標記的文件信息所佔用的空間也有可能被新文件名文件信息佔用覆蓋,文件名也將不存在了。
當將一個分區格式化後,有拷貝上新內容,新數據只是覆蓋掉分區前部分空間,去掉新內容佔用的空間,該分區剩餘空間數據區上無序內容仍然有可能被重新組織,將數據恢復出來。
同理,克隆、一鍵恢復、系統還原等造成的數據丟失,只要新數據佔用空間小於破壞前空間容量,數據恢復工程師就有可能恢復你要的分區和數據。
數據存儲及恢復第五步--硬體故障數據恢復。硬體故障的數據恢復當然是先診斷,對症下葯,先修復相應的硬體故障,然後根據修復其他軟故障,最終將數據成功恢復。
數據存儲及恢復第六步--磁碟陣列RAID數據恢復.其恢復過程也是先排除硬體及軟故障,然後分析陣列順序、塊大小等參數,用陣列卡或陣列軟體重組,重組後便可按常規方法恢復數據。
SAN和NAS是目前最受人矚目的兩種數據存儲方式:
SAN:一個共用的高速專用存儲網路,存儲設備集中在伺服器的後端。其優勢:高數據傳輸速度;加強存儲管理;加強備份、還原能力的可用性;同種服務的綜合。綜合SAN的優勢,它在高性能數據備份/恢復、集中化管理數據及遠程數據保護領域得到廣泛的應用。
NAS:是一個專用為提供高性能、低擁有成本和高可靠性的數據保存和傳送產品。其優勢:移除伺服器I/O瓶頸;簡便實現NT與UNIX下的文件共享;簡便的設備安裝管理與維護;按需增容,方便容量規劃;高可靠性;降低總擁有成本。
更多的數據存儲解決方案趨向於將NAS和SAN進行融合。原因:
·一些分散式的應用和用戶要求訪問相同的數據
· 對提供更高的性能,高可靠性和更低的擁有成本的專有功能系統的高增長要求
·以成熟和習慣的網路標准包括TCP/IP, NFS和CIFS為基礎的操作
·一個獲得以應用為基礎而更具商業競爭力的解決方案慾望
·一個全面降低管理成本和復雜性的需求
·一個不需要增加任何人員的高擴展存儲系統
·一套可以通過重構劃的系統以維持硬體和管理人員的價值
『陸』 什麼是資料庫的恢復恢復的基本原則是什麼
結構體在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的大小
『柒』 資料庫恢復的基本原則
要使資料庫具有可恢復性,基本原理就是 「冗餘」,即數據的重復存儲。
資料庫恢復實現方法:
(1) 數據轉儲(mp)(又稱「倒庫」) 轉儲是指DBA將整個資料庫復制到磁帶或另 一個磁碟上保存起來的過程。這些備用的數 據文本稱為後備副本或後援副本。一時發生 故障,可以將後備副本重新裝入。
(2) 建立「日誌」文件(logging)。 日誌文件是用來記錄事務對資料庫的更新操 作的文件。對於資料庫的每次插入、刪除或 修改,記下改變前後 的值,寫到「「日誌」 文件,以便有案可查。
『捌』 資料庫恢復的重要依據是什麼
看看這個對你有幫助沒有
北亞oracle數據恢復軟體FROMBYTE Reconstructor for Oracle是一款用於恢復ORACLE資料庫文件的軟體產品,主要功能為重組ORACLE資料庫碎片並導出完整的文件。
一、適用的災難情況:
(1)ORACLE資料庫文件被誤刪除 .
(2)存儲重新分區、格式化導致ORACLE資料庫文件丟失。
(3)存儲突然斷電、文件系統故障、fsck導致ORACLE資料庫文件丟失。
(4)ASM存儲故障導致ORACLE資料庫文件丟失。
二、支持的文件系統特性:
(1)支持的文件系統類型:NTFS/EXT3/EXT4/REISERFS/REISER4/XFS/HTFS/UFS1/UFS2/JFS1/JFS2/VXFS/ASM.
(2)支持的文件系統平台:Little Endian/Big Endian.
(3)支持的文件系統塊大小:512 Bytes/1 KB/2 KB/4 KB/8 KB/16 KB/32 KB.
三、支持的資料庫特性:
(1)支持的資料庫版本:ORACLE 8i/ORACLE 9 i/ORACLE 10g/ORACLE 11g.
(2)支持的資料庫表空間模式:Smallfile Tablespace/Bigfile Tablespace.
(3)支持的資料庫文件塊大小:512 Bytes/1 KB/2 KB/4 KB/8 KB/16 KB/32 KB 及 自定義塊大小。
四、其他特性:
(1)支持虛擬磁碟文件掃描及恢復。
(2)支持保存當前的掃描信息或載入已保存的掃描信息。
(3)支持創建自定義磁碟掃描區域或ASM磁碟組。
(4)支持千萬級文件碎片掃描及多種不同的緩沖區大小。
(5)支持從資料庫文件 ID/Size/Integrity/Version/Block Size多方面進行過濾搜索(針對資料庫文件)。
(6)支持從資料庫文件碎片 File ID/Block ID/Block Count/Block Size多方面進行過濾搜索(針對資料庫文件碎片)。
(7)支持生成資料庫文件可恢復性的技術報告。
『玖』 簡述數據恢復的原則
簡單的講,一個文件在存儲到硬碟的時候,文件數據本身和文件信息是保存在不通的地方。文件信息中包含文件的大小、日期、起始位置等。當文件被執行刪除的時候,只是文件信息被刪除了,文件數據本身還依然保留在硬碟上,只是所佔用的硬碟空間被標記為空閑,這樣一來,新的數據就可以存入了。因此在文件被新的數據覆蓋之前,文件是可以被恢復的。不過此原理不適用於固態硬碟