陳利平
【關(guān)鍵詞】Oracle 數(shù)據(jù)遷移 集群
1. 引言
Oracle 數(shù)據(jù)庫是鋼鐵企業(yè)普遍使用的一種大型數(shù)據(jù)庫系統(tǒng),作為數(shù)據(jù)庫基礎(chǔ)管理層面的運(yùn)維管理,是保證數(shù)據(jù)庫系統(tǒng)穩(wěn)定且高性能運(yùn)行的重要環(huán)節(jié)。運(yùn)維管理包括操作系統(tǒng)層面,和數(shù)據(jù)庫系統(tǒng)層面。操作系統(tǒng)層面的數(shù)據(jù)庫備份,數(shù)據(jù)庫遷移,集群管理,以及基礎(chǔ)運(yùn)維監(jiān)控,是鋼鐵企業(yè)在Oracle 運(yùn)維管理方面重要的部分。
2. 自帶備份功能應(yīng)用
備份是數(shù)據(jù)庫運(yùn)維管理中重要的項(xiàng)目,Oracle 數(shù)據(jù)庫系統(tǒng)自帶了強(qiáng)大的備份管理功能,利用這些自帶的功能,結(jié)合操作系統(tǒng)的計劃任務(wù),就可以完整的實(shí)現(xiàn)企業(yè)需要的備份需求。實(shí)現(xiàn)Oracle 數(shù)據(jù)庫的備份,主要是通過RMAN 備份,以及數(shù)據(jù)泵的導(dǎo)出功能,在有條件的企業(yè),建議每個月做一次完整的數(shù)據(jù)庫離線備份。
RMAN 備份是Oracle 自帶的專用的備份,許多的備份軟件,實(shí)際上也是調(diào)用RMAN 的備份接口,結(jié)合備份軟件的自動化管理功能,實(shí)現(xiàn)數(shù)據(jù)庫的備份。在不使用備份軟件的情況下,利用操作系統(tǒng)的計劃任務(wù),結(jié)合OracleRMAN 的備份腳本,可以實(shí)現(xiàn)完整的備份功能,包括規(guī)定時間窗口和時間周期下的,數(shù)據(jù)庫的完整在線備份,增量備份,以及差異備份。實(shí)現(xiàn)歸檔日志和數(shù)據(jù)庫備份的保留時間周期規(guī)劃,自動刪除歸檔日志,自動刪除歸檔日志備份和數(shù)據(jù)庫備份。
數(shù)據(jù)泵技術(shù)主要是實(shí)現(xiàn)數(shù)據(jù)庫中的數(shù)據(jù)的移動,具備邏輯備份和邏輯恢復(fù)的能力,通過操作系統(tǒng)層面計劃任務(wù),調(diào)用數(shù)據(jù)泵導(dǎo)出的方式,可以實(shí)現(xiàn)基礎(chǔ)的數(shù)據(jù)庫備份功能,在操作系統(tǒng)的腳本中,對數(shù)據(jù)泵的導(dǎo)出文件進(jìn)行定期的刪除,實(shí)現(xiàn)數(shù)據(jù)庫備份的周期管理。
3. 數(shù)據(jù)遷移應(yīng)用
3.1 異構(gòu)平臺遷移
Oracle 的異構(gòu)平臺數(shù)據(jù)庫遷移,主要是Unix,Linux,Windows 之間的互相遷移。鋼鐵企業(yè)在信息化建設(shè)的過程中,從最初的大規(guī)模使用Windows 平臺,逐漸的將業(yè)務(wù)遷移到Unix 和Linux 平臺;近幾年,由于Unix 小型機(jī)平臺的成本較高,同時由于OracleRAC 技術(shù)的成熟和普及,在Unix 平臺上的Oracle 數(shù)據(jù)庫系統(tǒng),開始遷移到Linux 系統(tǒng)平臺上;隨著虛擬化的普及,Oracle 數(shù)據(jù)庫系統(tǒng)也發(fā)展到了虛擬化平臺,但是虛擬化平臺上的相應(yīng)的操作系統(tǒng),主要還是使用Linux 系統(tǒng)。
在異構(gòu)平臺遷移時,可以使用數(shù)據(jù)泵的導(dǎo)入導(dǎo)出功能,DataGuard(數(shù)據(jù)衛(wèi)士),RMANConvert,以及按照數(shù)據(jù)庫中表的內(nèi)容傳輸,等。DataGuard 是獨(dú)立的產(chǎn)品,主要應(yīng)用的手段還是數(shù)據(jù)泵和RMAN 兩種技術(shù)。
數(shù)據(jù)泵的方式,由于是運(yùn)行在服務(wù)器端,可以做到一定程度的版本兼容性,但是,仍然要明確Oracle 官方的兼容性說明。用數(shù)據(jù)泵的方式,為了保證數(shù)據(jù)的一致性,數(shù)據(jù)庫需要處于離線狀態(tài)。數(shù)據(jù)泵是邏輯上的數(shù)據(jù)移動,可以確保異構(gòu)平臺的數(shù)據(jù)遷移的兼容性。
RMAN 備份遷移數(shù)據(jù)庫的方式,需要用到CONVERT 轉(zhuǎn)換參數(shù),使用跨平臺傳輸表空間,平臺之間可以是不同的字節(jié)順序,即ENDIAN_FORMAT。當(dāng)源平臺和目的地平臺的字節(jié)順序不同,源平臺要傳輸表空間下的數(shù)據(jù)文件的字節(jié)存儲順序,需要轉(zhuǎn)換成和目的平臺字節(jié)順序相同。
3.2 同構(gòu)平臺遷移
同構(gòu)平臺的遷移,仍然可以通過數(shù)據(jù)泵,RMAN 來進(jìn)行。在離線的情況下,Unix 和Linux 的同構(gòu)平臺遷移,可以直接使用拷貝數(shù)據(jù)庫文件的方式進(jìn)行。同構(gòu)平臺的遷移,在相同Oracle 版本的前提下,不存在數(shù)據(jù)庫的兼容性問題。
3.3RAC 架構(gòu)遷移
Oracle 數(shù)據(jù)庫在采用RAC 集群時,會使用ASM(自動存儲管理)來實(shí)現(xiàn)磁盤卷的管理。ASM 提供了以平臺無關(guān)的文件系統(tǒng)、邏輯卷管理以及軟RAID 服務(wù)。由于數(shù)據(jù)庫文件存儲在ASM 卷組中,給RAC 系統(tǒng)的遷移帶來了較大的困難。RAC 系統(tǒng)架構(gòu)的數(shù)據(jù)庫遷移,一般使用數(shù)據(jù)泵或RMAN 的方式,而目標(biāo)數(shù)據(jù)庫需要完整搭建后,將數(shù)據(jù)庫的內(nèi)容遷移到搭建好的空數(shù)據(jù)庫環(huán)境里。
3.4 測試環(huán)境搭建
測試環(huán)境的搭建,由于對數(shù)據(jù)環(huán)境的一致性要求沒有那么高,可以在不停數(shù)據(jù)庫的情況下,使用數(shù)據(jù)泵或RMAN 的方式。測試環(huán)境,一般對系統(tǒng)穩(wěn)定性的要求不會太高,有時為了達(dá)到盡快測試的目的,會將測試系統(tǒng)搭建在虛擬化平臺、性能不高的PC 服務(wù)器,或者性能較好的臺式電腦上。測試環(huán)境的操作系統(tǒng),一般會選用Linux 或Windows,以單機(jī)的方式運(yùn)行。鋼鐵企業(yè)的實(shí)際情況,多數(shù)以UNIX 或Linux 下的RAC 架構(gòu)到Windows 或Linux 的單機(jī)架構(gòu)為主也有單機(jī)生產(chǎn)數(shù)據(jù)庫到單機(jī)測試數(shù)據(jù)庫的情況。RAC 數(shù)據(jù)庫到單機(jī)數(shù)據(jù)庫的測試環(huán)境搭建,一般都會使用數(shù)據(jù)泵在線導(dǎo)出的方式,而不會去使用RMAN 轉(zhuǎn)換字節(jié)順序的方式。
4. 集群環(huán)境下的應(yīng)用
Oracle 數(shù)據(jù)庫系統(tǒng)的集群環(huán)境,包括兩種主要的架構(gòu),RAC 集群和操作系統(tǒng)級的雙機(jī)熱備架構(gòu)。操作系統(tǒng)級的雙機(jī)熱備架構(gòu),同時只能有一個主應(yīng)用在線,另一個應(yīng)用處于熱備狀態(tài),底層的數(shù)據(jù)庫文件,同時只能被一個應(yīng)用系統(tǒng)讀寫。RAC 集群的底層數(shù)據(jù)庫是同時共享給上層的應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)可以有多個,并且可以實(shí)現(xiàn)負(fù)載均衡的同時讀寫。所以,在鋼鐵企業(yè)的重要的核心業(yè)務(wù)系統(tǒng)上,普遍使用的是Oracle的RAC 集群架構(gòu)。
在關(guān)閉OracleRAC 數(shù)據(jù)庫時, 如果是逐個通過SHUTDOWN 命令關(guān)閉數(shù)據(jù)庫節(jié)點(diǎn),必須每個節(jié)點(diǎn)都執(zhí)行SHUTDOWN 操作,不然數(shù)據(jù)庫實(shí)際上只在執(zhí)行了命令的節(jié)點(diǎn)停下來,其他沒有執(zhí)行命令的節(jié)點(diǎn),并沒有完全停下來。所以要所有的節(jié)點(diǎn)都執(zhí)行SHUTDOWN 命令才可以。
在RAC 集群管理時,主要用到CRSCTL 和SRVCTL 兩個命令,CRSCTL 命令,是用于集群層的管理;而SRVCTL命令,是用于集群層之下,集群內(nèi)的各項(xiàng)服務(wù)資源的管理。
操作系統(tǒng)級的雙機(jī)集群,在實(shí)現(xiàn)上有兩種方式,一種是不使用RAC 架構(gòu)的雙機(jī)熱備,一種是RAC 架構(gòu)和雙機(jī)熱備結(jié)合方式。RAC 和雙機(jī)熱備結(jié)合的方式,不推薦使用,因?yàn)槎嗔艘粚硬僮飨到y(tǒng)級的資源的調(diào)度,而實(shí)際上RAC 本身已經(jīng)具備了強(qiáng)大的集群能力。單純操作系統(tǒng)級的雙機(jī)熱備,直接利用集群軟件的管理功能即可,但由于同時只有一個節(jié)點(diǎn)在線,會浪費(fèi)一個節(jié)點(diǎn)的硬件資源,并且節(jié)點(diǎn)切換時會有時間的損失。
在使用RAC 架構(gòu)和雙機(jī)熱備結(jié)合的方式時,需要明確操作系統(tǒng)級的雙機(jī)切換腳本的資源控制,配置為雙機(jī)啟動后,可以實(shí)現(xiàn)在硬件節(jié)點(diǎn)啟動后,自動的以O(shè)racle 數(shù)據(jù)庫RAC資源啟動的方式,全自動化的啟動數(shù)據(jù)庫。
5. 結(jié)束語
數(shù)據(jù)已經(jīng)成為鋼鐵企業(yè)的核心資源,數(shù)據(jù)庫作為存儲數(shù)據(jù)的重要載體,已經(jīng)成為鋼鐵企業(yè)的核心基礎(chǔ)平臺。深入掌握鋼鐵企業(yè)普遍使用的Oracle 數(shù)據(jù)庫系統(tǒng),將Oracle 數(shù)據(jù)庫系統(tǒng)穩(wěn)定、可靠、高效的特點(diǎn)充分的發(fā)揮,為鋼鐵企業(yè)信息化建設(shè)奠定牢固的基礎(chǔ)。