王加敏,馬廣慶,趙 鵬,李永慶
(1.河北省地震局,河北 石家莊 225000;2.河北紅山巨厚沉積與地震災(zāi)害國(guó)家野外科學(xué)觀測(cè)研究站,河北 邢臺(tái) 055350)
隨著觀測(cè)技術(shù)的提升,地震觀測(cè)數(shù)據(jù)及產(chǎn)品數(shù)據(jù)日益豐富。河北地球物理臺(tái)網(wǎng)是全省地球物理觀測(cè)及產(chǎn)品數(shù)據(jù)的匯集和存儲(chǔ)中心,先后建成地球物理Sql Server“九五”數(shù)據(jù)庫(kù)、Oracle“十五”數(shù)字化數(shù)據(jù)庫(kù)?!笆濉睌?shù)字化后,全國(guó)地球物理臺(tái)網(wǎng)部署中國(guó)地震地球物理臺(tái)網(wǎng)數(shù)據(jù)管理系統(tǒng)(以下簡(jiǎn)稱管理系統(tǒng)),該系統(tǒng)是基于Oracle數(shù)據(jù)庫(kù)開(kāi)發(fā)的數(shù)據(jù)管理技術(shù)平臺(tái),可實(shí)現(xiàn)不同節(jié)點(diǎn)數(shù)據(jù)庫(kù)數(shù)據(jù)的層層交換[1],可將全國(guó)地球物理觀測(cè)數(shù)據(jù)匯集于國(guó)家中心[2-3]。
河北地球物理臺(tái)網(wǎng)作為區(qū)域中心,承擔(dān)河北省數(shù)據(jù)匯集、管理和上報(bào)等職能,省內(nèi)共架設(shè)1個(gè)區(qū)域中心、8個(gè)臺(tái)站節(jié)點(diǎn)地球物理Oracle數(shù)據(jù)庫(kù)。其中,區(qū)域中心Oracle數(shù)據(jù)庫(kù)置于河北省地震局核心機(jī)房,由專人維護(hù);臺(tái)站節(jié)點(diǎn)Oracle數(shù)據(jù)庫(kù)部署于轄區(qū)內(nèi)的8個(gè)中心站,部分臺(tái)站的服務(wù)器已運(yùn)行數(shù)十年。臺(tái)站節(jié)點(diǎn)數(shù)據(jù)庫(kù)是管理系統(tǒng)數(shù)據(jù)匯集的源頭,臺(tái)站人員通過(guò)各種地球物理專業(yè)軟件進(jìn)行數(shù)據(jù)的采集、預(yù)處理和產(chǎn)品產(chǎn)出[4]。因此,臺(tái)站節(jié)點(diǎn)數(shù)據(jù)庫(kù)如出現(xiàn)故障,會(huì)影響數(shù)據(jù)的匯集和處理。為保障Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)的安全,在管理系統(tǒng)熱備份的基礎(chǔ)上,區(qū)域中心每月對(duì)地球物理Oracle數(shù)據(jù)庫(kù)進(jìn)行一次冷備份。由于臺(tái)站軟硬件條件及技術(shù)力量參差不齊,臺(tái)站節(jié)點(diǎn)的地球物理Oracle數(shù)據(jù)庫(kù)未進(jìn)行冷備份,同時(shí)因設(shè)備老化出現(xiàn)系統(tǒng)故障,造成數(shù)據(jù)丟失,對(duì)臺(tái)站的數(shù)據(jù)產(chǎn)出造成影響。因此,臺(tái)站節(jié)點(diǎn)Oracle數(shù)據(jù)庫(kù)的穩(wěn)定運(yùn)行至關(guān)重要。
地球物理服務(wù)器大部分已運(yùn)行數(shù)十年,配置低,易出現(xiàn)故障,因此,系統(tǒng)維護(hù)人員需熟練掌握Oracle數(shù)據(jù)庫(kù)的備份及還原操作[5]。該文綜合分析幾種Oracle數(shù)據(jù)遷移方法,結(jié)合實(shí)例介紹臺(tái)站節(jié)點(diǎn)數(shù)據(jù)庫(kù)的備份和恢復(fù)過(guò)程,以期為地球物理Oracle數(shù)據(jù)庫(kù)的運(yùn)維工作提供參考。
數(shù)據(jù)遷移是數(shù)據(jù)庫(kù)備份與恢復(fù)的過(guò)程,Oracle的備份可分為物理備份和邏輯備份兩種方式。其中,物理備份主要是對(duì)控制文件、數(shù)據(jù)文件、日志文件及參數(shù)文件等物理文件進(jìn)行備份。根據(jù)數(shù)據(jù)庫(kù)工作模式(歸檔模式和非歸檔模式),物理備份分為熱備份(又稱聯(lián)機(jī)備份,歸檔模式)和冷備份(又稱脫機(jī)備份,非歸檔模式);邏輯備份主要是指應(yīng)用可執(zhí)行文件EXPDP或EXP將數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)出,以文件格式保存。
基于Oracle的地球物理節(jié)點(diǎn)數(shù)據(jù)庫(kù)備份主要有冷備份、在線熱備份和邏輯備份3種方式。其中,冷備份是地球物理臺(tái)網(wǎng)區(qū)域中心常用的數(shù)據(jù)遷移方式,即對(duì)地球物理Oracle數(shù)據(jù)庫(kù)oradata目錄下的文件進(jìn)行壓縮拷貝。此操作相對(duì)簡(jiǎn)單,需關(guān)閉數(shù)據(jù)庫(kù),但不能按照所需要的對(duì)象進(jìn)行數(shù)據(jù)遷移;邏輯備份是按照表空間、段等進(jìn)行導(dǎo)出,能針對(duì)對(duì)象進(jìn)行備份,不需關(guān)閉數(shù)據(jù)庫(kù),操作相對(duì)靈活[6];在線熱備份是指在地球物理Oracle數(shù)據(jù)庫(kù)不關(guān)閉的情況下,管理系統(tǒng)自動(dòng)實(shí)現(xiàn)增量備份,主要是基于應(yīng)用級(jí)別進(jìn)行數(shù)據(jù)備份,無(wú)法完全鏡像復(fù)制數(shù)據(jù)[7],管理系統(tǒng)的在線熱備份也是邏輯備份。
隨著技術(shù)的發(fā)展,基于Oracle數(shù)據(jù)庫(kù)的遷移工具也較多。地球物理臺(tái)網(wǎng)通常使用Oracle數(shù)據(jù)庫(kù)自帶的備份和恢復(fù)工具,操作方便、快捷;Exp/Imp是Oracle比較早的數(shù)據(jù)遷移方式,可實(shí)現(xiàn)對(duì)全庫(kù)、特定的表空間及特定表的邏輯備份。該方式較靈活、便捷,但存在速度慢、效率低的缺陷,適合中小數(shù)據(jù)庫(kù)的數(shù)據(jù)遷移。數(shù)據(jù)泵技術(shù)是Oracle基于Exp/Imp備份與恢復(fù)工具的升級(jí),支持暫停和遠(yuǎn)端操作,該技術(shù)在數(shù)據(jù)的并行處理方面有提升,可提高數(shù)據(jù)的遷移速度和效率,在跨平臺(tái)數(shù)據(jù)遷移時(shí)較方便;PLSQL Developer是第三方公司開(kāi)發(fā)的集成工具,功能齊全,可視化界面,方便對(duì)Oracle數(shù)據(jù)庫(kù)進(jìn)行開(kāi)發(fā)、測(cè)試、調(diào)試和優(yōu)化操作,常用的導(dǎo)入、導(dǎo)出文件格式有.dmp、.sql和.pde。
RMAN是Oracle數(shù)據(jù)庫(kù)第8版之后提供的外部數(shù)據(jù)遷移工具,可實(shí)現(xiàn)數(shù)據(jù)文件、控制文件、歸檔日志及參數(shù)文件的備份還原。該技術(shù)既能進(jìn)行冷備份又能做熱備份,一般情況下都是進(jìn)行熱備份,執(zhí)行時(shí)數(shù)據(jù)庫(kù)需處于歸檔模式。數(shù)據(jù)庫(kù)故障時(shí),RMAN技術(shù)能恢復(fù)到故障點(diǎn)或離故障點(diǎn)最近的時(shí)間,解決物理冷備份和邏輯備份只能恢復(fù)到備份點(diǎn),不能恢復(fù)到故障點(diǎn)的問(wèn)題[8]。
2.1.1 物理冷備份
地球物理Oracle數(shù)據(jù)庫(kù)冷備份操作相對(duì)簡(jiǎn)單,對(duì)oradata目錄下的文件進(jìn)行壓縮拷貝即可[9],此過(guò)程中,必須保持?jǐn)?shù)據(jù)庫(kù)的關(guān)閉狀態(tài)。根據(jù)《區(qū)域地震前兆臺(tái)網(wǎng)運(yùn)行管理技術(shù)要求》,河北地球物理臺(tái)網(wǎng)區(qū)域中心每月進(jìn)行一次冷備份。為不影響正常工作,區(qū)域中心在冷備份時(shí),一般選擇數(shù)據(jù)庫(kù)相對(duì)空閑的狀態(tài)進(jìn)行。
地球物理Oracle數(shù)據(jù)庫(kù)的冷備份步驟包括管理系統(tǒng)及數(shù)據(jù)庫(kù)的關(guān)閉、數(shù)據(jù)壓縮及拷貝、數(shù)據(jù)庫(kù)及管理系統(tǒng)的運(yùn)行等[5](見(jiàn)圖1)。通常在進(jìn)行數(shù)據(jù)冷備份前,為確保備份數(shù)據(jù)的完整性,需先查詢數(shù)據(jù)文件、日志文件及控制文件所在位置。數(shù)據(jù)備份操作步驟如下:
圖1 地球物理臺(tái)網(wǎng)Oracle數(shù)據(jù)庫(kù)冷備份及恢復(fù)流程圖Fig.1 Flow chart of cold backup and recoveryof Oracle database of geophysical network
(1) 以root登錄服務(wù)器,進(jìn)入管理系統(tǒng)目錄,執(zhí)行關(guān)閉管理系統(tǒng)命令。
cd /install
./stoprun.sh
(2) 關(guān)閉數(shù)據(jù)庫(kù)、停止監(jiān)聽(tīng)。
shutdown immediate
lsnrctl stop
(3) 執(zhí)行數(shù)據(jù)壓縮命令,形成的壓縮文件orabak.tar.gz存放于/opt/backup目錄下。
tar cvfzpP /opt/backup/orabak.tar.gz /opt/oracle/oradata
(4) 壓縮完畢可通過(guò)ftp將備份文件下載到其他移動(dòng)介質(zhì),或使用文件傳輸命令傳輸至備份庫(kù)。
scp orabak.tar.gz root@10.13.x.x:/opt/oracle
(5) 啟動(dòng)數(shù)據(jù)庫(kù)監(jiān)聽(tīng)、啟動(dòng)數(shù)據(jù)庫(kù)。
lsnrctl start
startup
(6) 啟動(dòng)管理系統(tǒng)。
cd /install
./run.sh
數(shù)據(jù)恢復(fù)時(shí),管理系統(tǒng)和數(shù)據(jù)庫(kù)的關(guān)閉和啟動(dòng)與數(shù)據(jù)備份過(guò)程一致,在解壓備份文件時(shí),先刪除/opt/oracle/oradata目錄下所有文件,通過(guò)解壓縮命令tar xvfpP/opt/oracle/orabak.tar.gz恢復(fù)數(shù)據(jù)庫(kù)數(shù)據(jù)。備份文件數(shù)據(jù)恢復(fù)后,通過(guò)查驗(yàn)數(shù)據(jù)條目數(shù)來(lái)校驗(yàn)數(shù)據(jù)完整性。在主庫(kù)正常運(yùn)行情況下,一般在備份庫(kù)中進(jìn)行數(shù)據(jù)恢復(fù),需始終保持管理系統(tǒng)的關(guān)閉狀態(tài)。數(shù)據(jù)恢復(fù)前,備份庫(kù)需建立與主庫(kù)完全相同的環(huán)境。
河北區(qū)域地球物理臺(tái)網(wǎng)服務(wù)器是在Suse Linux11 SP3操作系統(tǒng)下安裝的Oracle10g數(shù)據(jù)庫(kù),其數(shù)據(jù)庫(kù)文件均在/opt/oracle/oradata目錄下。目前,河北地球物理數(shù)據(jù)庫(kù)冷備份數(shù)據(jù)量約65 GB,備份文件存儲(chǔ)于備份服務(wù)器上,備份數(shù)據(jù)庫(kù)與主庫(kù)運(yùn)行環(huán)境、表結(jié)構(gòu)等完全一致。由于備份服務(wù)器管理系統(tǒng)配置與主服務(wù)器相同,為防止臺(tái)站節(jié)點(diǎn)數(shù)據(jù)同步出現(xiàn)異常,備份服務(wù)器需保持管理系統(tǒng)的關(guān)閉狀態(tài)。
2.1.2 基于RMAN技術(shù)的物理備份
RMAN可實(shí)現(xiàn)數(shù)據(jù)庫(kù)的全備份、累積增量備份和差異增量備份。全備份是指完全備份Oracle數(shù)據(jù)文件中所有數(shù)據(jù)塊;增量備份只備份上次增量備份后被修改的數(shù)據(jù)庫(kù),需做一次0級(jí)備份為基礎(chǔ)。0級(jí)備份與數(shù)據(jù)庫(kù)全備份內(nèi)容相同,但全備份不能作為其他備份的基礎(chǔ);累積增量和差異增量備份都是在0級(jí)備份的基礎(chǔ)上實(shí)現(xiàn),但前者是備份上級(jí)備份以來(lái)所有變化的數(shù)據(jù)塊,后者是在上一次同級(jí)或高一級(jí)(0級(jí)>1級(jí))備份的基礎(chǔ)上有改動(dòng)的數(shù)據(jù)塊。
根據(jù)RMAN的運(yùn)行模式,RMAN備份分為NOCATALOG和CATALOG兩種方式。NOCATALOG模式下,備份信息存儲(chǔ)于主庫(kù)的控制文件中;CATALOG模式的RMAN備份需單獨(dú)創(chuàng)建ORACLE數(shù)據(jù)庫(kù),用來(lái)存放備份數(shù)據(jù)。因此,CATALOG模式下的RMAN備份更安全?;贑ATALOG模式的RMAN備份具體步驟包括目錄數(shù)據(jù)庫(kù)的配置、參數(shù)設(shè)置、創(chuàng)建備份腳本及部署備份策略,過(guò)程如下:
(1) 目錄數(shù)據(jù)庫(kù)配置。使用create catalog命令創(chuàng)建恢復(fù)目錄,在該目錄中注冊(cè)數(shù)據(jù)庫(kù)register database,目標(biāo)數(shù)據(jù)庫(kù)為需要備份數(shù)據(jù)的數(shù)據(jù)庫(kù)。
(2) 參數(shù)設(shè)置。根據(jù)數(shù)據(jù)庫(kù)情況設(shè)置歸檔模式、歸檔路徑及歸檔文件命名。
(3) 創(chuàng)建備份腳本及部署備份策略。RMAN備份周期為七天,一般在周日進(jìn)行0級(jí)備份,其他時(shí)間進(jìn)行1級(jí)和2級(jí)的增量備份。其中0級(jí)備份腳本如下:
run {
allocate channel dl type disk;
backup incremental level=0 database format '/opt/backup/RMAN/db_%d_%s_%p_%t '
tag = 'WHOLE_INC0';
sql 'alter system archive log current';
backup archivelog all format '/opt/backup/RMAN/archive/arch_%d_%t_%s' delete input;
Release channel d1;
}
在NOCATALOG模式下,備份信息存儲(chǔ)在控制文件中,如果控制文件損壞或丟失,會(huì)造成數(shù)據(jù)無(wú)法恢復(fù)。因此,基于NOCATALOG模式的RMAN備份需要將控制文件遷移。相較于RMAN備份,基于RMAN的數(shù)據(jù)庫(kù)恢復(fù)過(guò)程較簡(jiǎn)單,主要步驟為關(guān)閉數(shù)據(jù)庫(kù)、啟動(dòng)數(shù)據(jù)庫(kù)到MOUNT狀態(tài)、數(shù)據(jù)恢復(fù)及啟動(dòng)數(shù)據(jù)庫(kù)。如備份模式為NOCATALOG,恢復(fù)數(shù)據(jù)庫(kù)時(shí)需恢復(fù)控制文件,且數(shù)據(jù)庫(kù)需保持NOMOUNT狀態(tài)。RMAN恢復(fù)命令腳本如下:
run{
shutdown abort;
startup nomount;
restore controlfile from autobackup;
alter database mount;
restore database;
recover database;
alter databse open;
}
2.2.1 基于Exp/Imp的數(shù)據(jù)遷移
PLSQL Developer中基于Oracle Exp/Imp的數(shù)據(jù)遷移可在數(shù)據(jù)庫(kù)不關(guān)閉的狀態(tài)下完成,實(shí)現(xiàn)表級(jí)的備份和恢復(fù),通過(guò)條件篩選可自定義備份和恢復(fù)數(shù)據(jù),不受Oracle數(shù)據(jù)庫(kù)歸檔的限制[10]。在臺(tái)站節(jié)點(diǎn)數(shù)據(jù)庫(kù)無(wú)法恢復(fù)時(shí),可使用PLSQL Developer工具的Oracle Exp/Imp進(jìn)行數(shù)據(jù)遷移,通過(guò)區(qū)域中心節(jié)點(diǎn)數(shù)據(jù)庫(kù)篩選表內(nèi)數(shù)據(jù),恢復(fù)臺(tái)站數(shù)據(jù)庫(kù)。
2020年1月,河北石家莊中心站Oracle數(shù)據(jù)庫(kù)出現(xiàn)系統(tǒng)故障,由于臺(tái)站節(jié)點(diǎn)無(wú)備用數(shù)據(jù)庫(kù),為確保當(dāng)天數(shù)據(jù)及時(shí)入庫(kù),臺(tái)站工作人員重裝系統(tǒng),造成數(shù)據(jù)丟失。為盡快恢復(fù)數(shù)據(jù),區(qū)域中心制定數(shù)據(jù)遷移方案,數(shù)據(jù)遷移流程如圖2所示。
圖2 基于Exp/Imp的數(shù)據(jù)遷移流程圖Fig.2 Data migration flow chart based on Exp/ Imp
(1) 源數(shù)據(jù)庫(kù)為省局地球物理Oracle數(shù)據(jù)庫(kù),通過(guò)篩選表內(nèi)石家莊中心站所轄數(shù)據(jù),導(dǎo)出源數(shù)據(jù)。
(2) 部署目標(biāo)數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)庫(kù)為Oracle10g,在數(shù)據(jù)導(dǎo)入前,目標(biāo)數(shù)據(jù)庫(kù)配置須與源數(shù)據(jù)庫(kù)完全一致。目標(biāo)庫(kù)中管理系統(tǒng)為臺(tái)站節(jié)點(diǎn),Oracle數(shù)據(jù)庫(kù)可通過(guò)安裝管理系統(tǒng),設(shè)置相關(guān)參數(shù),建立與源數(shù)據(jù)庫(kù)完全一致的用戶和數(shù)據(jù)結(jié)構(gòu)。在目標(biāo)機(jī)上部署Oracle數(shù)據(jù)庫(kù)后,檢測(cè)Oracle版本、字符集、系統(tǒng)環(huán)境變量等是否與源數(shù)據(jù)庫(kù)一致。
(3) 源數(shù)據(jù)導(dǎo)出。通過(guò)PLSQL Developer工具中的Oracle導(dǎo)出功能,將石家莊中心站的數(shù)據(jù)全部導(dǎo)出。在導(dǎo)出數(shù)據(jù)時(shí),選定石家莊中心站節(jié)點(diǎn)所包含的測(cè)項(xiàng)表,篩選條件為石家莊中心站包含的臺(tái)站(where stationid=’13024’ or stationid=’13025’ or stationid=’13103’ or stationid=’13104’ or stationid=’13105’ or stationid=’13106’ or stationid=’13109’ or stationid=’13148’ or stationid=’13149’)。導(dǎo)出的可執(zhí)行文件為本地Oracle的數(shù)據(jù)遷移工具EXP,導(dǎo)出的數(shù)據(jù)文件為.dmp文件。
(4) 數(shù)據(jù)導(dǎo)入。打開(kāi)PLSQL Developer工具的Import Table,通過(guò)Oracle導(dǎo)入界面,加載可執(zhí)行文件IMP.EXE,選擇源數(shù)據(jù)導(dǎo)出的.dmp文件,點(diǎn)擊Import導(dǎo)入數(shù)據(jù)。
(5) 測(cè)試。為確保數(shù)據(jù)遷移的完整性,通過(guò)count查驗(yàn)兩端數(shù)據(jù)記錄的條目數(shù),檢測(cè)源數(shù)據(jù)庫(kù)與目標(biāo)數(shù)據(jù)庫(kù)兩端數(shù)據(jù)量是否一致。在數(shù)據(jù)記錄條目一致時(shí),抽檢數(shù)據(jù)的一致性。分別繪制兩端數(shù)據(jù)庫(kù)中相同時(shí)段的觀測(cè)數(shù)據(jù),通過(guò)對(duì)比曲線的一致性,查驗(yàn)數(shù)據(jù)遷移是否出錯(cuò)。
2.2.2 基于數(shù)據(jù)泵的數(shù)據(jù)遷移
數(shù)據(jù)泵技術(shù)是基于Oracle9i及前期版本的Exp/Imp邏輯備份技術(shù)。相對(duì)于冷備份長(zhǎng)時(shí)間的停庫(kù)狀態(tài),數(shù)據(jù)泵可實(shí)現(xiàn)數(shù)據(jù)庫(kù)的邏輯備份,提高數(shù)據(jù)的遷移速度和效率。基于數(shù)據(jù)泵的數(shù)據(jù)遷移,備份庫(kù)需建立與主庫(kù)完全一致的用戶及數(shù)據(jù)結(jié)構(gòu)。備份數(shù)據(jù)庫(kù)在安裝管理系統(tǒng)時(shí),已創(chuàng)建與主庫(kù)完全一致的數(shù)據(jù)表,備份庫(kù)中Oracle安裝時(shí)的用戶設(shè)置與主庫(kù)一致。基于數(shù)據(jù)泵的數(shù)據(jù)遷移流程與Exp/Imp數(shù)據(jù)遷移大致相同,數(shù)據(jù)備份由以下3個(gè)步驟組成。
(1) 定義directory參數(shù),指定路徑。在主、備數(shù)據(jù)庫(kù)創(chuàng)建目錄對(duì)象,用于存放數(shù)據(jù)遷移及日志文件在系統(tǒng)中的位置,通過(guò)SSH使用以下命令創(chuàng)建:
create directory pdb_qz as 'C:ak'。
(2) 從主庫(kù)中導(dǎo)出全部數(shù)據(jù),導(dǎo)出命令為:
Expdp qzdata/xx@10.13.x.x/pdbqz directory=qztest dumpfile=xx.dmp schemas=qzdata logfile=xx.log full=n。
(3) 將備份.dmp文件傳輸至備份數(shù)據(jù)庫(kù)對(duì)應(yīng)目錄,進(jìn)行數(shù)據(jù)泵全庫(kù)的導(dǎo)入:
Impdp qzdata/xx@10.13.x.x/pdbqz directory=qztest dumpfile=xx.dmp schemas=qzdata logfile=xx.log full=n。
2.2.3 注意事項(xiàng)
邏輯備份通常用于恢復(fù)臺(tái)站節(jié)點(diǎn)數(shù)據(jù),由于數(shù)據(jù)從上級(jí)數(shù)據(jù)庫(kù)中獲得,部分字段標(biāo)識(shí)和交換標(biāo)志需重新設(shè)置。在數(shù)據(jù)遷移過(guò)程中,注意以下幾點(diǎn)內(nèi)容。
(1) 導(dǎo)入.dmp文件時(shí),會(huì)刪除原有數(shù)據(jù),如目標(biāo)數(shù)據(jù)庫(kù)有數(shù)據(jù),需確認(rèn)源數(shù)據(jù)是否包含此數(shù)據(jù)。
(2) 從目標(biāo)數(shù)據(jù)庫(kù)導(dǎo)出數(shù)據(jù)時(shí),oracle客戶端版本必須與服務(wù)器端一致,或低于服務(wù)器端oracle版本,否則使用PLSQL Developer工具中的Oracle export導(dǎo)出時(shí),無(wú)法導(dǎo)出clob長(zhǎng)數(shù)據(jù)流。
(3) 數(shù)據(jù)導(dǎo)入目標(biāo)數(shù)據(jù)庫(kù)前,須先刪除原有表,否則報(bào)錯(cuò),服務(wù)器拒絕執(zhí)行導(dǎo)入;用delete刪除表時(shí),需執(zhí)行commit命令,否則,在執(zhí)行導(dǎo)入命令時(shí)處于等待狀態(tài)。
(4) 下級(jí)節(jié)點(diǎn)導(dǎo)入數(shù)據(jù)后,為防止再次交換到源數(shù)據(jù)庫(kù),需修改導(dǎo)入表的date_index字段;同時(shí)為保證新數(shù)據(jù)交換到上級(jí)服務(wù)器,注意表table_bak_flg中upperindex字段和相應(yīng)表的Next number是否對(duì)應(yīng)。
數(shù)據(jù)遷移時(shí),Oracle server端、Oracle client端及PLSQL Developer三者應(yīng)保持字符集的一致性,否則遷移的數(shù)據(jù)有可能出現(xiàn)亂碼等情況。數(shù)據(jù)遷移前,首先查詢Oracle server端的字符集,查看服務(wù)器端編碼select userenv('language') from dual;再查詢Oracle client端字符集,執(zhí)行語(yǔ)句select * from V$NLS_PARAMETERS,查看第一行中PARAMETER項(xiàng)中為NLS_LANGUAGE對(duì)應(yīng)的VALUE項(xiàng)中是否和服務(wù)器端一致。如不是,需設(shè)置環(huán)境變量,環(huán)境變量NLS_LANG設(shè)為服務(wù)器端查詢的值。PLSQL Developer客戶端使用的字符編碼和服務(wù)器端不一致,數(shù)據(jù)遷移會(huì)出現(xiàn)亂碼。
在部署服務(wù)器時(shí),Oracle數(shù)據(jù)庫(kù)字符集一旦創(chuàng)建,所存儲(chǔ)的字符會(huì)受到限制。如出現(xiàn)字符集不一致時(shí),通常修改Oracle client端、PLSQL Developer字符集,使其與Oracle server端保持一致。
地球物理Oracle數(shù)據(jù)庫(kù)安全、穩(wěn)定的運(yùn)行是開(kāi)展數(shù)據(jù)分析的基礎(chǔ),數(shù)據(jù)遷移工作能保障數(shù)據(jù)的安全,備份現(xiàn)有數(shù)據(jù),又可提取數(shù)據(jù)部署到其他平臺(tái),提供數(shù)據(jù)服務(wù),數(shù)據(jù)遷移是地球物理臺(tái)網(wǎng)數(shù)據(jù)管理的一項(xiàng)重要工作。該文結(jié)合日常工作,介紹幾種不同方式的數(shù)據(jù)遷移和實(shí)例,根據(jù)數(shù)據(jù)庫(kù)部署節(jié)點(diǎn)屬性及故障程度,可選擇不同的方式進(jìn)行數(shù)據(jù)恢復(fù)。在進(jìn)行物理備份時(shí),備份文件需異地存放,可防止服務(wù)器出現(xiàn)硬盤故障,造成數(shù)據(jù)丟失。實(shí)踐表明,邏輯備份和物理備份的有效結(jié)合,可提高地球物理Oracle數(shù)據(jù)庫(kù)運(yùn)行的穩(wěn)定性。目前,河北地球物理臺(tái)網(wǎng)臺(tái)站節(jié)點(diǎn)的Oracle數(shù)據(jù)庫(kù)備份自動(dòng)化程度低,需加強(qiáng)軟件開(kāi)發(fā),提高省局運(yùn)維工作的自動(dòng)化管理。