7oracle資料庫有哪幾種標準備份方式?分別描述下相

時間 2021-09-04 05:09:40

1樓:匿名使用者

oracle作為目前世界上市場份額佔有率最高的大型通用資料庫,在世界上各行各業的資訊化建設中起著核心首腦的作用。它(軟體自身以及它所依賴執行的硬體)一旦出現問題,輕則導致業務中斷,重則丟失部分資料,嚴重則全部資料不可逆轉性損毀!這種情況在資訊化越來越佔生產主導地位的今天意味著什麼各大cio都非常清楚,所以他們想盡一切辦法堅決杜絕這種情況的發生!

針對oracle資料庫來說,主要有以下四種備份方式。

一、匯出/匯入(export/import)

匯出匯入是一種最初級的備份方式,它採用定時將全量、增量或者差異資料以表、使用者或者全庫為單位匯出到某種格式的檔案中達到備份的目的。它作為標準的命令被整合到了oracle開發語言中。可以通過dba手動執行備份命令,或者通過指令碼和工具自動執行。

rman就是此類工具中的佼佼者,曾經有很多dba在使用。

但它是一種定時備份的模式,具有明顯的備份時間視窗。備份間隔內仍然存在資料丟失的可能,比如每一天做一個增量備份的話,那麼最大會丟失一天的資料。如果是可以允許一段時間內資料丟失的業務,可以採用這種模式。

反之只能採用下面的一種備份模式——熱備份。

二、熱備份

對於熱備份來說,故名思議就是剛出爐的資料還是熱乎的就開始執行備份的操作。實現熱備份的方式目前主要有兩種方式,邏輯方式和物理方式。

1、邏輯方式

如果把oracle資料庫比作一個美女的話,那麼例項庫就是她的整個身體,表空間就是她的骨骼,表是她的筋絡,資料是她的血肉。檢視、事務、函式、pack包等是她身體上毛髮和的飾品。

對於邏輯方式備份來說就是用一種方式勾勒出了這位美女的模樣,讓人看上去能認出就是那位美女,但是仔細看的話可能又有所不同。

這種勾勒的方式又分為兩種:

1)sql語句模式

sql的全稱是,它是一種語言,而不是專指一種資料庫。很多人習慣把mssql簡稱為sql,這是不對的。sql之前必須加了ms(microsoft)才能是一種資料庫的名字。

sql這種語言,大多數資料庫都支援。oracle的老大埃裡森當年也是因為首先致力於對sql語言的支援,才在sql成為標準後挫敗了很多當時沒有納入到sql語言標準範疇內的資料庫。

既然oracle支援sql語句,那麼就可以用sql語句進行邏輯勾勒。我們知道當我們提交資料的時候並不關心是提交到了哪種資料庫裡面去了,以什麼樣的方式儲存。最終只要能提交成功並能查、改、刪皆可。

這些都是通過sql語句來實現的,它同樣不關心資料庫的種類和儲存方式。這就意味著我們就可以用sql語句將資料從源端資料庫抽取出來,然後將它裝載在某個目標的資料庫裡面。源端資料庫和目標端資料庫可以是不一樣的品牌,甚至可以不在同一平臺上。

就如同我們在勾勒美女的時候是用油畫布還是國畫宣紙都不影響最終對美女的展現。

cdc(change data capture)就是以這種模式對oracle進行增量備份的,當然它更多情況下用以做資料整合。

這種模式聽起來似乎很美,可以不用管平臺不用管資料庫,直接抽取和裝載資料庫。但是要素描我們首先得僱傭一個畫家,這一塊的投資頗大,就如同cdc價值不菲一樣。

另外它有一個缺點:在執行sql語句的時候佔用了oracle自身大量的資源,甚至影響到了它的正常執行。

其次,在執行sql語言時對於sql語言細分的組成部分:ddl (資料定義語言)、dml (資料操作語言)、dcl (資料控制語言)和tcl(事務控制語言)以及特殊的欄位比如blob和clob欄位等的支援並不完美,效率低下甚至就不支援。

2)日誌重做模式

