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

資料庫恢復通常採用的方法是

發布時間: 2023-05-02 04:39:40

㈠ 目前運用的數據恢復技術主要包括

目前運用的數據恢復技術主要包括瞬時復制技術、遠程磁碟鏡像技術和資料庫恢復技術。
瞬時復制技術就是使計算機在某一災難時刻自動復制數據的技術。遠程磁碟鏡像技術是把數據中心磁碟的數據復制到遠程備份中心,在遠程備份中心提供主數據中心的磁碟影像。資料庫恢復技術是產生和維護一份或多份資料庫數據的副本,但該技術不能復制非資料庫格式的數據,所以,講資料庫復制技術與遠程磁碟鏡像技術配合使用,常常可以獲得更為良好的效果。(希望對以後查詢此問題的人有幫助!)

㈡ mysql資料庫刪除了怎麼恢復

常見的情況:
1、如完全丟失資料庫文件,用一般數據恢復方式不能恢復2、表被刪除,甚至被重寫,錶行被刪除3、索引錯誤,或者IAM斷裂4、資料庫大面損壞,可以指定任意表或者欄位提取數據5、系統表損壞甚至完全損壞,可以提取指定數據

Oracle資料庫恢復


1、undo,systen表空間損壞的恢復2、誤delete數據的恢復,誤刪除表空間drop,truncate表的恢復3、各種ora-錯誤的恢
復4、DMP文件不能導入資料庫以及LOB數據恢復等情況5、oracle資料庫中數據文件出現現壞塊情況下的恢復6、oracle資料庫無資料庫文件但
有有日誌的情況下的恢復7、能夠在系統表和空間文件丟失,變成0位元組下完整的恢復數據8、只要沒有覆蓋表空間件,都有信心恢復數據。無論你是什麼系統
(Windows,UNIX)等,無論什麼存儲設備(硬碟,磁碟陣列)


環乙木數據恢復是一家專門做手機數據恢復業務的公司,擁有先進的數據恢復認證設備,使用的幾乎全部是自有技術,對於數據恢復,採用最先進的數據分析和處理
方法,對手機數據丟失的數據恢復成功率在95%以上。如果您已經多方咨詢,別的手機數據恢復公司都告訴您,數據恢復無法實現。我們可以很自信地告訴您,這塊工作是我們的強項。我們可以手機、硬碟、伺服器、U盤、資料庫數據恢復等所有手機數據,且我
們可以為大家提供大量的成功案例以供參考,讓你對我們更具信心。

㈢ 一個完整的數據備份及恢復方案應包括那些

尊敬的用戶您好:
常見的數據備份與恢復方法有以下幾種:
1.數據備份:數據備份(Backup)是指將計算機硬碟上的原始數據(程序)復制到可移動媒體(Removable Media)上,如磁碟、磁帶、光碟等,在出現數據丟失或系統災難時將復制在可移動媒體上的數據恢復到硬碟上,從而保護計算機的系統數據和應用數據。
2.數據恢復:數據恢復(Recover)是數據備份的逆過程,即將備份的數據恢復到硬碟上的操
作。
3.數據歸檔:數據歸檔(Archive)將硬碟數據復制到可移動媒體上,與數據備份不同的是,數據歸檔在完成復制工作後將原始數據從硬碟上刪除,釋放硬碟空間。數據歸檔一般是對與年度或某一項目相關的數據進行操作,在一年結束或某一項目完成時將其相關數據存到可移動媒體上,以備日後查詢和統計,同時釋放寶貴的硬碟空間。
3.歸檔恢復:歸檔恢復(Retrieve)是數據歸檔的逆操作,將歸檔數據寫回到硬碟上。
4.在線備份:在線備份(On-line backup)是指對正在運行的資料庫或應用進行備份,通常對打開的資料庫和應用是禁止備份操作的,然而現在的有些計算機應用系統要求24小時運轉(如銀行的ATM業務),因此要求數據存儲管理軟體能夠對在線的資料庫和應用進行備份。
5.離線備份:離線備份(Off-line backup)指在資料庫SHUTDOWN或應用關閉後對其數據進行備份,離線
備份通常採用全備份。
6.全備份:全備份(Full backup)是備份策略的一種。執行數據全部備份操作。
7.增量備份:增量備份(Incremental backup)相對全備份而言,是備份策略的一種,只備份上一次備份後數據的改變數。
8.並行技術:並行技術(Parallelism)是指將不同的數據源同時備份/恢復到同一個備份設備/硬碟上。並行技術是考察數據存儲管理軟體性能的一個重要參數,有些廠商的軟體只能支持並行備份,而有的廠商則可以實現並行地備份及恢復;並且,真正有效的並行技術將可以充分利用備份設備的備份速度(帶寬),實現大數據量有限時間備份。
9.數據克隆:數據克隆(Clone)是實現災難恢復的一種重要手段,通過將原始數據同時備份到兩份可移動媒體上,將其中一份備份數據(Clone)轉移到地理位置不同的辦公室存放,在計算機系統發生重大災難如火災,系統連接的
備份設備和備份數據都被損壞的情況下,將重要數據在另一套系統上恢復,保障業務的正常運行。所有數據存儲管理軟體都提供克隆功能。

