第一篇:oracle一種基于全量數據的增量備份方案
一種基于全量數據的增量備份方案
1、發明名稱
一種基于全量數據的增量數據備份方案 摘要:
本發明公開了一種基于全量數據的增量備份方案,本文中采取的全量數據增量備份方案包括:讀取原始數據與數據庫當前數據、原始數據與數據庫當前數據對比并生成對比結果日志——篩選出增量數據、按照對比結果將增量數據存入數據庫臨時增量表,最后將增量數據備份至數據庫。整個備份過程,使用了MD5(Message Digest Algorithm MD5)信息摘要算法和二分查找算法等IT技術,極大的提高了運行效率。通過本發明可以對海量數據進行高效、可靠、快速的備份,對此類問題的解決具有普遍意義。
開始讀取原始數據與數據庫當前數據數據比對生成比對結果篩選增量數據增量數據存入數據庫臨時增量表增量數據備份至數據庫結束
2、權利要求書
1.讀取原始數據與數據庫當前數據:使用MD5(Message Digest Algorithm MD5)信息摘要算法讀取原始數據與數據庫當前數據,其中數據文件為-CSV格式的文件; 2.數據比對生成比對結果篩選增量數據:原始數據MD5散列值與數據庫當前數據的MD5散列值進行全量比對,生成比對結果保存在日志文件中,檢索出增量數據; 3.增量數據入數據庫臨時增量表:按照將通過數據比對篩選出來的增量數據存入數據庫臨時增量表;
4.增量數據備份至數據庫:按照增量表內的數據,通過增加、修改、刪除操作更新數據庫當前數據,實現原始數據全量備份至數據庫;
3、說明書 3.1、技術領域
本申請是一種進行海量數據增量備份的方法。通過本發明可以對海量數據進行高效、可靠、快速的備份,對此類問題的解決具有普遍意義。
3.2、背景技術
目前在有著某種業務關聯的分布式數據庫和分布式信息系統的各類應用中,常常需要對不同的分布式數據庫和信息應用系統中的一些關鍵數據進行同步,以維護它們之間的數據的一致性。在需要同步的數據量、信息應用系統的獨立性、實時性及容錯性要求不高的情況下,通常使用數據庫同步、ftp、http 下載或者簡單的接口調用等方法就可以滿足需求。但是,一旦所涉及的數據量達到海量(數以億計)級別而需要同步的數據僅僅為總數據量的一個很小的子集時,如何快速定位到需要同步的數據也會是一個異常突出的問題,本發明即根據此類問題的要求,通過使用MD5(Message Digest Algorithm MD5)信息摘要算法和二分查找算法等IT技術,解析讀取數據,比對數據篩選出增量數據,按照增量數據更新數據,從而實現原始數據全量備份;
4、發明內容
4.1、發明的目的
解決海量數據的增量備份。
4.2、實現的步驟
本方案包括:解析、讀取原始數據與數據庫當前數據、數據比對生成比對結果篩選增量數據、增量數據入數據庫臨時增量表、增量備份至數據庫。
其中篩選增量數據分為篩選:需要在當前數據庫內增加的數據、需要根據原始數據在當前數據庫內修改的數據、需要在當前數據庫內刪除的數據,下文將根據以上三種情況來分類闡述本方案中的“解析、讀取原始數據與數據庫當前數據、數據比對生成比對結果篩選增量數據”步驟,“增量數據入數據庫臨時增量表、增量備份至數據庫”步驟不再分類闡述。4.2.1、讀取原始數據與數據庫當前數據
開始讀取當前數據庫中的一條記錄,將主鍵值與其對應的整條記錄的值轉化成MD5散列值讀取原始數據中的一條記錄,將主鍵值與其對應的整條記錄的值轉化成MD5散列值否業務主鍵MD5散列值存入字符串數組YS1,整條記錄的MD5散列值存入字符串數組YS1業務主鍵MD5散列值存入字符串數組TS1,整條記錄的MD5散列值存入字符串數組TS1否文件是否讀完是是文件是否讀完結束
上圖為讀原始數據與數據庫當前數據流程圖,詳細步驟如下:首先根據業務確定資源對象的業務主鍵,依次讀取當前數據庫中的每一條記錄,抽取其業務主鍵值和整條記錄的值,通過MD5(Message Digest Algorithm MD5)信息摘要算法將業務主鍵值與其對應的整條記錄的值轉化成MD5散列值,分別存入到字符串數組YS1和YS2中。
采用上述同樣的數據讀取方式,將原始CSV格式的數據文件,依次讀出并通過MD5算法轉化成MD5散列值,分別存入字符串數組TS1和TS2。4.2.2、數據比對生成比對結果-篩選增量數據
為了提高全量比對效率,系統采用多進程、多線程操作系統,將參與全量比對的對象隨機分配在5個不同的線程隊列中,相比于單線程全量比對操作系統,效率提高5倍;
數據比對進行需兩次比對,第一次比對篩選出增加的數據、修改的數據,第二次比對篩選出刪除的數據,兩次比對詳細描述如下。
4.2.2.1、篩選出增加的數據、修改的數據
開始YS1和YS2字符串數組排序讀取原始數據中的一條記錄,將主鍵值與其對應的整條記錄的值轉化成MD5散列值主鍵值在YS1中查找存在整條記錄值在YS2中查找存在不存在在LOG文件中記錄該條記錄實際值并標識位A否不存在在LOG文件中記錄該條記錄實際值并標識位M數據是否讀完結束 上圖為篩選增加數據、修改數據的流程圖,詳細描述如下: 首先將字符串數組YS1和YS2排序,依次使用原始數據一條記錄的業務主鍵MD5散列值在YS1中使用二分查找算法查找,分以下情況:
? 若不存在,則說明該條原始數據為新增的數據,并在LOG文件中記錄原始數據中該條據的實際值,以A(add)進行標記;
? 若存在,則使用原始數據中該記錄的整條記錄的MD5散列值--TS2在YS2中折半查找:若不存在,則說明該條數據為需要在當前數據庫中除業務主鍵外其他信息需要修改的數據,并在LOG文件中記錄原始數據中該條據的實際值,以M(modify)進行標記;
若原始數據該條記錄的業務主鍵MD5散列值、整條記錄MD5散列值,即存在于YS1又存在于YS2中,則說明該條記錄無變化,無需更新。
4.2.2.2、篩選出刪除的數據
開始將TS1排序讀取當前數據庫的一條記錄,將字符串轉換成MD5散列值否主鍵值在TS1中查找存在在LOG文件中記錄該條記錄實際值并標識位D不存在數據是否讀完結束 上圖為篩選刪除數據的流程圖,詳細描述如下:
首先將字符串數組TS1和TS2排序,依次使用數據庫一條記錄的業務主鍵MD5散列值在TS1中使用二分查找算法查找,若不存在則說明該條數據為需要在當前數據庫中刪除的數據,并在LOG文件中記錄當前數據庫中該條據的實際值,以D(delete)進行標記;
4.2.3、增量數據入數據庫臨時增量表
當前數據庫執行存儲過程,將比對過程生成的LOG文件中的數據讀入到數據庫臨時增量表中,按照LOG文件中的標識碼在臨時增量表中的每條記錄后面添加一個屬性值其中:LOG文件中‘A’對應臨時增量表中‘I’(insert 新增的數據)、LOG文件中‘M’ 對應臨時增量表中‘U’(update更新的數據)、LOG文件中‘D’ 對應臨時增量表中‘D’(delete刪除的數據);
4.2.4、增量備份至數據庫
當前數據庫執行存儲過程,讀取數據庫臨時增量表中一條記錄,標識碼在當前數據庫相對應的表中做增刪改操作,如下:
? 若臨時增量表中標識碼為‘I’則在當前數據庫相對應的表中插入該條記錄; ? 若臨時增量表中標識碼為‘D’則在當前數據庫相對應的表中刪除該條記錄; ? 若臨時增量表中標識碼為‘U’則在當前數據庫相對應的表中先刪除當前數據庫該條記錄,再把原始數據中與該條記錄的業務主鍵值相等的記錄插入到數據庫中; 按照以上操作實現全量數據增量備份。
5、附錄
5.1、MD5(Message Digest Algorithm MD5)信息摘要算法
所謂MD5,即“Message-Digest Algorithm 5(信息-摘要算法)”,它由MD2、MD3、MD4發展而來的一種單向函數算法(也就是HASH算法),它是國際著名的公鑰加密算法標準RSA的第一設計者R.Rivest于上個世紀90年代初開發出來的。MD5的最大作用在于,將不同格式的大容量文件信息在用數字簽名軟件來簽署私人密鑰前“壓縮”成一種保密的格式,關鍵之處在于——這種“壓縮”是不可逆的。
MD5信息-摘要算法,用于確保信息傳輸完整一致。是計算機廣泛使用的雜湊算法之一(又譯摘要算法、哈希算法),主流編程語言普遍已有MD5實現。
MD5的作用是讓大容量信息在用數字簽名軟件簽署私人密鑰前被“壓縮”成一種保密的格式(就是把一個任意長度的字節串變換成一定長的十六進制數字串)。MD5將整個文件當作一個大文本信息,通過其不可逆的字符串變換算法,產生了這個唯一的 MD5信息摘要。
5.2、二分查找算法
折半查找法也稱為二分查找法,它充分利用了元素間的次序關系,采用分治策略,可在最壞的情況下用O(log n)完成搜索任務。它的基本思想是,將n個元素分成個數大致相同的兩半,取a[n/2]與欲查找的x作比較,如果x=a[n/2]則找到x,算法終止。如 果xa[n/2],則我們只要在數組a的右 半部繼續搜索x。
二分查找的基本思想是:(設R[low..high]是當前的查找區間)
(1)首先確定該區間的中點位置:
(2)然后將待查的K值與R[mid].key比較:若相等,則查找成功并返回此位置,否則須確定新的查找區間,繼續二分查找,具體方法如下:
①若R[mid].key>K,則由表的有序性可知R[mid..n].keys均大于K,因此若表中存在關鍵字等于K的結點,則該結點必定是在位置mid左邊的子表R[1..mid-1]中,故新的查找區間是左子表R[1..mid-1]。②類似地,若R[mid].key 因此,從初始的查找區間R[1..n]開始,每經過一次與當前查找區間的中點位置上的結點關鍵字的比較,就可確定查找是否成功,不成功則當前的查找區間就縮小一半。這一過程重復直至找到關鍵字為K的結點,或者直至當前的查找區間為空(即查找失敗)時為止。 ORACLE數據備份與數據恢復方案 摘 要 結合金華電信IT系統目前正在實施的備份與恢復策略,重點介紹電信業務計算機管理系統(簡稱97系統)和營銷支撐系統的ORALCE數據庫備份和恢復方案。 Oracle數據庫有三種標準的備份方法,它們分別是導出/導入(EXP/IMP)、熱備份和冷備份。要實現簡單導出數據(Export)和導入數據(Import),增量導出/導入的按設定日期自動備份,可考慮,將該部分功能開發成可執行程序,然后結合操作系統整合的任務計劃,實現特定時間符合備份規劃的備份應用程序的運行,實現數據庫的本級備份,結合ftp簡單開發,實現多服務器的數據更新同步,實現數據備份的異地自動備份。 關鍵字:數據庫 遠程異地 集中備份 I ORACLE數據備份與數據恢復方案 目 錄 一、前 言 ··························· 1 二、金華電信ORACLE數據庫的備份與恢復方案 ······· 2 2.1 備份系統數據庫備份策略································································································· 3 2.2 備份系統數據庫恢復策略···················· 3 2.3 金華電信97系統及營銷支撐系統的系統狀況 ··········· 3 2.4 金華電信97系統、營銷支撐系統及備份系統總體結構圖 ······ 4 2.5 備份系統結構圖說明······················ 4 三、金華電信97系統的數據庫備份和恢復 ········ 6 3.1 備份方法··························· 6 3.2 備份策略··························· 6 3.3 恢復策略··························· 6 3.4 性能影響··························· 6 四、金華電信營銷支撐系統的備份與恢復········· 7 4.1 備份方法··························· 7 4.2 備份策略··························· 7 4.4 性能影響··························· 7 五、RMAN CATALOG 數據庫的備份 ············ 8 II ORACLE數據備份與數據恢復方案 六、結 語 ······················ 9 III ORACLE數據備份與數據恢復方案 一、前 言 目前,數據已成為信息系統的基礎核心和重要資源,同時也是各單位的寶貴財富,數據的丟失將導致直接經濟損失和用戶數據的丟失,嚴重影響對社會提供正常的服務。另一方面,隨著信息技術的迅猛發展和廣泛應用,業務數據還將會隨業務的開展而快速增加。但由于系統故障,數據庫有時可能遭到破壞,這時如何盡快恢復數據就成為當務之急。如做了備份,恢復數據就顯得很容易。由此可見,做好數據庫的備份至關重要。因此,建立一個滿足當前和將來的數據備份需求的備份系統是必不可少的。傳統的數據備份方式主要采用主機內置或外置的磁帶機對數據進行冷備份,這種方式在數據量不大、操作系統種類單 一、服務器數量有限的情況下,不失為一種既經濟又簡明的備份手段。但隨著計算機規模的擴大,數據量幾何級的增長以及分布式網絡環境的興起,將越來越多的業務分布在不同的機器、不同的操作平臺上,這種單機的人工冷備份方式越來越不適應當今分布式網絡環境。 因此迫切需要建立一個集中的、自動在線的企業級備份系統。備份的內容應當包括基于業務的業務數據,又包括IT系統中重要的日志文件、參數文件、配置文件、控制文件等。本文以ORACLE數據庫為例,結合金華電信的幾個相關業務系統目前正在實施的備份方案,介紹ORACLE數據庫的備份與恢復。 ORACLE數據備份與數據恢復方案 二、金華電信ORACLE數據庫的備份與恢復方案 由于金華電信IT系統以前只采用邏輯備份方式進行數據庫備份,速度較慢并且數據存儲管理都很分散,甚至出現備份數據不完整的現象。為了提高備份數據的效率,提供可靠的數據備份,完善備份系統,保證備份數據的完整性,降低數據備份對網絡和服務器的影響,對每個IT系統的備份數據進行集中管理,我們對備份工作進行了改進,將邏輯備份與物理備份相結合,在遠程建立了一個異地集中、自動在線的備份系統即網絡存儲管理系統。(這里用到的物理備份指熱備份)其具備的主要功能如下:(1)集中式管理 :網絡存儲備份管理系統對整個網絡的數據進行管理。利用集中式管理工具的幫助,系統管理員可對全網的備份策略進行統一管理,備份服務器可以監控所有機器的備份作業,也可以修改備份策略,并可即時瀏覽所有目錄。所有數據可以備份到同備份服務器或應用服務器相連的任意一臺磁帶庫內。(2)全自動的備份: 對于大多數機房管理人員來說,備份是一項繁重的任務。每天都要小心翼翼,不敢有半點閃失,生怕一失足成千古恨。網絡備份能夠實現定時自動備份,大大減輕管理員的壓力。備份系統能根據用戶的實際需求,定義需要備份的數據,然后以圖形界面方式根據需要設置備份時間表,備份系統將自動啟動備份作業,無需人工干預。這個自動備份作業是可自定的,包括一次備份作業、每周的某幾日、每月的第幾天等項目。設定好計劃后,備份作業就會按計劃自動進行。(3)數據庫備份和恢復: 數據庫系統已經相當復雜和龐大,不能用文件的備份方式來備份數據庫。企業級的備份系統能夠對數據庫在不中斷業務、不停頓數據庫的情況下對數據進行聯機的自動備份,包括可以進行數據庫備份、日志備份、完全備份、增量備份等。(4)歸檔管理: 用戶可以按項目、時間定期對所有數據進行有效的歸檔處理。提供統一的數據存儲格式從而保證所有的應用數據由一個統一的數據格式來作永久的保存,保證數據的永久可利用性。(5)有效的媒體管理: 備份系統對每一個用于作備份的磁帶自動加入一個電子標簽,同時在軟件中提供了識別標簽的功能,如果磁帶外面的標簽脫落,只需執行這一功能,就會迅速知道該磁帶的內容。(6)滿足系統不斷增加的需求:備份軟件必須能支持多平臺系統,當網絡連接其它的應用服務器時,對于網絡存儲管理系統來說,只需在其上安裝支持這種服務器的客戶端軟件即可將數據備份到磁帶庫或光盤庫中。 ORACLE數據備份與數據恢復方案 2.1 備份系統數據庫備份策略 數據庫運行在歸檔模式下,利用Veritas軟件模塊調用數據庫的備份接口進行在線的熱備份,可以在備份時,對備份數據保存在不同的存儲對象中,以滿足客戶容災的要求,可以利用Veritas的多線程的數據遷移、利用多個磁帶驅動器同時讀寫提高其數據備份的效率。 針對數據庫的總數據量和增量數據量大小,我們可以利用數據庫的多級的增量備份機制,結合Veritas 強大的備份數據追蹤尋址能力和介質管理功能,制定靈活的備份策略,實現全自動的備份數據的全生命周期管理。 2.2 備份系統數據庫恢復策略 通過本地的Veritas Server結合Veritas for Databases利用備份數據進行數據恢復。恢復時,Veritas 可以實現多線程的數據恢復,利用Veritas 獨特的磁帶分類集中存放技術,減少磁帶的就位時間,提高數據恢復的效率。 先用最近一次的全備份恢復+恢復最近一次的增量備份+增量備份到斷點的ARCHIVE LOG來恢復(要求數據庫在ARCHIVE LOG模式下工作)。這種恢復方式比全部用ARCHIVE LOG恢復要快。 如果兩份冗余的最近一次增量備份都不可用,可以追溯再上次的增量備份來恢復,然后用增量備份到斷點的ARCHIVE LOG恢復。 如果最近一次的全備份恢復都不可用,則利用上個周期的全備份+上個周期的最后一次增量備份+本周期的最近一次增量備份+增量備份到斷點的ARCHIVE LOG來恢復。 如果增量備份都不可用,那么用全備份+ARCHIVE LOG來恢復。 2.3 金華電信97系統及營銷支撐系統的系統狀況 金華電信經過這么多年的信息系統建設,目前已經運行著多個系統,除計費系統有較為完善的備份系統外,其他系統的備份系統都需要完善。其中97系統的機器型號IBM 7040-61R,操作系統 AIX5.2,數據庫類型ORALCE8.1.7.4,數據量120G;營銷支撐系統機器型號IBM xseries440,操作系統Red Flag Linux Server 4.0,數據庫類型ORACLE9.2.0.1,數據量150G。以前,這兩個系統的數據備份都是通過邏輯備份(exp)實現并且備份數據管理是分散的,然而一個完善的備份系統必須包含物理備份和邏輯備份兩種方式。因此,我們正在實施一個遠程 ORACLE數據備份與數據恢復方案 異地在線集中的高效的備份系統,將邏輯備份和物理備份(熱備份)相結合,設置了專門的備份服務器。由于97、營銷支撐操作系統采用AIX及Red Flag,我們在備份服務器上安裝了第三方備份軟件Veritias NBU。 2.4 金華電信97系統、營銷支撐系統及備份系統總體結構圖 對于具體的備份環境和結構,我們結合了Oracle備份技術和LAN環境的SAN備份結構.該系統的結構如下圖所示(以97系統與營銷支撐系統為例) 備份系統總體結構圖 2.5 備份系統結構圖說明 此在線存儲系統采用了基于SAN(存儲區域網絡)的結構,SAN是一種高速 ORACLE數據備份與數據恢復方案 網絡或子網絡,提供在計算機與存儲系統之間的數據傳輸。存儲設備是指一張或多張用以存儲計算機數據的磁盤設備。一個 SAN 網絡由負責網絡連接的通信結構如光交換機、負責組織連接的管理層、存儲部件以及計算機系統構成,從而保證數據傳輸的安全性和力度。由于整個SAN系統的數據量比較大,所以備份系統采用SAN結構,將磁盤陣列直接連接到SAN的交換機上,和備份服務器、多臺服務器均通過SAN相互連接,利用SAN的高性能來提高備份速度、降低數據備份對網絡和服務器的影響。備份系統結構圖說明如下:(1)Veritas 服務器(即備份服務器):備份系統是數據安全的關鍵系統,而備份服務器是備份系統的核心,因此從安全可靠的角度,采用專用的備份服務器,在這臺服務器上安裝VERTIAS Server端軟件,集中管理控制磁帶庫、定制備份策略、管理備份作業、管理磁帶等,同時安裝oracle catalog庫。(2)備份方案:對97系統購買IBM VERTIAS 備份軟件,將數據備份至磁盤陣列上面,備份數據走光纖通道。對營銷支撐系統,我們從SAN存儲的FATA盤上劃部分空間直接掛到系統中,然后直接采用RMAN做備份,以降低成本。之所以采用FATA盤的目的是為了避免和FC盤有IO沖突。(3)M300磁盤陣列:在我們的方案當中,我們采用磁盤陣列來代替一貫采用的磁帶庫。磁盤陣列具有性能高,可靠性高,維護方便等優點。本方案中采用專業存儲廠商富士通的中高端存儲ETERNUS3000 M300,作為一種面向開放系統的存儲系統,ETERNUS3000在性能、容量及連通性等方面將世界標準提高到一個新層次。M300的容量為6T的FC盤,10T的FATA盤。在FC盤上保留所有系統的一份全備,其他的備份在白天定期轉移到FATA盤。在FATA盤上保留1-2份全備,其他的定期轉移到3583磁帶庫中。(3)光纖交換機:為了使整個系統具有良好的擴展性,我們在數據中心采用了被評為最優秀的網絡存儲產品博科的16口的光纖交換機,在新大樓備份中心采用博科的8口的光纖交換機。(4)磁帶庫:本方案中的磁帶庫采用的是原先計費系統所用的3583磁帶庫。我們定期將FATA盤上的備份自動轉移到該磁帶庫上,做更久的保留。(5)邏輯備份服務器:為了充份利用舊有的設備來提高異地集中備份系統的穩定性,安全性,我們利用舊有設備IBM 7044-170小型機和IBM 3542陣列來搭建一個邏輯備份系統。所有的邏輯備份都放到該機器上面來,使得邏輯備份和物理備份在物理上開離。這樣一來避免了IO沖突,二來提高了備份系統的可靠性。 ORACLE數據備份與數據恢復方案 三、金華電信97系統的數據庫備份和恢復 3.1 備份方法 采用Veritas NBU物理備份加EXP邏輯備份。Exp邏輯備份在服務器上直接備份,定期轉移到邏輯備份服務器。 3.2 備份策略 備份策略:(1)每周進行一次數據庫全備份操作,并定期將FC盤上面的物理備份定期轉移到FATA盤上,同時將FATA盤陣上面的物理備份定期轉移到磁帶庫上,至少保存 3 個全備份;全備份時間選擇在每周星期六凌晨12:00 開始。(2)數據庫采用Archive Log 模式,每天晚上12:00 開始進行增量備份。(3)與數據庫的邏輯備份相配合,我們每天進行一次數據的exp備份,即每天做一個完整的數據庫EXPORT 備份;備份時間選擇在每天凌晨1:00 開始。Exp備份還是備到本機,定期將其ftp到邏輯備份服務器上。 3.3 恢復策略 恢復策略:(1)數據文件損壞或磁盤陣列損壞:針對這種情況可以采用Veritas NBU從FC磁盤陣列中恢復。(2)誤操作或對象級邏輯上的損壞:針對這種情況可以從exp備份中采用imp恢復。 3.4 性能影響 數據庫采用歸檔模式對97數據庫性能將產生一定的影響。因為在歸檔模式下,oracle需要將歸檔日志歸檔到歸檔目錄(也就是copy)。在IO資源不成為瓶頸的情況下,對系統影響將可以不予考慮。97系統目前的瓶頸在于內存這一塊。所以對97系統的性能影響可以不加以考慮。 ORACLE數據備份與數據恢復方案 四、金華電信營銷支撐系統的備份與恢復 4.1 備份方法 采用物理備份加EXP邏輯備份。物理備份考慮到VERTIAS 的成本,及該系統的重要程度,我們從SAN存儲上劃一部分空間掛接至該系統OS上面,然后直接采用RMAN備份。這樣備份的好處是成本低,缺點是不便于管理和維護,消耗主機的資源,在主機無法啟動的情況下,備份文件無法訪問,但備份數據還是完好如初的。 4.2 備份策略 備份策略:(1)每周進行一次數據庫全備份操作,采用循環覆蓋的方式,共保存 2個全備份;備份時間可以選擇在周日晚上11:00進行(由于其采用的是FATA盤,與其他的物理備份不會造成IO沖突)。(2)數據庫采用Archive Log 模式,每天晚上12:00 增量備份。(3)與數據庫的邏輯備份相配合,我們每周進行一次數據的exp備份,即每天做一個完整的數據庫EXPORT 備份;備份時間選擇在每天凌晨1:00 開始。 4.3 恢復策略 恢復策略:(1)數據文件損壞或磁盤陣列損壞:針對這種情況可以采用RMAN從磁盤中恢復。(2)誤操作或對象級邏輯上的損壞:針對這種情況可以從exp備份中采用imp恢復。 4.4 性能影響 數據庫采用歸檔模式對營銷支撐系統數據庫性能產生的影響也是由于歸檔進程需要對歸檔日志進行歸檔。同時改成歸檔模式還需要注意的一個問題就是歸檔目錄空間的問題,該系統空間足夠。如果該系統的IO資源較為充裕的話,則不會對性能產生很大的影響。 ORACLE數據備份與數據恢復方案 五、RMAN Catalog 數據庫的備份 RMAN Catalog庫是整個備份系統當中最重要的信息之一。是在物理備份(Veritas)服務器上建立的一個ORACLE數據庫,記錄了所有備份的數據庫數據文件。如果丟失了Catalog信息的話,恢復將非常麻煩,因此我們也需要對RMAN Catalog庫做定期備份。RMAN Catalog庫采用邏輯備份,每天直接備份到邏輯備份服務器上。 ORACLE數據備份與數據恢復方案 六、結 語 數據庫的備份和恢復的主要工作就是為數據做了一份拷貝,防止出現故障時導致數據的丟失。數據庫受破壞一般是由于兩種情況引起,其一為系統(軟件)故障,如掉電、SQL Server錯誤、操作系統錯誤、非正常關機等引起。其二為磁盤(介質)故障,由磁盤受破壞引起。若出現介質故障(如磁盤崩潰),當且僅當對數據庫及事務日志做了定期備份,才能恢復數據庫。在實際應用中,應根據具體的情況,采納一切可以用的方法,制定切合實際的備份和恢復方案,明確在各種故障情況中數據可恢復的程度是否滿足了應用的需要。為了保證數據存儲的可管理性,減少管理的復雜性,建立一個異地集中、在線的備份系統是必不可少的。采用先進的備份技術和先進的備份系統軟件,采用統一的管理機制,保證大數據量的一致性備份和高速切換。從而提供高效的存儲設備的管理能力和可靠的數據備份功能。 ORACLE RAC及備份方案 ORACLE RAC 簡介: ORACLE RAC集群是實現多機共享數據庫,以保證應用的高可用性。同時可以自動實現并行處理及均分負載,還能實現數據庫在故障時的容錯和無斷點恢復。 集群內部的所有服務器共享存儲,所有服務器都接入公共網絡,通過集群唯一的別名對外形成邏輯上單一的數據庫提供服務,對內實現集群數據庫的高可用性、節點間的負載均衡和Failover(失敗切換)。 邏輯結構: 集群縱向看是由存儲、數據庫集群、應用集群三部分組成,橫向來看,是由多臺應用服務器、數據庫服務器和存儲設備組成。 Intelnet應用集群應用服務器1應用服務器2應用服務器NORACLE RAC集群SCANRAC節點2心跳RAC節點1存儲數據存儲數據 物理結構: RAC物理結構圖。 應用集群應用服務器應用服務器Intelnet交換機ORACLE RAC集群RAC節點1存儲RAC節點2 優勢: 高可用性: RAC 為數據中心的高可用性奠定了基礎。它也是 Oracle 最高可用性架構不可或缺的一部分,為實現數據中心的最高可用性提供了最佳實踐。RAC 還為高可用性數據管理提供了以下至關重要的關鍵特性: 可靠性: Oracle 數據庫以其可靠性而著稱。RAC Clusters 消除了數據庫服務器單點故障問題,從而使可靠性更上一層樓。如果一個實例發生故障,服務器池中的其余實例仍將保持運行狀態。Oracle Clusterware 可監視所有 Oracle 進程,并能立即重啟任何生故障的組件。恢復能力: Oracle 數據庫包含的許多特性有助于數據庫輕松地從各類故障中恢復。如果Oracle RAC 數據庫中的一個實例出現故障,服務器池中的另外一個實例將察覺到這一故障,隨后自動進行故障恢復。利用快速應用程序通知(FAN)、快速連接故障切換(FCF)和透明應用程序故障切換(TAF)這三個功能,應用程序可以輕松地掩藏組件故障,使用戶無法察覺。 錯誤檢測: Oracle Clusterware 可自動監視 Oracle RAC 數據庫和其他 Oracle 進程(ASM、監聽器等),并快速診斷環境中的問題。它還經常能在用戶察覺之前自動完成故障恢復。利用快速應用程序通知(FAN),應用程序即可在集群組件出現故障時立即得到通知,以便在故障顯現之前重新發布事務。 持續運行: RAC Clusters 可在計劃內和計劃外停機期間提供持續的服務。如一臺服務器(或一個實例)出現故障,數據庫仍將保持運行狀態,應用程序仍可訪問數據。大多數數據庫維護操作均可在不停機的情況下完成,并對用戶保持透明。許多其他的維護任務都可以通過滾動方式完成,從而能最大限度地減少(甚至避免)應用程序停機。快速應用程序通知和快速連接故障切換可幫助應用程序滿足對服務級別的要求。 可伸縮性: RAC Clusters 提供了獨一無二的應用程序伸縮技術。過去,當數據庫服務器容量不足時,我們會使用容量更大的新服務器取而代之。隨著服務器容量的增加,其成本也日益攀升。但 Oracle RAC 為數據庫提供了增加容量的其他方法。通過 OracleClusterware 和 Oracle RAC 向服務器池中添加服務器時并不需要停機,并且,一旦啟用新的實例,應用程序就可立即享有新增的容量。服務器池中的所有服務器必須使用同一操作系統和相同版本的 Oralce 軟件,但不必具備相同的容量。如今,根據自己的需要選擇服務器池的客戶通常會選用特性不同(略有差別)的服務器。 備份 Oracle數據庫有三種標準的備份方法,它們分別是導出/導入(EXP/IMP)、熱備份和冷備份。導出備件是一種邏輯備份,冷備份和熱備份是物理備份。 一、導出/導入(Export/Import) 利用Export可將數據從數據庫中提取出來,利用Import則可將提取出來的數據送回到Oracle數據庫中去。 1、簡單導出數據(Export)和導入數據(Import)2、Oracle支持三種方式類型的輸出: (1)、表方式(T方式),將指定表的數據導出。 (2)、用戶方式(U方式),將指定用戶的所有對象及數據導出。(3)、全庫方式(Full方式),瘵數據庫中的所有對象導出。 數據導入(Import)的過程是數據導出(Export)的逆過程,分別將數據文件導入數據庫和將數據庫數據導出到數據文件。 3、增量導出/導入 增量導出是一種常用的數據備份方法,它只能對整個數據庫來實施,并且必須作為SYSTEM來導出。在進行此種導出時,系統不要求回答任何問題。導出文件名缺省為export.dmp,如果不希望自己的輸出文件定名為export.dmp,必須在命令行中指出要用的文件名。增量導出包括三種類型: (1)、“完全”增量導出(Complete)即備份三個數據庫,比如: exp user/password file=123.dmp(2)、“增量型”增量導出 備份上一次備份后改變的數據,比如: exp user/password inctype=y record=y file=456.dmp 進行增量備份前,必須有個完全備份。 二、冷備份(COPY)冷備份發生在數據庫已經正常關閉的情況下,當正常關閉時會提供給我們一個完整的數據庫。冷備份時將關鍵性文件拷貝到另外的位置的一種說法。對于備份Oracle信息而言,冷備份時最快和最安全的方法。冷備份的優點是: 1、是非常快速的備份方法(只需拷文件)2、容易歸檔(簡單拷貝即可) 3、容易恢復到某個時間點上(只需將文件再拷貝回去)4、能與歸檔方法相結合,做數據庫“最佳狀態”的恢復。5、低度維護,高度安全。但冷備份也有如下不足: 1、單獨使用時,只能提供到“某一時間點上”的恢復。 2、再實施備份的全過程中,數據庫必須要作備份而不能作其他工作。也就是說,在冷備份過程中,數據庫必須是關閉狀態。 3、若磁盤空間有限,只能拷貝到磁帶等其他外部存儲設備上,速度會很慢。4、不能按表或按用戶恢復。 如果可能的話(主要看效率),應將信息備份到磁盤上,然后啟動數據庫(使用戶可以工作)并將備份的信息拷貝到磁帶上(拷貝的同時,數據庫也可以工作)。冷備份中必須拷貝的文件包括: 1、所有數據文件 2、所有控制文件 3、所有聯機REDO LOG文件 4、Init.ora文件(可選) 值得注意的使冷備份必須在數據庫關閉的情況下進行,當數據庫處于打開狀態時,執行數據庫文件系統備份是無效的。下面是作冷備份的完整例子。關閉數據庫 (1)sqlplus /nolog(2)sql>connect /as sysdba(3)sql>shutdown immediate;用拷貝命令備份全部的時間文件、重做日志文件、控制文件、初始化參數文件 重啟Oracle數據庫 sql>startup; 三、熱備份(RMAN)熱備份是在數據庫運行的情況下,采用歸檔模式(archivelog mode)方式備份數據庫的方法。所以,如果你有昨天夜里的一個冷備份而且又有今天的熱備份文件,在發生問題時,就可以利用這些資料恢復更多的信息。熱備份要求數據庫在Archivelog方式下操作,并需要大量的檔案空間。一旦數據庫運行在archivelog狀態下,就可以做備份了。熱備份的命令文件由三部分組成: 1. 數據文件一個表空間一個表空間的備份。(1)設置表空間為備份狀態(2)備份表空間的數據文件(3)回復表空間為正常狀態 2. 備份歸檔log文件(1)臨時停止歸檔進程 (2)log下那些在archive rede log目標目錄中的文件(3)重新啟動archive進程(4)備份歸檔的redo log文件 3. 用alter database bachup controlfile命令來備份控制文件 熱備份的優點是: 1. 可在表空間或數據庫文件級備份,備份的時間短。2. 備份時數據庫仍可使用。3.可達到秒級恢復(恢復到某一時間點上)。4. 可對幾乎所有數據庫實體做恢復 5. 恢復是快速的,在大多數情況下愛數據庫仍工作時恢復。 例: $rman target user/password backup full database format=’/../..’;熱備份的不足是: 1. 不能出錯,否則后果嚴重 2. 若熱備份不成功,所得結果不可用于時間點的恢復 3. 因難于維護,所以要特別仔細小心,不允許“以失敗告終”。 浪擎官網:http://www.tmdps.cn/ 浪擎容災案例 浪擎-北京航空航天大學-構建統一備份方案 北京航空航天大學文件服務器存儲著大量檔案資料,一旦服務器存儲發生故障,就會造成相當大的損失.此外,北京航空航天大學的PC和筆計本的數量很龐大,而且分散在不同的區域,文件數據容易丟失和損壞,造成很大的安全隱患,同時,文檔數據分散存儲,造成了信息和數據孤立,大大降低了信息的整體利用率。 需求及建設目標: 1)建立統一的、自動的文件備份機制,提高文件存儲安全,減輕維護工作量 定時將文件服務器中數據備份到存儲服務器,減輕系統管理員的維護工作。在文件服務器因意外導致數據丟失時,則可從備份存儲中快速恢復。 2)高頻高效的備份,盡量減少計劃或意外情況下導致的數據損失 可靈活的配置系統備份計劃,盡量減小數據備份窗口(如以每天或每半天甚至每小時為一個周期進行備份) 3)充分利用現有硬件設備,保護投資,降低系統總體擁有成本 浪擎備份無需特殊硬件需求,而且對配置要求甚低,系統操作維護簡單,降低系統總體擁有成本。 4)數據安全 為桌面文檔建立安全統一的備份機制,系統應支持各種格式的辦公文檔和業務數據備份。備份數據在存儲端不可視,保證只有文件主人才有權查看備份文件。 5)文件共享 便捷共享,系統應提供脫機共享方式,以提高備份系統的利用效果。用戶可將已備份至服務器上的數據授權共享給他人瀏覽,同時可查看他人共享信息。 病毒防范,系統在實現共享的同時應防止病毒主動傳播 6)使用要求 簡捷易用,應提供方便的自動和計劃備份方式。便于管理人員的日常管理與維護,可通過Web方式查看用戶的備份情況,可通過備份策略進行強制備份或幫助終端用戶進行重要文檔的備份。 浪擎官網:http://www.tmdps.cn/ 浪擎容災案例 浪擎服務器備份及桌面備份解決方案 1)浪擎?服務器備份系統 浪擎?服務器備份系統實現應用系統的存儲備份,對備份服務器硬件和網絡等無特殊要求,可實現低成本、高保障的熱備份和熱容災 浪擎?服務器備份系統備份客戶端安裝在源服務器上,備份服務器軟件安裝在目標服務器上,管理員可以在任意一臺計算機通過Web遠程管理備份服務器和監控兩臺服務器的運行狀態。 2)浪擎?終端備份系統 浪擎?終端備份系統為桌面計算機提供了一套完整的數據備份、安全保護及高效利用的解決方案。 浪擎?終端備份系統由備份客戶端、備份服務器和基于WEB的備份管理界面三部分構成。 備份代理安裝在需要備份的計算機上;備份服務器軟件安裝在存儲服務器上,負責用戶管理、備份數據、存儲空間;管理員可通過Web遠程管理備份服務器和監控整個運行狀態。 1.目的 編寫本文檔的目的為實現ORACLE數據庫的自動備份,為不動產數據增加一份數據安全按保障。 2.軟件環境 數據庫服務器:oracle 11g atabase x64 v11.2.0.4.0 客戶端:Oracle client x64 v11.2.0.4.0 注意:數據庫服務器和客戶端版本必須保持一致,否則會出現無法預知的錯誤。 3.實施方案 3.1.編寫數據庫自動備份腳本 腳本內容如下,將文件存儲為oraclebackup.bat: @echo off echo 刪除10天前的備分文件和日志 forfiles /p “D:oraclebackup” /m *.dmp /d-10 /c “cmd /c del @path” forfiles /p “D:oraclebackup” /m *.log /d-10 /c “cmd /c del @path” echo 正在備份 oracle 數據庫,請稍等…… exp BDCDJ_CP/BDCDJ_CP@10.6.161.70/orcl file=D:/oraclebackup/BDCDJ_CP%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:/oraclebackup/BDCDJ_CP%date:~0,4%%date:~5,2%%date:~8,2%.log echo 任務完成!注意: 1)修改數據庫連接用戶名、密碼、數據庫地址和實例名 2)修改備份文件存儲地址,以上腳本存儲位置為D:oraclebackup 3.2.新建任務計劃 1)打開任務計劃程序 2)打開創建基本任務,輸入任務名稱、選擇任務執行時間和執行的腳本,完成任務計劃創建。第二篇:ORACLE數據備份與數據恢復方案
第三篇:oracle rac和備份方案
第四篇:數據備份方案
第五篇:oracle數據庫自動備份方案