摘要:各行業(yè)生產(chǎn)系統(tǒng)中,數(shù)據(jù)是非常珍貴的,數(shù)據(jù)的全面維護(hù)備份以及恢復(fù)在數(shù)據(jù)維護(hù)工作中尤為重要。本文在實(shí)際操作經(jīng)驗(yàn)的基礎(chǔ)上,對(duì)AIX系統(tǒng)的Oracle數(shù)據(jù)庫的備份和恢復(fù)的方法進(jìn)行研究并詳細(xì)闡述,希望能夠給相關(guān)工作人員的工作提供參考和建議。
關(guān)鍵詞:AIX;Oracle數(shù)據(jù)庫;數(shù)據(jù)備份;數(shù)據(jù)恢復(fù)
中圖分類號(hào):TP311.13 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 20-0000-02
1 引言
隨著經(jīng)濟(jì)的發(fā)展,網(wǎng)絡(luò)的建設(shè)越來越發(fā)達(dá),電子政務(wù)也飛速的發(fā)展起來。數(shù)據(jù)在計(jì)算機(jī)數(shù)據(jù)庫中的存儲(chǔ)量也越來越大,其中不乏重要的數(shù)據(jù)。一些關(guān)鍵的數(shù)據(jù)已經(jīng)成為了行業(yè)工作中的寶貴資源,需要長期乃至永久的保存。但是突如其來的計(jì)算機(jī)故障極容易導(dǎo)致數(shù)據(jù)庫被破壞甚至丟失,重建起來非常困難,有些損害甚至不可彌補(bǔ),所以數(shù)據(jù)的備份和恢復(fù)顯得尤為重要。以下對(duì)Oracle數(shù)據(jù)庫在AIX系統(tǒng)下進(jìn)行備份和恢復(fù)的操作方法進(jìn)行研究和討論。
2 AIX操作系統(tǒng)的概述
AIX是由IBM公司自主研發(fā)的操作系統(tǒng),在計(jì)算機(jī)行業(yè)中的應(yīng)用十分廣泛,尤其在IBM的小型機(jī)上更是被廣為采用。該系統(tǒng)屬于第二代Unix操作系統(tǒng),其整體的設(shè)計(jì)的各個(gè)方面都以完全開放為系統(tǒng)原則,因此被稱為最開放的操作系統(tǒng)。因?yàn)樗陉P(guān)鍵數(shù)據(jù)處理方面的強(qiáng)大功能,加上應(yīng)用的普遍性和開放原則,在計(jì)算機(jī)領(lǐng)域中贏得用戶的一致認(rèn)可和好評(píng)。AIX 操作系統(tǒng)的總體構(gòu)架運(yùn)用了內(nèi)核和核外程序想結(jié)合的設(shè)計(jì)思路。整個(gè)系統(tǒng)從邏輯方面分析可以將其分為五個(gè)層次。第一層是稱為基礎(chǔ)層的硬件層。硬件層包括CPU和存儲(chǔ)器,以及網(wǎng)絡(luò)控制部件等硬件資源,不僅提供硬件支持給AIX系統(tǒng),同時(shí)還要執(zhí)行系統(tǒng)管理下的有序工作。第二次為內(nèi)核層。內(nèi)核層主要對(duì)軟、硬件資源以及信息資源進(jìn)行有效的管理和支配。第三層為系統(tǒng)調(diào)用層。它作為核外程序和內(nèi)核間工作連接的界面,通過這層,使核外程序可以對(duì)內(nèi)核的子功能進(jìn)行調(diào)用,而同時(shí)也要為內(nèi)核進(jìn)行服務(wù)。第四層為核外程序?qū)印:送獬绦驅(qū)拥墓ぷ魇墙⒃趦?nèi)核層的支持之下的,它包含各種應(yīng)用軟件和應(yīng)用程序,以及一些常規(guī)的系統(tǒng)程序。第五層為外殼層。該層是用戶對(duì)AIX系統(tǒng)進(jìn)行操作的外層界面。
3 Oracle數(shù)據(jù)庫的備份方法研究
3.1 數(shù)據(jù)備份的基本方法
數(shù)據(jù)備份一般可分為兩種類型。第一種類型是數(shù)據(jù)的物理備份。這種備份方法主要以復(fù)制為主,從某一個(gè)位置上將數(shù)據(jù)復(fù)制到另外一個(gè)存儲(chǔ)位置。在計(jì)算機(jī)操作中,主要有數(shù)據(jù)文件和需要進(jìn)行歸檔重新操作的日志類文件,還有參數(shù)的初始化文件和控制文件等需要進(jìn)行必要的備份。另一種備份類型是邏輯備份。此種備份是指將數(shù)據(jù)庫的數(shù)據(jù)運(yùn)用Export等工具進(jìn)行讀取,讀取方式通過執(zhí)行SQL語句的方式來實(shí)現(xiàn)。將數(shù)據(jù)讀取出來以后將其在二進(jìn)制文件中寫入。邏輯備份的方法所導(dǎo)出的數(shù)據(jù)可以徹底的脫離數(shù)據(jù)庫文件,具有獨(dú)立性,而且在其他的數(shù)據(jù)庫中也可以將其導(dǎo)入進(jìn)去,實(shí)用起來比較方便。在進(jìn)行數(shù)據(jù)備份的時(shí)候要注意不要把使用數(shù)據(jù)和備份數(shù)據(jù)放在同一個(gè)存儲(chǔ)硬盤,盡量分開位置來放。這樣當(dāng)使用數(shù)據(jù)所在硬盤發(fā)生故障時(shí),當(dāng)前使用數(shù)據(jù)如果遭到損壞,不至于影響備份文件。備份文件保存完好,就可以對(duì)數(shù)據(jù)庫進(jìn)行恢復(fù)操作。數(shù)據(jù)庫最好在歸檔的模式下來運(yùn)行,如果不在此種模式下運(yùn)行,如果有硬盤故障的情況發(fā)生,極有可能會(huì)使部分?jǐn)?shù)據(jù)丟失,就有數(shù)據(jù)庫恢復(fù)不完全的可能性存在。如果是以7x24方式運(yùn)行數(shù)據(jù)庫,那么在數(shù)據(jù)庫打開被讀寫運(yùn)行操作是進(jìn)行聯(lián)機(jī)狀態(tài)下的數(shù)據(jù)備份,也就是熱備份。由于進(jìn)行數(shù)據(jù)文件備份的SCN有差異,因此不僅要利用備份數(shù)據(jù)文件進(jìn)行數(shù)據(jù)庫的修復(fù)工作,同時(shí)還要運(yùn)用歸檔重做日志對(duì)數(shù)據(jù)庫進(jìn)行恢復(fù)的操作,這樣才能保證數(shù)據(jù)文件的SCN歸于一致性。如果不如此進(jìn)行操作,就會(huì)打不開Oracle數(shù)據(jù)庫。
3.2 Oracle數(shù)據(jù)庫的熱備份和冷備份
對(duì)數(shù)據(jù)庫的故障數(shù)據(jù)丟失處理有“恢復(fù)”和“修復(fù)”兩個(gè)不同的概念。Oracle數(shù)據(jù)庫的備份可以從熱備份和冷備份兩個(gè)角度來進(jìn)行討論研究。
3.2.1 數(shù)據(jù)庫的熱備份處理
對(duì)數(shù)據(jù)庫的熱備份需要首先對(duì)數(shù)據(jù)庫進(jìn)行全備份的操作,確立一個(gè)專門作為數(shù)據(jù)備份的服務(wù)器,把備份數(shù)據(jù)存在于這個(gè)專門的服務(wù)器上。再進(jìn)行數(shù)據(jù)的備份貴點(diǎn)重做日志的操作,即把\oracle\app\oracle\OraHome\dbs\archive目錄下的文件用ftp工具下載到此服務(wù)器的\orabackup\daily目錄下。對(duì)于重復(fù)的數(shù)據(jù)文件可以進(jìn)行覆蓋操作。這種備份方法對(duì)日后完整的恢復(fù)數(shù)據(jù)庫數(shù)據(jù)具有重要的作用。
3.2.2 數(shù)據(jù)庫的冷備份處理
對(duì)數(shù)據(jù)庫的冷備份的方法如下:
(1)在磁帶機(jī)中放入磁帶,對(duì)小型機(jī)系統(tǒng)以root身份進(jìn)行登錄。將下列命里進(jìn)行依次執(zhí)行:
i># cd /manager
ii># ./db_shutdown.sh.
iii># ./db_coldbackup.sh
(2)把\oracle\app\oracle\OraHome\dbs\archive目錄下的所有文件用ftp工具在\orabackup“月份”目錄下進(jìn)行下載存儲(chǔ)備份。將沒有用處的歸檔日志文件刪除。
(3)近兩月的時(shí)間內(nèi)的冷備份磁盤進(jìn)行保留,對(duì)目錄中的兩個(gè)月內(nèi)的數(shù)據(jù)文件也要進(jìn)行保留,這樣如果備份磁帶出現(xiàn)問題導(dǎo)致備份數(shù)據(jù)損壞,可以進(jìn)行文件的恢復(fù)。
3.3 改進(jìn)后的Oracle數(shù)據(jù)庫備份方法的優(yōu)缺點(diǎn)分析
3.3.1 數(shù)據(jù)備份的方法采用歸檔重建模式的優(yōu)點(diǎn)在于:如果數(shù)據(jù)庫因?yàn)?zāi)難或者故障兒發(fā)生損壞或者丟失的時(shí)候,可以采用RMAN工具對(duì)數(shù)據(jù)庫整體進(jìn)行全面的備份和恢復(fù)。通過歸檔日志,可以將數(shù)據(jù)庫恢復(fù)到數(shù)據(jù)損壞的時(shí)間點(diǎn),使數(shù)據(jù)丟失的風(fēng)險(xiǎn)大大降低。而且在歸檔模式使用RMAN備份屬于聯(lián)機(jī)在線的備份操作,無需將對(duì)數(shù)據(jù)庫的訪問進(jìn)行停止,可同時(shí)進(jìn)行操作。
3.3.2 改進(jìn)后的數(shù)據(jù)庫備份方法對(duì)傳統(tǒng)的系統(tǒng)數(shù)據(jù)庫的備份策進(jìn)行了修改。如:每天的備份量增加,每周進(jìn)行一次全面的數(shù)據(jù)庫備份,對(duì)備份文件進(jìn)行多份的保管等,對(duì)備份的策略的改進(jìn)可以更好為數(shù)據(jù)系統(tǒng)的恢復(fù)提供備份數(shù)據(jù),增加安全性。
4 Oracle數(shù)據(jù)庫的恢復(fù)
當(dāng)全部的硬盤發(fā)生故障時(shí)可采用以下的方法進(jìn)行數(shù)據(jù)庫的恢復(fù)。
1)對(duì)所有的硬盤進(jìn)行全面更換。2)對(duì)操作系統(tǒng)進(jìn)行恢復(fù)。3)對(duì)數(shù)據(jù)庫程序進(jìn)行安裝。4)將磁帶中的所有備份文件以O(shè)racle用戶的身份在/orabackup/coldbackup目錄中進(jìn)行恢復(fù)。5)將/orabackup/coldbackup目錄中進(jìn)行復(fù)制,目標(biāo)目錄為/oradata/$ORACLE_SID目錄。6)將初始化啟用文件和口令文件在$oracle_home/dbs/$oracle_sid目錄下進(jìn)行復(fù)制。7)輸入數(shù)據(jù)庫恢復(fù)命令。
5 結(jié)語
因?yàn)镺racle數(shù)據(jù)庫文件的重要性,一定對(duì)其文件的備份加以足夠的重視。并且采用合適的方法保證對(duì)數(shù)據(jù)準(zhǔn)確、有效、安全的進(jìn)行備份。在實(shí)際工作中,對(duì)數(shù)據(jù)庫備份的方法進(jìn)行不斷的完善和提高,積極探索更加適合并有效的數(shù)據(jù)備份方法。
參考文獻(xiàn):
[1]劉曉東.AIX下的系統(tǒng)及數(shù)據(jù)備份[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2004,14(1):27-30.
[2]黃河.Oracle 9i 數(shù)據(jù)庫系統(tǒng)培訓(xùn)教程[M].北京:清華大學(xué)出版社,2003.
[3]洪舟.IBM AIX運(yùn)行系統(tǒng)中邏輯卷管理LVM技術(shù)應(yīng)用[J].電腦編程技巧與優(yōu)化,2009(1):14-18.