中國電信提供最優質的網路通訊服務,老友換新機,網齡抵現金,百兆寬頻免費體驗,超清電視iTV,電信活動可以直接通過營業廳查詢。

㈣ (sqlserver)如何還原一個資料庫,有幾種方式

您好!資料庫的還原操作主要有以下幾種:
一、使用SQK的企業管理器來進行圖形化的還原(打開管理器在還原的資料庫上右擊{任務}—還原;然後在彈出的對話框中:選擇要還原源文件和要還原目標的)
二、使用SQL代碼還原:RESTORE DATABASE 資料庫名 FROM DISK= 'F:\my.bak ' WITH REPLACE。
三、做一個作業代理:在步驟哪裡加入以上代碼;可以實現定時自動還原。
四、使用附加的方式;這個需要有二個文件(日誌和數據文件)
五、使用其它軟體進行還原。
說明:還原可以從低版本到高版本;反之則出錯。

㈤ sql server 2000 資料庫恢復

第一種方法:直接拷貝:%SQL
SERVER
2000%\MSSQL\Data(如:C:\Program
Files\Microsoft
SQL
Server\MSSQL\Data)
下所有的文件到目標機器的相應位置下,在
目標機器的SQL
SERVER
2000中選擇資料庫附加即可
第二中方法:使用資料庫備份,再還原到目標機器上
第三種方法:直接使用數據導入導出(DTS)即可(這樣的方式會丟失數據的主鍵,視圖,存儲過程等信息,只會有數據傳輸)

㈥ 怎麼修復資料庫 修復資料庫壞塊方法

