優(yōu)勝?gòu)倪x擇開始,我們是您最好的選擇!—— 中州期刊聯(lián)盟(新鄉(xiāng)市博翰文化傳媒有限公司)
0373-5939925
2851259250@qq.com
我要檢測(cè) 我要投稿 合法期刊查詢
您的位置:網(wǎng)站首頁 > 優(yōu)秀論文 > 正文

基于Oracle11g的集裝箱碼頭TOS系統(tǒng)

作者:梁海玉、李春暉、杜敏來源:日期:2014-09-12人氣:3463

摘要:隨著集裝箱碼頭業(yè)務(wù)量的增長(zhǎng),在碼頭TOS(Tape Operating System)數(shù)據(jù)庫應(yīng)用中,經(jīng)常會(huì)有一些幾十GB,上百GB的數(shù)據(jù)表。年吞吐量越大的碼頭,TOS系統(tǒng)的數(shù)據(jù)增長(zhǎng)量越大。這些大數(shù)據(jù)量表的設(shè)計(jì),維護(hù)及其備份都是TOS系統(tǒng)數(shù)據(jù)庫管理中的重點(diǎn)及其難點(diǎn)。本文就從設(shè)計(jì)、維護(hù)及其備份方面探討一下大數(shù)據(jù)量表的管理,并利用Oracle11g的最新特性,為碼頭用戶提供更加智能、高效的大數(shù)據(jù)清理及轉(zhuǎn)儲(chǔ)解決方案。

關(guān)鍵詞:TOS;數(shù)據(jù)倉庫;數(shù)據(jù)清理;數(shù)據(jù)轉(zhuǎn)儲(chǔ) 

一、引言

隨著集裝箱碼頭生產(chǎn)系統(tǒng)生產(chǎn)數(shù)據(jù)的增長(zhǎng),系統(tǒng)的運(yùn)行速度會(huì)隨之下降。數(shù)據(jù)量的增長(zhǎng),會(huì)降低數(shù)據(jù)庫檢索及插入新數(shù)據(jù)的效率。對(duì)于數(shù)據(jù)清理及轉(zhuǎn)儲(chǔ)的傳統(tǒng)方式,首先我們需要先把歷史數(shù)據(jù)先備份下來,然后在刪除對(duì)應(yīng)的數(shù)據(jù)庫表記錄。為了保證數(shù)據(jù)的一致性,我們?cè)谧鰯?shù)據(jù)清理前還需要將數(shù)據(jù)庫的表空間進(jìn)行鎖定;同時(shí)還要將需要清理及轉(zhuǎn)儲(chǔ)的表對(duì)應(yīng)的觸發(fā)器禁止掉。集裝箱碼頭是24小時(shí)運(yùn)營(yíng)的。停產(chǎn)將導(dǎo)致給碼頭帶來一定的經(jīng)濟(jì)損失。那么如何保證在不中斷用戶業(yè)務(wù)的前提下,能夠?qū)④浖到y(tǒng)的歷史數(shù)據(jù)進(jìn)行清理并保證數(shù)據(jù)可恢復(fù)呢?用戶對(duì)數(shù)據(jù)清理及轉(zhuǎn)儲(chǔ)的需求是什么?基于Oracle11g的轉(zhuǎn)儲(chǔ)原理,能給用戶帶來什么樣的好處?本文將圍繞這些問題進(jìn)行討論,并介紹采用這種方式后,數(shù)據(jù)轉(zhuǎn)儲(chǔ)的整個(gè)過程。

二、數(shù)據(jù)轉(zhuǎn)儲(chǔ)原理及方式

