




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、oracle 10g備份與還原總結一.總述1.數據庫歸檔模式: * 非歸檔模式:當數據庫數據只讀不會改變時,數據不會改變,數據庫適合用非歸檔模式, 這樣提高性能 * 歸檔模式:對于數據庫數據經常變動,數據庫最好用歸檔模式,這樣可以盡量避免數據庫 數據丟失,使出現問題時災害降到最低2.非歸檔模式與歸檔模式間的切換(在命令窗口下): 檢查當前日志操作模式 f:>sqlplus sys/dba as sysdba 連接數據庫 sql>select log_mode from v$database; 關閉數據庫,后裝載數據庫,只能在mount狀態下改變日志操作模式 sql>start
2、up mount 改變日志模式 sql>alter database achivelog;(變為歸檔方式,否則為nochivelog) sql>alter database open; 3.查看歸檔模式相關信息: 若采用默認設置,歸檔日志位置在快速恢復區 配置歸檔日志位置 log_archive_dest_n (n=1:10) sql>alter system set log_archive_dest_1 = 'location =c:demoarchive optional' sql>alter system set log_archive_dest_
3、2 = 'service =standby mandatory reopen' 其中:location 是本地 service 是遠程 optional 無論歸檔是否成功,都會覆蓋重做日志 mandatory只有成功歸檔才會覆蓋重做日志 reopen 重新歸檔時間間隔 默認是300s 顯示歸檔信息,即顯示顯示日志操作模式 sql>select name,log_mode from v$database; 顯示歸檔日志信息 sql>select name,sequence#,first_change# from v$archive_log; sequence#: 歸檔
4、序列號 first_change# : 起始SCN值 顯示歸檔日志位置 sql>select dest_name,destination,status from v$archive_dest; dest_name 歸檔位置參數名 destination 位置 顯示日志歷史信息 sql>select * from v$loghist; threade# : 重做線程號 sequence# : 日志序列號 first_change# : 起始SCN值 first_time : 起始SCN發生時間 switch_change : 切換SCN值 二.非歸檔模式下的備份與還原 . 日志采用覆
5、蓋原有日志的方式存儲 . 出現介質失敗時,只能恢復到過去的完全備份點 . 數據庫OPEN狀態是,不能備份數據庫 . 必須先關閉數據庫,再備份,且必須備份所有數據,控制文件1.備份=冷備份 先關閉數據庫 sql>shutdown immediate 拷貝所有數據文件,和控制文件2.恢復 * 數據文件出現丟失,但備份以來的重做日志內容尚未被覆蓋,此時可以完全恢復 裝載數據庫 sql>startup force mount 復制數據文件備份 恢復數據文件 sql>recover datafile 1 打開數據庫 sql>alter database open; * 備份文件的
6、重做日志內容已經被覆蓋,則只能還原到備份點 關閉數據庫 復制所有數據和控制備份文件至原位置 裝載數據庫,執行恢復命令 sql>startup mount sql>recover database until cancel 提示控制文件不再使用原有重做日志 用resetlogs選項打開數據庫 sql>alter database open resetlogs;三.歸檔模式 . 可以防止數據丟失 . 數據處于OPEN狀態時可以進行備份 . 當出現介質失敗時,除了SYSTEM表空間中的數據文件外其他的都可以在open狀態下恢復 . 可執行完全恢復,也可以恢復到備份點與失敗點之間的某
7、時刻 1.備份 1)冷備份 shutdown后拷貝所需數據文件和控制文件 2)熱備份 將數據庫設置為歸檔模式 在數據庫上發出全局檢查點,在所有的數據文件頭塊上加鎖 sql>alter database begin backup ; 備份數據文件及控制文件 數據文件直接拷貝至其他目錄 控制文件需使用alter database backup controlfile sql>alter database backup controlfile to 'd:backupdemo.ctl' 結束數據備份,為確保數據文件備份的同步性,還應該歸檔當前日志組 sql>alte
8、r database end backup; sql>alter system archive log cuurent; 3)備份表空間 *脫機備份(表空間處于OFFLINE狀態,SYSTEM表空間和正在使用的UNDO空間不能脫機) 確定表空間包涵的數據文件,如空間USERS sql>select file_name from dba_data_files where tablespace_name = 'users' 設置表空間為脫機狀態 sql>alter tablespace users offline; 復制數據文件 設置表空間聯機 sql>al
9、ter tablespace users online; *聯機備份 確定對應關系 設置表空間為備份模式 sql>alter tablespace users begin backup ; 復制數據文件 設置表空間為正常模式 sql>alter tablespace users end backup ; *處理聯機備份失敗 當執行聯機備份時,若出現例程失敗,再次打開數據庫時,如果數據文件仍處于備 份狀態,則會出錯,此時需要結束備份 裝載數據庫 sql>startup force mount 查看處于聯機備份狀態的所有數據文件 sql>select file# from
10、v$backup where status = 'active' 結束聯機備份狀態 sql>alter tablespace end backup 或alter tablespace datafile backup; 或recover datafile 序號 打開數據庫 sql>alter database open;2.還原 1)完全恢復 相關命令: recover database :恢復數據庫的多個數據文件(在MOUNT狀態下運行) recover tadaspace :恢復多個表空間的所有數據文件(在open狀態下運行) recover datafile :
11、恢復一個或多個數據文件(在mount,open狀態下都可) *在mount狀態下恢復數據文件(用于SYSTEM表空間恢復) 裝載數據庫 mount狀態 確定需要恢復的數據文件 sql>select file#,error from v$recover_file 拷貝備份至原位置 恢復數據庫 recover.上述命令 打開數據庫 alter database open; *在open狀態下恢復關閉后意外對視的數據文件,此時數據庫將無法打開 裝載數據庫 mount 確定需要恢復的數據文件 使相應的數據文件脫機 sql>alter database datafile 4 offline;
12、 打開數據庫 sql>alter database open 復制數據備份文件 恢復數據文件 是數據文件聯機 alter database datafile 4 online; *在open狀態下恢復打開時意外丟失的數據文件 確定要恢復的數據文件 使數據文件脫機 復制數據文件 恢復相應的表空間或數據文件 使相應的表空間或數據文件聯機 *在open狀態下恢復未備份的數據文件(要求在歸檔模式下,新建數據文件,其從簡歷 開始的所有歸檔日志必須全部存在) 裝載數據庫 確定要恢復的數據文件 是數據文件脫機 打開數據庫 重新建立數據文件 sql>alter database create da
13、tafile 'd:demousers01.dbf' 恢復數據文件 使數據文件聯機 2)不完全恢復 使用已備份的數據文件,歸檔日志,和重做日志,將數據庫恢復到備份點與失敗點之間 某個時刻的狀態 *恢復分類 基于時間的恢復:誤刪除表,誤截斷表,提交了錯誤的數據 基于取笑恢復:恢復到某個日志序列號之前的狀態 基于SCN的恢復:恢復到特定SCN值的狀態 基于備份控制文件恢復:表空間被意外刪除,或所有控制文件全部損壞 *不完全恢復指令 recover database until time recover database until change recover database u
14、ntil cancel recover database . using backup controlfile *基于時間的恢復 關閉數據庫(為防止備份失敗,應備份當前數據庫所有文件 裝載數據庫 startup mount 復制所有備份數據文件,并確定備份文件的時間點 sql>select file#,to_char(time,'yyyy-mm-dd hh24:mi:ss) from v$recover_file; 執行recover database until time sql>recover database until time "2006-09-26 1
15、6:40:33' 以resetlogs方式打開數據庫,并檢查恢復結果 sql>alter database open resetlogs; 備份數據庫所有數據文件和控制文件,因為當以resetlogs方式打開數據庫后 會重新建立重做日志,清空原有重做日志的所有內容,并將日志序列號復位為1 sql>select name from v$datafile; sql>alter database begin backup; 拷貝數據文件 sql>alter database end backup; sql>alter database backup contro
16、lfile to 'd:backupdemo.ctl' reuse; sql>alter system archive log cuurent; *基于SCN恢復 關閉數據庫 裝載數據庫 mount 復制所有備份數據文件,確定備份文件SCN值 sql>select file#,change#, from v$recover_file; 執行recover database until change sql>recover database until change 675978; 以resetlogs方式打開數據庫 備份數據庫所有數據文件和控制文件 *基于取消恢復 關閉數據庫 裝載數據庫 復制所有備份的數據文件,確定備份文件的SCN值 sql>select file#,change# from v$recover_file; 執行recover database until cancle sql>recover database until cancel 以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論