修復資料庫壞塊
dbv
你也可以用dbv工具看一下你現在其他的數據文件有沒有還有壞塊的
dbv file='yourfilename'
恢復方法:
當Oracle資料庫出現壞塊時,Oracle會在警告日誌文件(alert_SID.log)中記錄壞塊的信息:
ORA-01578: ORACLE data block corrupted (file # 7, block # )
ORA-01110: data file : '/oracle1/oradata/V920/oradata/V816/users01.dbf'
其中,<AFN>代表壞塊所在數據文件的絕對文件號,代表壞塊是數據文件上的第幾個數據塊
出現這種情況時,應該首先檢查是否是硬體及操作系統上的故障導致Oracle資料庫出現壞塊。在排除了資料庫以外的原因後,再對發生壞塊的資料庫對象進行處理。
1.確定發生壞塊的資料庫對象
SELECT tablespace_name,
segment_type,
owner,
segment_name
FROM dba_extents
WHERE file_id =
AND between block_id AND block_id+blocks-1;
2.決定修復方法
如果發生壞塊的對象是一個索引,那麼可以直接把索引DROP掉後,再根據表裡的記錄進行重建;
如果發生壞塊的表的記錄可以根據其它表的記錄生成的話,那麼顫中可以直接把這個表DROP掉後重建;
如果有資料庫的備份,則恢復資料庫的方法來進行修復;
如果表裡的記錄沒有其它辦法恢復,那麼壞塊上的記錄就丟失了,只能把表中其它數據壞上的記錄取出來,然後對這個表進行重建。
3.用Oracle提供的DBMS_REPAIR包標記出壞塊
exec DBMS_REPAIR.SKIP_CORRUPT_BLOCKS('','');
4.使用Create table as select命令將表中其它塊上的記錄保存到另一張表上
create table corrupt_table_bak
as
select * from corrupt_table;
5.用DROP TABLE命令刪除有壞塊的表
drop table corrupt_table;
6.用alter table rename命令恢復原來的表
alter table corrupt_table_bak
rename to corrupt_table;
7.如果表上存在耐洞伍索引,則要重建表上的索引
PART2
2014.7.22研究恢復資料庫壞塊:
Oracle調用標准C的系統函數,對數據塊進行讀寫操作,因此,壞塊是有可能由以下幾種原因產生:
硬體的I/O錯誤
操作系統的I/O錯誤或緩沖問題
內存或paging問題
磁碟修復工具
一個數據文件的一部分正在被覆蓋
Oracle試圖訪問一個未被格式化的系統塊失敗
數據文件部分溢出
Oracle或者操作系統的bug
遇到「ORA-01578:ORACLE data block corrupted」錯誤
處理方法:1.rman的recover命令可以在資料庫保持open狀態下只恢復受損的數據塊
2.如果沒有備份,萬不得已之下也可以採用DBMS_REPAIR包的存儲過程將受損壞塊隔離,同時盡可能地挽救部分數據。
rman backup命令也是檢查壞數據塊的好工具 一旦讀取ORA-19566 即可有問題
此時可用backup validate tablespace user觀察詳細的信息,可查看到壞塊數與跟蹤文件
grep『corrupt』/u01/app/oracle/diag/rdbms/br/br/trace/**.trc
恢復數據塊:rman》recover datafile 5 block 203;
批量恢復受損的數據塊:recover corruption list;
數據塊壞塊昌或一號壞塊,需要做:
run{
sql 'alter database datafile 5 offline';
restore datafile 5;
recover datafile 5;
sql'alter database datafile 5 online'
}
使用exp/imp恢復
在這種情況下肯定會造成數據的丟失,在這種情況下應採取將數據導出然後重建表再進行導入的方法,來盡量恢復損壞數據塊中的數據,但是在有壞塊的情況下是不允許導出的,如下命令:Exp test/test file=t.dmp tables=t;
導出命令在執行中會報ORA-01578錯誤,在這錯誤提示中會提示那個文件號的文件以及這個文件中的哪個塊被損壞,如:ORA—01578:ORACLE 數據塊損壞(文件號 4,塊號 35)
針對以上的提示首先查詢那些對象被損壞:
Select tablespace_name,segment_type,owner,segment_name From dba_extents Where file_id=4 and 35 between block_id and block_id+blocks-1;
如果被損壞的塊是索引,通常可以通過索引重建來解決,如果損壞的是數據(segment_type為table),那麼通過設置如下內部事件使得Exp操作跳過壞塊。
Alter session set events=』10231 trace name context forever,level 10』;
然後重新執行導出命令,導出相關的表,然後執行Drop Table命令刪除相關表,之後重建表最後導入數據。
使用DBMS_REPAIR恢復
用DBMS_REPAIR當然也會丟失數據。這里不做詳細的介紹,有興趣的可以查看oracle的在線文
3、使用dbms_repair包進行壞塊處理
1)首先建立repair_table,用於存放dbms_repair.check_object檢測出來的壞塊信息
SQL> declare
2begin
3dbms_repair.admin_tables
4(table_name => 'REPAIR_TABLE',--表名
5table_type => dbms_repair.repair_table,
6action => dbms_repair.create_action,
7tablespace => 'USERS');--用於指定該表存放的表空間
8end;
9/
PL/SQL 過程已成功完成。
SQL> col owner format a10
SQL> col object_name format a20
SQL> col object_type format a20
SQL> select owner, object_name, object_type
2from dba_objects
3where object_name like '%REPAIR_TABLE';
OWNEROBJECT_NAMEOBJECT_TYPE
---------- -------------------- --------------------
SYSREPAIR_TABLETABLE
SYSDBA_REPAIR_TABLEVIEW
Oracle自動創建了一個DBA_REPAIR_TABLE視圖。
2)使用dbms_repair.check_object進行壞塊檢測
SQL> set serveroutput on size 100000;
SQL> declare
2rpr_count int;
3begin
4rpr_count := 0;
5dbms_repair.check_object(
6schema_name => 'SYS',--指定對象模式,也就是對象的所有者
7object_name => 'TEST',--指定對象名,也就是表名
8repair_table_name => 'REPAIR_TABLE',
9corrupt_count => rpr_count);
10dbms_output.put_line('repair block count: '
11||to_char(rpr_count));
12end;
13/
repair block count: 4
PL/SQL 過程已成功完成。
SQL> select object_name, block_id, corrupt_type, marked_corrupt,
2corrupt_description, repair_description
3from repair_table;
OBJECT_NAMEBLOCK_ID CORRUPT_TYPE MARKED_COR
-------------------- ---------- ------------ ----------
CORRUPT_DESCRIPTION
-------------------------------------------------------------------------------
REPAIR_DESCRIPTION
-------------------------------------------------------------------------------
TEST196148 TRUE
mark block software corrupt
TEST206148 TRUE
mark block software corrupt
TEST236148 TRUE
mark block software corrupt
TEST316148 TRUE
mark block software corrupt
通過運行dbms_repair.check_object,將壞塊信息存放到了repair_table表中,其中有個欄位marked_corrupt,用於標識該塊是否被標識為壞塊,當被標識為true時,即該塊被標識為壞塊。其中這一步跟oracle文檔中的描述有點進入,根據oracle文檔,當執行完dbms_repair.check_object時,並不會進行壞塊標識,也就是marked_corrupt列的值應該為false,而只有當執行dbms_repair.fix_corrupt_blocks過程後才會進行壞塊標識。
3)使用dbms_repair.fix_corrupt_blocks進行壞塊標識
SQL> declare
2fix_block_count int;
3begin
4fix_block_count := 0;
5dbms_repair.fix_corrupt_blocks (
6schema_name => 'SYS',
7object_name => 'TEST',
8object_type => dbms_repair.table_object,
9repair_table_name => 'REPAIR_TABLE',
10fix_count => fix_block_count);
11dbms_output.put_line('fix blocks count: ' ||
12to_char(fix_block_count));
13end;
14/
fix blocks count: 0
PL/SQL 過程已成功完成。
我們可以見到到fix blocks count=0,即在上一步進行check_object時已經進行了壞塊標識了,這一步其實可以省略。(不過沒有測試過!)

㈦ 怎麼修復已經損壞的SQL資料庫

有兩種方法,一種方法使用mysql的check table和repair table 的答升sql語句,另一種方法是使用MySQL提供的多個myisamchk, isamchk數據檢測恢復工具。

前者使用起來比較簡便。推薦使用。

1、check table 和 repair table 登陸mysql 終端: mysql -uxxxxx -p dbname check table tabTest;

如果出培斗現的結果說Status是OK,則不用修復,如果有Error,可以用: repair table tabTest; 進行修復,修復之後可以在用check table命令來進行檢查。

在新版本的phpMyAdmin裡面也可以使用清中老check/repair的功能。

2. myisamchk, isamchk 其中myisamchk適用於MYISAM類型的數據表,而isamchk適用於ISAM類型的數據表。

這兩條命令的主要參數相同,一般新的系統都使用MYISAM作為預設的數據表類型,這里以myisamchk為例子進行說明。

當發現某個數據表出現問題時可以使用: myisamchk tablename.MYI 進行檢測,如果需要修復的話,可以使用: myisamchk -of tablename.MYI 關於myisamchk的詳細參數說明,可以參見它的使用幫助。

需要注意的時在進行修改時必須確保MySQL伺服器沒有訪問這個數據表,保險的情況下是最好在進行檢測時把MySQL伺服器Shutdown掉。

2、另外可以把下面的命令放在你的rc.local裡面啟動MySQL伺服器前: [ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI 。

其中的/tmp/mysql.sock是MySQL監聽的Sock文件位置,對於使用RPM安裝的用戶應該是/var/lib/mysql/mysql.sock,對於使用源碼安裝則是/tmp/mysql.sock可以根據自己的實際情況進行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL資料庫存放的位置。

需要注意的是,如果你打算把這條命令放在你的rc.local裡面,必須確認在執行這條指令時MySQL伺服器必須沒有啟動!

最後檢測修復所有資料庫(表)。

㈧ Oracle 資料庫的備份與恢復都有哪幾種方法

一、邏緝備份:exp/imp 導出導入
二、用戶管理的備份恢復:1、冷備份,正常關閉資料庫,操作系統拷貝整個資料庫文件。
2、熱備份,在資料庫開啟時,把要備份的數據文件改為bakcup狀態
聯機拷貝文件。
三、rman管理的備份恢復

㈨ 講SQL Server資料庫的幾種恢復模式

恢復模式說明了工作丟失的風險,能否恢復到時點? SQL Server資料庫有三種恢復模式:簡單恢復模式、完整恢復模式和大容量日誌恢復模式。 相對於簡單恢復模式而言,完整恢復模式和大容量日誌恢復模式提供了更強的數據保護功能。這些恢復模式都是基於備份事務日誌來提供完整的可恢復性及在最大范圍的故障情形內防止丟失工作。通常,資料庫使用完整恢復模式或簡單恢復模式。 下面對三種恢復模式做一個比較: 恢復模式 日誌備份 恢復點 優點 缺點 解決方案及建議 簡單(Simple) 無日誌備份。 自動回收日誌空間以減少空間需求,實際上不再需友慶要管理事務日誌空間。 最新備份之後的更改不受保護。在發生災難時,這些更改必須重做。只能恢復到備份的結尾。 簡單恢復模式可最大程悄告早度地減少事務日誌的管理開銷,因為不備份事務日誌。 如果資料庫損壞,則簡單恢復模式將面臨極大的工作丟失風險。數據只能恢復到已丟失數據的最新備份。 在簡單恢復模式下,備份間隔應盡可能短,以防止大量丟失數據。簡單恢復模式並不適合生產系統,因為對生產系統而言,丟失最新的更改是無法接受的。在這種情況下,我們建議使用完整恢復模式。 完整(Full) 需要日誌備份。 理論上可以恢復到任意時點。 數據文件丟失或損壞不會導致丟失工作。 此模式完整記錄所有事務,佔用大量空間。 大容量(Bulk-logged) 需要日誌備份。 如果在最新日誌備份後發生日誌損壞或執行大容量日誌記錄操作,則必須重做自該上次備份之後所做的更改。 可以恢復到任何備份的結尾。不支持時點恢復。 該模式是完整恢啟雀復模式的附加模式,允許執行高性能的大容量復制操作。通過使用最小方式記錄大多數大容量操作,減少日誌空間使用量。 比完整模式節省日誌存儲空間。 對於某些大規模大容量操作(如大容量導入或索引創建),暫時切換到大容量日誌恢復模式可提高性能並減少日誌空間使用量。由於大容量日誌恢復模式不支持時點恢復,因此必須在增大日誌備份與增加工作丟失風險之間進行權衡。 注意: 1. 適合於資料庫的恢復模式取決於資料庫的可用性和恢復要求。 2. 在完整恢復模式和大容量日誌恢復模式下,必須進行日誌備份。