Oracle8i以后推出了分區(qū)選項(xiàng)。分區(qū)將表分離在若干不同的表空間上,用分而治之的方法來支撐元先膨脹的大表,組大表在物理一級(jí)的可管理性.將大表分割成較小的分區(qū)可以改善表的維護(hù)、備份、恢復(fù)、事務(wù)及查詢性能。采用表分區(qū)將數(shù)據(jù)按時(shí)間隔離。然后根據(jù)時(shí)間段,對(duì)歷史數(shù)據(jù)進(jìn)行清理。當(dāng)表中的數(shù)據(jù)量不斷增大,查詢數(shù)據(jù)的速度就會(huì)變慢,應(yīng)用程序的性能就會(huì)下降,這時(shí)就該考慮對(duì)表進(jìn)行分區(qū)。對(duì)表進(jìn)行分區(qū)之后,在邏輯上表仍然是一張完整的表,只是將表中的數(shù)據(jù)在物理上存放到多個(gè)表空間上,這樣查詢數(shù)據(jù)時(shí),不至于每次都掃描整張表。因此,我們只需要按表記錄時(shí)間做分區(qū)。清理及轉(zhuǎn)儲(chǔ)時(shí),只需要將不需要的歷史數(shù)據(jù)按年進(jìn)行drop即可。執(zhí)行的時(shí)間快,而且不需要對(duì)表空間進(jìn)行鎖定和禁止表觸發(fā)器。用戶完全體驗(yàn)不到數(shù)據(jù)庫有任何變化。用戶也無需中斷當(dāng)前生產(chǎn)作業(yè)。

我們?cè)跀?shù)據(jù)清理和轉(zhuǎn)儲(chǔ)前可以有選擇的對(duì)將被清理的數(shù)據(jù)進(jìn)行數(shù)據(jù)備份。本文建議可以采用以下2種方式:(1)將數(shù)據(jù)備份到磁帶機(jī)上或?qū)?yīng)的其它存儲(chǔ)設(shè)備上。在需要的時(shí)候,導(dǎo)入到臨時(shí)數(shù)據(jù)庫。(2)將需要轉(zhuǎn)儲(chǔ)數(shù)據(jù)遷移到數(shù)據(jù)倉庫。用戶可對(duì)數(shù)據(jù)倉庫的數(shù)據(jù)查詢、數(shù)據(jù)的挖掘、處理。(3)可以自動(dòng)化、智能化的對(duì)數(shù)據(jù)進(jìn)行清理及轉(zhuǎn)儲(chǔ)。對(duì)于非關(guān)鍵數(shù)據(jù)和關(guān)鍵數(shù)據(jù),可以分別根據(jù)月份、年份清理相關(guān)的數(shù)據(jù)。

三、數(shù)據(jù)分區(qū)

3.1分區(qū)的依據(jù)

單表輸入容量超過2GB的情況下應(yīng)該進(jìn)行分區(qū);對(duì)包含歷史數(shù)據(jù)輸入的表應(yīng)該進(jìn)行分區(qū),所謂包含歷史數(shù)據(jù)是指新的數(shù)據(jù)將會(huì)被放到最新的分區(qū)里面。一個(gè)典型的例子是一個(gè)表只有當(dāng)前月份的數(shù)據(jù)可以更新,但是其余月份的處于只讀狀態(tài)。

3.2分區(qū)的好處

增強(qiáng)可用性:如果表的一個(gè)分區(qū)由于系統(tǒng)故障而不能使用,表的其余分區(qū)可以使用;減少關(guān)閉時(shí)間:如果系統(tǒng)故障只影響表的一部份分區(qū),那么只有這部份分區(qū)需要修復(fù),可能比整個(gè)大表修復(fù)花的時(shí)間更少;維護(hù)輕松:如果需要得建表,獨(dú)產(chǎn)管理每個(gè)公區(qū)比管理單個(gè)大表要輕松得多;均衡I/O:可以把表的不同分區(qū)分配到不同的磁盤來平衡I/O改善性能;改善性能:對(duì)大表的查詢、增加、修改等操作可以分解到表的不同分區(qū)來并行執(zhí)行,可使運(yùn)行速度更快,在數(shù)據(jù)倉庫的TP查詢特別有用;分區(qū)對(duì)用戶透明:最終用戶感覺不到分區(qū)的存在。

3.3分區(qū)的方法

分區(qū)類型

分區(qū)依據(jù)

應(yīng)用范圍

范圍分區(qū)

使用數(shù)據(jù)表中某列或某幾列的值域作為分區(qū)條件。根據(jù)某個(gè)值的范圍,決定將該數(shù)據(jù)存儲(chǔ)在哪個(gè)分區(qū)上。

有明顯值域劃分的應(yīng)用。由于每個(gè)分區(qū)值域范圍的限定,每個(gè)分區(qū)的數(shù)據(jù)命中率可能不盡相同。

列表分區(qū)

使用表中某列或某幾列的值作為分區(qū)條件。每個(gè)分區(qū)的值等于一個(gè)或多個(gè)特定的離散值。

適用于無明顯排序規(guī)律,但可根據(jù)某離散值進(jìn)行分組的應(yīng)用