我們用素描的方式來比喻邏輯備份裡面的sql語句模式,那麼對於歸檔重做的模式我們稱之為影印。歸檔日誌是oracle獨有的一種模式,它會將自己做過的所有事情的過程都記錄在裡面。如果照著歸檔重新做一遍,則能得到同樣的結果,這個結果是相對比較接近源生產庫的。

在這裡之所以使用「相對比較接近」是因為還是有所差別的,就如彩色**復印出來是黑白的,內容看上去差不多,但還是有差別,且存在很多限制。ogg(oracle goldengate)以及odg(oracle dataguard)就是兩款orcle兩款典型的日誌重做工具。前者是oracle收購的公司,後者是oracle企業版包含的一個工具。

使用日誌重做模式首先採用這種方法資料庫必須至於歸檔模式下,且要是force logging(強制記錄日誌)狀態。這才能滿足日誌重做的基本條件。因為oracle的日誌分為onlinelog(聯機日誌)和archivelog log(歸檔日誌)。

如果寫入的資料量較小,那麼可以直接對onlinelog進行重做。但如果寫入的資料量很大或者巨大,那麼對onlinelog進行重做是來不及的,就只有延後對archivelog log進行重做。而對於一下nologging(無日誌)的資料操作就沒有辦法進行重做了,所以必須採用將資料庫模式設定為force logging(強制記錄日誌)狀態。

這對資料庫的使用具有很大的限制。

另外ogg(oracle goldengate)以及odg(oracle dataguard)的邏輯standby模式雖然在源端獲取資料是通過歸檔日誌,但是在目標端(備份機)上進行資料還原的時候是轉換成sql語句來進行的。這就具有了1)中所述使用sql語句的一些缺點。

2、物理方式

同於我們將sql邏輯方式比如素描,把日誌重做邏輯方式比作影印,則物理方式就是複製人。

卷複製、分割映象快照等技術就是一種常用的物理方式。乍看起來這種模式要優於邏輯方式,但是它的優勢恰恰就是它的劣勢。就如同我們打得複製人的比方,在複製人的時候必須每一個染色體每一個dna都不能出差錯。

否則將會前功盡棄。對於oracle這種結構化資料來說,它的精密性不亞於人體。一旦在物理複製的時候不完整或者出錯,將會導致整個資料庫不可用。

所以物理複製不能是單純的把資料庫當作檔案進行表面複製,必須是建立在對oracle資料的邏輯儲存結構深入分析的基礎之上,才能保證複製出來的資料是100%可用的。

三、冷備份

從前文課件不管是邏輯方式的熱備份還是物理方式的熱備份,它都存在一些問題。舉個例子來說:源端資料庫的一個事務寫完生產archivelog log後,archivelog log轉換成sql語句在備份機上執行,執行到一半的時候正好停機了。

再開機時這個沒有執行完的sql就有可能導致整個oracle資料庫無法open。

為了儘可能的避免這種情況,使用者往往在指定的時間(比如凌晨2-3點)將源端資料庫合法shutdown(關閉),以確保資料庫在可用的狀態時拷貝出一份完成的資料出來。

很明顯拷貝的前提是將資料庫shutdown,就是說業務需要停止。所以這種備份叫做冷備份。

四、cdp

snia(全球網路儲存工業協會storagenetworkingindustryassociation)對什麼是cdp做了明確界定:1、有變化就備份2、至少備份到另外一個地方3、可以恢復到任意時間點。實現的模式主要有三種:

基於塊、基於檔案、基於應用。

按照這一點來卡的話odg的物理standby模式可以算是。

odg的物理standby模式在建立時,使用主庫進行一個全copy(可以理解為不用shutdown的冷備份)。在此基礎之上以「基於塊」的模式對資料進行物理的拷貝和恢復。此時目標段(備份機)就是完全是源端資料庫的一個複製,因為它是oracle自身的工具,所以它深入瞭解oracle自身的邏輯結構,從而有效的避免了物理複製存在資料庫不可用的問題。

