oracle聯(lián)機(jī)數(shù)據(jù)庫備份詳解
盡管很多時候數(shù)據(jù)庫系統(tǒng)運行緩慢,但對數(shù)據(jù)庫數(shù)據(jù)的丟失而言,顯然后者損失的代價是不言而喻的。因此DBA至少在保證數(shù)據(jù)不丟失的情況下來提高系統(tǒng)的性能是最起碼的要求
聯(lián)機(jī)數(shù)據(jù)庫備份
一旦數(shù)據(jù)庫運行在archivelog方式,在打開并對用戶可用時就可以進(jìn)行備份。這一特性允許連續(xù)運轉(zhuǎn)的數(shù)據(jù)庫可以歸檔并能保證其恢復(fù)性。聯(lián)機(jī)熱備份應(yīng)該安排在用戶活動最少的時間段進(jìn)行。
聯(lián)機(jī)熱備份包括三個過程,即逐個表空間地備份數(shù)據(jù)文件、備份歸檔重做日志文件和備份控制文件。
1. 逐個表空間地備份數(shù)據(jù)文件
該過程又可以分為四個步驟,即查詢表空間包括哪些數(shù)據(jù)文件、設(shè)置表空間為備份狀態(tài)、備份表空間的數(shù)據(jù)文件、將表空間恢復(fù)到正常狀態(tài)。
(1) 查詢表空間包括哪些數(shù)據(jù)文件
執(zhí)行命令select tablespace_name,file_name from dba_data_files可以獲得系統(tǒng)中所有數(shù)據(jù)文件以及其歸屬的表空間。
(2) 設(shè)置表空間為備份狀態(tài)
執(zhí)行命令alter tablespace tablespace_name begin backup將表空間tablespace_name設(shè)置為備份狀態(tài)。
(3) 備份表空間的數(shù)據(jù)文件
執(zhí)行操作系統(tǒng)的文件備份命令將表空間的數(shù)據(jù)文件備份。
(4) 將表空間恢復(fù)到正常狀態(tài)
執(zhí)行命令alter tablespace tablespace_name end backup將表空間tablespace_name恢復(fù)到正常狀態(tài)。
2. 備份歸檔重做日志文件
該過程又可以分為三個步驟,即暫停歸檔進(jìn)程ARCH、備份歸檔重做日志文件。
(1) 暫停歸檔進(jìn)程ARCH
執(zhí)行命令archive log stop暫停歸檔進(jìn)程ARCH。
(2) 記錄歸檔目標(biāo)目錄中已歸檔日志文件的列表
可以查詢V$LOG動態(tài)字典視圖。如果日志已完全歸檔, V$LOG的archived列將含有YES值??梢詮腣$LOG選擇最高的歸檔日志(使用sequence#列)并將其用作備份文件清單的基礎(chǔ)。例如,如果V$LOG表明sequence#2334是最后一個被歸檔的日志文件,就可以成功地備份歸檔重做日志目標(biāo)目錄中所有序號在2334以下的文件。如果試圖備份2335,可以在操作系統(tǒng)級成功備份,但由于這個文件還沒有完全歸檔,這個備份可能只寫入一半,因而在恢復(fù)操作期間不可能有用。
(3) 重新啟動歸檔進(jìn)程ARCH
執(zhí)行命令archive log start啟動歸檔進(jìn)程ARCH。
(4) 備份歸檔重做日志文件
執(zhí)行操作系統(tǒng)的文件備份命令備份歸檔重作日志文件。
(5) 從歸檔目標(biāo)目錄中刪除已經(jīng)備份的歸檔日志文件
3. 備份控制文件
執(zhí)行命令alter database backup controlfile to destinantion/control.bak進(jìn)行在線備份控制文件。也可以執(zhí)行alter database backup controlfile to trace將create controlfile的命令寫入到數(shù)據(jù)庫的跟蹤文件中
聯(lián)機(jī)熱備份失敗后,如何打開數(shù)據(jù)庫
因為表空間還處在熱備份狀態(tài)。
模擬現(xiàn)象及解決方法:
先將數(shù)據(jù)庫設(shè)置為歸檔模式
C:>svrmgrl
svrmgrl>connect internal
svrmgrl>alter tablespace 表空間名 begin backup;
--表空間熱備模式?jīng)]結(jié)束就強(qiáng)行關(guān)閉數(shù)據(jù)庫,造成錯誤
svrmgrl>shutdown abort
svrmgrl>startup mount
--將此表空間的數(shù)據(jù)文件在沒打開數(shù)據(jù)庫時置成end backup模式
svrmgrl>alter database datafile '表空間的數(shù)據(jù)文件名' end backup;
--或執(zhí)行表空間介質(zhì)恢復(fù)
svrmgrl>recover tablespace 表空間名;
svrmgrl>alter database open;
相關(guān)文章
Oracle數(shù)據(jù)庫中字符串截取最全方法總結(jié)
Oracle提供了多種截取字符串的操作方法,可以根據(jù)具體需求選擇合適的方法進(jìn)行操作,下面這篇文章主要給大家總結(jié)介紹了關(guān)于Oracle數(shù)據(jù)庫中字符串截取的最全方法,需要的朋友可以參考下2024-03-03
oracle11g密碼復(fù)雜性校驗開啟關(guān)閉方式
這篇文章主要介紹了oracle11g密碼復(fù)雜性校驗開啟關(guān)閉方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
調(diào)整Oracle數(shù)據(jù)庫的UNDO_RETENTION參數(shù)的方法
本文介紹了如何調(diào)整Oracle數(shù)據(jù)庫的UNDO_RETENTION參數(shù),包括查看當(dāng)前值、動態(tài)和靜態(tài)調(diào)整方法,以及注意事項,感興趣的朋友一起看看吧2025-03-03
C#利用ODP.net連接Oracle數(shù)據(jù)庫的操作方法
本文將介紹C#利用ODP.net連接Oracle數(shù)據(jù)庫的操作方法,需要的朋友可以參考下2012-11-11
oracle 服務(wù)啟動,關(guān)閉腳本(windows系統(tǒng)下)
Windows下的批出理程序,就是dos命令的集合,我們也可以通過運行程序里的命令來開啟服務(wù).2009-07-07
Oracle日常維護(hù)中管理用戶以及重做日志文件的方法
這篇文章主要介紹了Oracle日常維護(hù)中管理用戶以及重做日志文件的方法,是Oracle入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-12-12