Hash分區(qū)

將存儲(chǔ)的數(shù)據(jù)對(duì)某列或某幾列進(jìn)行條帶化分割,按照哈希算法將數(shù)據(jù)打散,使其均勻地分布在若干個(gè)存儲(chǔ)分區(qū)中,優(yōu)化存儲(chǔ)。

用在既無明顯排序規(guī)律,又無離散值分組規(guī)律,但又希望使用分區(qū)技術(shù)特性的應(yīng)用。

復(fù)合分區(qū)

用兩個(gè)數(shù)據(jù)分布辦法來創(chuàng)建分區(qū),首先通過第一個(gè)數(shù)據(jù)分布辦法進(jìn)行初始化分區(qū),然后每個(gè)分區(qū)再通過第二個(gè)辦法分成子分區(qū)

 

典型的復(fù)合分區(qū)包括:范圍-哈希,范圍-列表,范圍-范圍,列表-范圍,列表-列表,列表-哈希

 

四、TOS歷史數(shù)據(jù)的清理及轉(zhuǎn)儲(chǔ)過程

TOS歷史數(shù)據(jù)的清理及轉(zhuǎn)儲(chǔ)過程分為四步:(1)選擇需要轉(zhuǎn)儲(chǔ)的數(shù)據(jù)。可以按年或按月進(jìn)行清理。非關(guān)鍵數(shù)據(jù)建議按月進(jìn)行清理,關(guān)鍵生產(chǎn)數(shù)據(jù)建議按年進(jìn)行清理。比如:當(dāng)前是2014年1月份。用戶希望碼頭生產(chǎn)系統(tǒng)只保留12個(gè)月的數(shù)據(jù)。因此,我們可以把時(shí)間小于2013年01月之前的數(shù)據(jù)清除掉。(2)導(dǎo)出轉(zhuǎn)儲(chǔ)數(shù)據(jù)在刪除前,使用oracle自帶的expdp和exp工具導(dǎo)出對(duì)應(yīng)的數(shù)據(jù)。如果出現(xiàn)誤操作或用戶希望對(duì)清理后的數(shù)據(jù)查詢時(shí),對(duì)數(shù)據(jù)進(jìn)行恢復(fù)。(3)數(shù)據(jù)清理(4)數(shù)據(jù)恢復(fù),用戶如果希望對(duì)轉(zhuǎn)儲(chǔ)后的數(shù)據(jù)進(jìn)行查詢,可以利用oracle數(shù)據(jù)庫自帶的工具Impdp和Imp,在服務(wù)端或客戶端兩種方式將備份出來的數(shù)據(jù)導(dǎo)入指定數(shù)據(jù)庫進(jìn)行數(shù)據(jù)恢復(fù)。

參考文獻(xiàn)

[1]Jujay.一個(gè)利用傳輸表空間和分區(qū)交換技術(shù)進(jìn)行數(shù)據(jù)遷移的案例.ATAGURE.2012,(12)

[2]Luocs.Oracle分區(qū)擴(kuò)展-3分區(qū)表的索引維護(hù).LuocusTechnologyBlog.2013,(1)

[3]KarenReliford.OracleDatabase11gNewFeaturesforTablePartitioning.DatabaseJournal.2010,(1)

 

網(wǎng)絡(luò)客服QQ: 沈編輯

投訴建議:0373-5939925????投訴建議QQ:

招聘合作:2851259250@qq.com (如您是期刊主編、文章高手,可通過郵件合作)

地址:河南省新鄉(xiāng)市金穗大道東段266號(hào)中州期刊聯(lián)盟 ICP備案號(hào):豫ICP備2020036848

【免責(zé)聲明】:中州期刊聯(lián)盟所提供的信息資源如有侵權(quán)、違規(guī),請(qǐng)及時(shí)告知。

版權(quán)所有:中州期刊聯(lián)盟(新鄉(xiāng)市博翰文化傳媒有限公司)

關(guān)注”中州期刊聯(lián)盟”公眾號(hào)
了解論文寫作全系列課程

核心期刊為何難發(fā)?

論文發(fā)表總嫌貴?

職院?jiǎn)挝话l(fā)核心?

掃描關(guān)注公眾號(hào)

論文發(fā)表不再有疑惑

論文寫作全系列課程

掃碼了解更多

輕松寫核心期刊論文

在線留言