但是對於cdp裡面的第3點:可以恢復到任意時間點。它必須藉助oracle的另外一個功能oracle undo(撤消日誌)。

我們知道oracle的中文名是甲骨文,它一定意義上反映了oracle資料庫操作的難易程度。

odg的物理standby模式雖然看起來很美,但是第一:它只屬於oracle,第二:需要專業dba配置和維護。

這就使得它的使用成本過高而成為「王謝堂前燕」 ,難以飛入「尋常百姓家」。

2樓:匿名使用者

oracle備份包括邏輯備份和物理備份。 1.邏輯備份 資料庫的邏輯備份包含讀一個資料庫記錄集和將記錄集寫入檔案。 (1)輸出(export)輸出可以是整個資料庫、指定使用者或指定表。

(2)輸入(import)輸入將輸出建立的二進位制轉儲檔案讀入並執行其命令。 2.物理備份 物理備份包含拷貝構成資料庫的檔案而不管其邏輯內容。 oracle支援兩種不同型別的物理檔案備份:

離線備份(offline backup)和聯機備份(online backup)。 (1) 離線備份 離線備份用在當資料庫已正常關閉,資料庫處於"offline"時,要備份下列檔案: 所有資料檔案 所有控制檔案

請問oracle資料庫的資料庫備份有幾種方式?哪種最好用?

3樓:大話殘劍

oracle的資料備份主要有冷備、熱備和資料匯出。針對不同的資料安全要求,可以採用不同的備份方式,目前生產系統比較常用的是熱備份,安全性較高。

下面是種方式的優缺點介紹:

冷備份是oracle最簡單的一種備份;執行冷備份前必須關閉資料庫;然後使用作業系統實用工具或者第三方工具備份所有相關的資料庫檔案。

優點:能簡單快速地備份。能簡單快速地恢復。執行簡單。

缺點:必須關閉資料庫,只能恢復備份時的狀態。

熱備份是當資料庫正在執行時進行資料備份的過程。執行熱備份的前提是:資料庫執行在可歸檔日誌模式。適用於24x7不間斷執行的關鍵應用系統。

優點:備份時資料庫可以是開啟的。熱備份可以恢復到資料庫的某一時點。

缺點:執行相對比較複雜。由於資料庫不間斷執行,熱備份可能造成cpu、i/o過載,應在資料庫不太忙時進行。

冷備份和熱備份都備份物理資料庫檔案,因而被稱為物理備份。而export備份的是資料庫物件,因此被稱為邏輯備份。

優點:能執行物件或者行恢復。備份和恢復速度更快。能夠跨作業系統平臺遷移資料庫。資料庫可一直執行。

缺點:只能恢復到匯出時的狀態。export並不是冷備份和熱備份的替代工具。

冷、熱備份可保護介質失效。export備份可保護使用者或應用錯誤。

sql資料庫中包含哪幾種檔案,資料庫有哪幾種?

快樂程式設計教育 資料檔案和日誌檔案 資料檔案分為主要資料檔案 推薦副檔名mdf 和輔助資料檔案 推薦副檔名 ndf 倩兒 根據作用不同,分為以下三種 1 主資料檔案。用來儲存資料庫的資料和資料庫的啟動資訊。每個資料庫必須有且只有一個主資料檔案,其副檔名為.mdf。實際的主資料檔案都有兩種名稱 作業...

請問oracle資料庫的資料庫備份有幾種方式?哪種最

大話殘劍 oracle的資料備份主要有冷備 熱備和資料匯出。針對不同的資料安全要求,可以採用不同的備份方式,目前生產系統比較常用的是熱備份,安全性較高。下面是種方式的優缺點介紹 冷備份是oracle最簡單的一種備份 執行冷備份前必須關閉資料庫 然後使用作業系統實用工具或者第三方工具備份所有相關的資料...

oracle資料庫重複資料刪除的幾種方法

用這種效率最高的就可以 比如,某個表要按照id和name重複,就算重複資料delete from 表名 where rowid not in select min rowid from 表名 group by id,name commit 如果以id,name和grade重複算作重複資料delete...