資料庫的恢復
① 資料庫中的數據刪除後還能恢復嗎
資料庫中的數據被刪除後,可以恢復。但至少需要滿足兩個條件:1、在誤刪之前,至少有完整備份之前的資料庫。
2、資料庫的恢復模式(Recoverymode)是「完整(Full)」。
只有滿足這兩個條件,才可以恢復資料庫中誤刪的數據。
針對這兩個前提條件,有三種方式可以恢復數據:
方式一:如果,這兩個前提條件都滿足,可以通過sql語句進行數據恢復,而且只需三步即可恢刪除的數據,無需第三方工具。
方式二:當不滿足第一個條件,而滿足第二個條件時,需要藉助第三方工具,才能恢復數據。
方式三:如果兩個條件都不滿足,數據則無法恢復。所以,一定將資料庫的恢復模式,調整為「完整(Full)」。
② 資料庫恢復的主要依據
重建資料庫時壓測環境沒有備份,但是另一套測試環境碰扮的表結構與壓測環境一致,只是數據有所差異,所以,獲取表結構比較容易。導入表結構沒有什麼好說明的地方,注意導入 SQL 的許可權和字元集。 重建表空間註:此小節對應恢復步驟的 。由於是整庫恢復,資料庫和表較多,所以使用腳本處理。大概的處理流程是,兩層循環,外層循環資料庫列表,內層循環對山賣應資料庫表列表。然後依次 DISCARD TABLESPACE、拷貝對應庫對應表的 ibd 文件到對應目錄並更改許可權、IMPORT TABLESPACE。之前分析過,由於新舊的 ibd 文件表空間 id 不一致,導致不能正確導入。在 MySQL 錯誤日誌中記錄了表名、新舊表空間 id,接下來我們看看怎麼分解。 分析 MySQL 錯誤日誌註:此小節對應恢復步驟的和 。這一步很有意思。所有的資料庫表累計,不可能使用人工處理,我們得想點取巧的辦法。我們發現 MySQL 錯誤日誌記錄的表名、新舊表空間 id 很有規律,我們只需要依逗吵逗次取出這些值,問題就解決一大半了。
③ 重裝系統後,怎麼恢復oracle資料庫
任何軟體都有可能在有意或無意的情況下被重新安裝,如Oracle重裝後資料庫怎麼恢復呢?情況發生在你是無意的情況下!ORACLE資料庫恢嫌扒復的方法我們經常會用到,下面就為您介紹重裝系統後ORACLE資料庫恢復的方法,希望對您學習ORACLE資料庫恢復方面能有所幫助。x0dx0ax0dx0a我的電腦突然掛了,不得不重裝系統,不過我的ORACLE裝在了D盤,所有的文件都還在,我相信一定能夠恢復,直到搞定工作,我才開始整我的資料庫,花了兩天時間,終於恢復了,慶祝一下,同時總結一下,希望有遇到同樣問題的朋友能夠快速搞橋春定此類問題x0dx0ax0dx0a第一種:x0dx0ax0dx0a首先,備份資料庫(X:\oracle\oradata)下的數據文件,重新命名即可(否則裝資料庫的時候會提示sid已存在)。重芹消昌新安裝數據x0dx0a庫,當然資料庫的名字就是你要恢復的名字。安裝完成後,打開控制面板,停止oracle的服務。把(X:\oracle\oradata)下新生成的文件x0dx0a改名,把原先目錄下的文件恢復名字。再重新啟動oracle服務和監聽。用sys/as dba x0dx0a登陸資料庫,可能會提示許可權不夠(ora-01031)修改(X:\oracle\ora92\network\admin x0dx0a)文件夾下的sqlnet.ora文件,添加SQLNET.AUTHENTICATION_SERVICES= x0dx0a(NTS),增加許可權。登陸進去後,打開table提示不能打開。打開common頁,執行命令alert database x0dx0aopen;這時再刷新table,發現原先的表可以打開了。恢復成功了。再用原先資料庫的普通用戶進入。發現一切正常。至此,大功告成。x0dx0ax0dx0a第二種:x0dx0ax0dx0a1、首先,將原來的ORACLE文件夾改名,原來的路徑是D:/oracle.我暫時改成D:/oracle_old.找來ORACLE(我用x0dx0a的是ORACLE 9I)安裝光碟,將ORACLE安裝在原來安裝的目錄下,這樣恢復起來更加方便,主要是注冊表的內容不用修改。x0dx0ax0dx0a2、安裝完了之後,系統中又有一個可以使用的ORACLE了。這個時候要做的就是將原來的文件和數據恢復過來。第一步,先關閉ORACLE的所x0dx0a有已經啟動的項目,在"服務"裡面逐一關閉。然後,將安裝目錄改名。我現在用的是D:/oracle.改成D:/oracle_new.再將D:x0dx0a/oracle_old改成D:/oracle. x0dx0a這樣理論上說從物理層面恢復了ORACLE了。但是我們發現,現在還不能啟動ORACLE的監聽程序和服務程序。我們還要從邏輯上解決。x0dx0ax0dx0a3、在dos環境下執行一個刪除命令:oradim -delete -sid mm,其中mm為創建oracle時候創建的實例 x0dx0a建議執行這個命令後重新啟動機器,重啟後就可以建立和原來實例名相同的實例。當然你懶,不重新啟動也可以,但是你的實例名就不能和原來的一樣了。x0dx0ax0dx0a4、在dos環境下執行命令 oradim -new -sid mm -startmode a -pfile "D:\oracle\admin\mm\pfile\initmm.ora "創建一個新的實例,其中 "mm"為新資料庫的名稱。x0dx0ax0dx0a5、啟動服務,先打開資料庫,然後可以用以前的用戶名和密碼登陸進去。 x0dx0a要補充的是,一般的ORACLE資料庫的監聽程序都是用電腦的名稱來識別地址的,而不是127.0.0.1或者localhost.所以,如果我們安裝系x0dx0a統的時候用的是不同的電腦名稱(比如我原來用的是wm_mm.重新安裝後用的是wenming_mm),那麼我們還有一個工作要做,就是修改文件 x0dx0alistener.ora.將裡面的相關的東西改過來就可以了。x0dx0ax0dx0a需要耐心、細心,可能在一步里有一個細小的差別就會出些古怪的錯誤提示,有時需要根據錯誤提示採取策略,總之原理是,先裝一個一模一樣的ORACLE,安裝目錄、資料庫名稱都一樣,這樣保證注冊表裡不用更改;再覆蓋物理文件,最後重新實例化,打開資料庫就可以進去了。
④ SQL資料庫如何還原
可以選擇手動備份資料庫或者語句備份資料庫的方法。
⑤ oracle資料庫執行腳步出錯,怎麼恢復資料庫
數據恢復方法是利用oracle提供的閃回方法進行數據恢復,適用於delete刪除(一條記錄)方式:
首先需要知道是什麼時間進行的刪除操作,如果不能確定具體時間點則選擇盡量准確的刪除數據前的時間。然後利用
select * from 表名 as of timestamp to_timestamp('刪除時間點','yyyy-mm-dd hh24:mi:ss')
語句可以找回刪除的數據。利用
insert into 表名 (select * from 表名 as of timestamp to_timestamp('刪除時間點','yyyy-mm-dd hh24:mi:ss'));
語句就可以將恢復出來的數據插入原表中(注意要保證主鍵不重復)。
另一種方法可以通過閃回整個表來恢復誤刪除的數據,但僅適用於表結構沒有發生改變且用戶有flash any table許可權的情況下,語句如下:
·alter table 表名 enable row movement
⑥ 什麼是資料庫恢復
數據恢復的原理,你如果了解了硬碟的結構以後你會發現,我們的數據保存到有存儲介質的碟片上,當我們保存數據的時候,就會在碟片上做凸凹不平而保存數據。如果我們刪除了文件的時候,我們並沒有把所有的凸凹不平的介質抹掉,而是把它的地址給抹去,而讓操作系統找不到這個文件,而認為它已經消失,可以在這個地方寫數據,把原來的凸凹不平的數據信息給覆蓋掉了,所以數據恢復的原理是,如果沒被覆蓋,我們就可以用軟體,突破操作系統的定址和編址方式,重新找到那些沒被覆蓋的地方的數據並組成一個文件,如果幾個小地方被覆蓋,可以用差錯效驗位來糾正,如果覆蓋太多,那麼就每辦法恢復了!所以提倡如果發現文件丟失,立即找數據恢復公司恢復,不要做任何操作!
區別就在於,個人恢復的可能不會完全恢復,出現亂碼,而數據恢復公司一般會100%恢復.
⑦ 資料庫被刪除了怎麼恢復
恢復步驟:
1、運行EasyRecovery。
2、選擇「DeletedRecovery」。
3、選擇資料庫文件所在的驅動器,在「File Filter」中輸入*.mdf|*.ldf,選擇「Next」。
4、在左側窗口會列出被刪除的資料庫文件,選擇所要恢復的資料庫文件,選擇「Next」。
5、在「Recover to Local Drive」中選擇恢復後的文件存放的路徑,要選擇與原資料庫文件不同的路徑,選擇「Next」。
6、文件被恢復後,將恢復的文件復制到原資料庫文件位置,並在企業管理器通過附加資料庫,將恢復的文件恢復到SQL Server中。
註:如果刪除的資料庫文件所有的存儲區域被寫過了,就無法恢復了,所以刪除與恢復的時間間隔越短越好。
⑧ sql server誤刪了資料庫怎麼找回
1、打開SQLServerManagementStudio。
2、右擊要備份的資料庫——任務——還原——資料庫。
3、彈出還原資料庫界面。選擇「源設備」,點擊後面對應的「?」。
4、彈出路徑選擇界面,點擊「添加」。
5、選擇要還原的資料庫備份文件。點擊「確定」,再點擊「確定」。
6、將選好的還原集前打勾(如下圖),後點擊左上角的「選項」。
7、在還原選項中將「覆蓋現有資料庫」打勾;在恢復狀態中,選擇「回滾未提交的事務,使資料庫處於可以使用的狀態」。