oracle聯(lián)機(jī)數(shù)據(jù)庫備份詳解
盡管很多時(shí)候數(shù)據(jù)庫系統(tǒng)運(yùn)行緩慢,但對數(shù)據(jù)庫數(shù)據(jù)的丟失而言,顯然后者損失的代價(jià)是不言而喻的。因此DBA至少在保證數(shù)據(jù)不丟失的情況下來提高系統(tǒng)的性能是最起碼的要求
聯(lián)機(jī)數(shù)據(jù)庫備份
一旦數(shù)據(jù)庫運(yùn)行在archivelog方式,在打開并對用戶可用時(shí)就可以進(jìn)行備份。這一特性允許連續(xù)運(yùn)轉(zhuǎn)的數(shù)據(jù)庫可以歸檔并能保證其恢復(fù)性。聯(lián)機(jī)熱備份應(yīng)該安排在用戶活動(dòng)最少的時(shí)間段進(jìn)行。
聯(lián)機(jī)熱備份包括三個(gè)過程,即逐個(gè)表空間地備份數(shù)據(jù)文件、備份歸檔重做日志文件和備份控制文件。
1. 逐個(gè)表空間地備份數(shù)據(jù)文件
該過程又可以分為四個(gè)步驟,即查詢表空間包括哪些數(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. 備份歸檔重做日志文件
該過程又可以分為三個(gè)步驟,即暫停歸檔進(jìn)程ARCH、備份歸檔重做日志文件。
(1) 暫停歸檔進(jìn)程ARCH
執(zhí)行命令archive log stop暫停歸檔進(jìn)程ARCH。
(2) 記錄歸檔目標(biāo)目錄中已歸檔日志文件的列表
可以查詢V$LOG動(dòng)態(tài)字典視圖。如果日志已完全歸檔, V$LOG的archived列將含有YES值??梢詮腣$LOG選擇最高的歸檔日志(使用sequence#列)并將其用作備份文件清單的基礎(chǔ)。例如,如果V$LOG表明sequence#2334是最后一個(gè)被歸檔的日志文件,就可以成功地備份歸檔重做日志目標(biāo)目錄中所有序號(hào)在2334以下的文件。如果試圖備份2335,可以在操作系統(tǒng)級(jí)成功備份,但由于這個(gè)文件還沒有完全歸檔,這個(gè)備份可能只寫入一半,因而在恢復(fù)操作期間不可能有用。
(3) 重新啟動(dòng)歸檔進(jìn)程ARCH
執(zhí)行命令archive log start啟動(dòng)歸檔進(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ù)庫
因?yàn)楸砜臻g還處在熱備份狀態(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ù)庫,造成錯(cuò)誤
svrmgrl>shutdown abort
svrmgrl>startup mount
--將此表空間的數(shù)據(jù)文件在沒打開數(shù)據(jù)庫時(shí)置成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ù)中的換行符以免讀取出現(xiàn)問題
將整條數(shù)據(jù)取出,并用特殊符號(hào)分割,如果數(shù)據(jù)出現(xiàn)換行的情況,那么讀取時(shí)就有問題,這時(shí)就可以采用下面的方法來去除2014-07-07oracle11g 通過修改配置文件方式連接遠(yuǎn)程數(shù)據(jù)庫的方法
這篇文章主要介紹了oracle11g 通過修改配置文件方式連接遠(yuǎn)程數(shù)據(jù)庫的方法,需要的朋友可以參考下2017-04-04Oracle連接遠(yuǎn)程數(shù)據(jù)庫的四種方法
這篇文章主要為大家詳細(xì)介紹了Oracle連接遠(yuǎn)程數(shù)據(jù)庫的四種設(shè)置方法和注意事項(xiàng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05Oracle數(shù)倉中判斷時(shí)間連續(xù)性的幾種SQL寫法示例
這篇文章主要給大家介紹了關(guān)于Oracle數(shù)倉中判斷時(shí)間連續(xù)性的幾種SQL寫法,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Oracle具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-02-02關(guān)于Oracle Dataguard 日志傳輸狀態(tài)監(jiān)控問題
ORACLE DATAGUARD的主備庫同步,主要是依靠日志傳輸?shù)絺鋷?,備庫?yīng)用日志或歸檔來實(shí)現(xiàn)。這篇文章主要給大家介紹了關(guān)于Oracle Dataguard 日志傳輸狀態(tài)監(jiān)控問題,感興趣的朋友跟隨小編一起看看吧2019-05-05Oracle?Database?23c新特性之關(guān)聯(lián)更新和刪除示例詳解
這篇文章主要介紹了Oracle?Database?23c新特性之關(guān)聯(lián)更新和刪除的相關(guān)資料,Oracle database 23c開始支持在UPDATE和DELETE語句中使用JOIN連接,獲取更新和刪除的數(shù)據(jù)源,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06Oracle查詢今天、昨天、本周、上周、本月、上月數(shù)據(jù)方式
這篇文章主要介紹了Oracle查詢今天、昨天、本周、上周、本月、上月數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07關(guān)于Oracle listener日志解析利器的使用方法
這篇文章主要跟大家分享了關(guān)于Oracle listener日志解析利器的使用方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-03-03