亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        GeoEast數(shù)據(jù)庫調(diào)優(yōu)技術(shù)研究與應(yīng)用

        2019-07-08 03:44:41張潔趙玉梅史哲張紅杰張衛(wèi)華尹龍
        計算機(jī)時代 2019年5期
        關(guān)鍵詞:Oracle數(shù)據(jù)庫

        張潔 趙玉梅 史哲 張紅杰 張衛(wèi)華 尹龍

        摘? 要: 隨著地震勘探精度不斷提高,野外勘探數(shù)據(jù)量逐年增大,GeoEast系統(tǒng)中運行的項目數(shù)據(jù)量呈PB級增長。Oracle服務(wù)器負(fù)載過重導(dǎo)致假死和死機(jī)、監(jiān)聽服務(wù)異常給GeoEast項目的正常運行帶來了重重困難。針對上述問題,從GeoEast數(shù)據(jù)庫調(diào)優(yōu)技術(shù)的研究入手,分析造成Oracle負(fù)載重的各項因素,以及對不同場景下監(jiān)聽狀態(tài)的判斷等,歸納出一些數(shù)據(jù)庫調(diào)優(yōu)技術(shù)和方法,以作參考。

        關(guān)鍵詞: GeoEast; Oracle數(shù)據(jù)庫; Oracle監(jiān)聽; 作業(yè)調(diào)度

        中圖分類號:TP311.5? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ?文章編號:1006-8228(2019)05-12-04

        Abstract: With the increasing accuracy of seismic exploration, the amount of field exploration data has increased year by year, and the amount of project data running in the GeoEast system has increased by PB level. Excessive load on the Oracle server leads to suspended animation and crash, and the abnormality of the listening service brings difficulties to the normal operation of the GeoEast project. In order to solve above problems, this paper starts with the research of GeoEast database tuning technology, analyzes the factors that cause the heavy load of Oracle and the judgment of the monitoring state in different scenarios, and summarizes some database tuning techniques and methods for future reference.

        Key words: GeoEast; Oracle database; Oracle listener; job scheduling

        0 引言

        近年來,隨著油氣勘探的不斷深入,油田開發(fā)對地震數(shù)據(jù)的精度要求越來越高,地震勘探逐步朝著高密度、寬頻帶、全波場方向發(fā)展,地震勘探數(shù)據(jù)量呈幾何級數(shù)增長。GeoEast系統(tǒng)作為國內(nèi)首款由中國石油集團(tuán)東方地球物理公司自主研發(fā)的大型地震資料處理解釋一體化軟件[1],在廣泛應(yīng)用于海量地震數(shù)據(jù)處理的同時,也面臨著一些挑戰(zhàn)。在GeoEast系統(tǒng)中,Oracle數(shù)據(jù)庫起著至關(guān)重要的作用。其數(shù)據(jù)庫保存了所有項目、工區(qū)的信息,以及需要進(jìn)行大量計算的近地表信息。在GeoEast軟件中,幾乎所有的操作都要通過數(shù)據(jù)庫來進(jìn)行。一旦數(shù)據(jù)庫中有大量運算產(chǎn)生,就會使數(shù)據(jù)庫節(jié)點發(fā)生堵塞甚至假死,造成整套GeoEast系統(tǒng)停滯或者無法使用。如果數(shù)據(jù)庫因異常中斷或服務(wù)器死機(jī)等原因而發(fā)生損壞,將會對項目造成致命的后果。為了提高GeoEast系統(tǒng)運行效率,需要結(jié)合生產(chǎn)現(xiàn)狀對數(shù)據(jù)庫調(diào)優(yōu)技術(shù)進(jìn)行分析與研究,以滿足GeoEast海量數(shù)據(jù)處理的需求。

        1 GeoEast數(shù)據(jù)庫負(fù)載的自動控制

        目前一套數(shù)據(jù)庫服務(wù)器上往往有多個GeoEast項目同時運行,生產(chǎn)項目所使用的集群計算節(jié)點數(shù)量多達(dá)上百臺,項目總數(shù)據(jù)量呈PB級,同時運行的作業(yè)數(shù)量成百上千[2],這些都給數(shù)據(jù)庫服務(wù)器的運行帶來了巨大的壓力。針對這些問題做了大量的研究與測試,并提出了一定的優(yōu)化技術(shù)解決方案。

        1.1 存在的問題

        在GeoEast使用中,數(shù)據(jù)庫服務(wù)器往往出現(xiàn)CPU負(fù)載大、內(nèi)存消耗大、數(shù)據(jù)庫連接進(jìn)程多等現(xiàn)象,產(chǎn)生這種現(xiàn)象的根本原因是由于系統(tǒng)中同時有大量的作業(yè)在運行,服務(wù)器負(fù)載過重,造成系統(tǒng)反應(yīng)慢甚至服務(wù)器死機(jī)[3]。情況嚴(yán)重的話會導(dǎo)致整套集群所有計算節(jié)點全部空轉(zhuǎn)、GeoEast軟件無法進(jìn)行交互操作、所有作業(yè)全部停滯無法運行等后果。

        1.2 負(fù)載控制解決方案

        1.2.1 GeoEast數(shù)據(jù)庫負(fù)載影響因素分析及閾值設(shè)置

        通過對影響GeoEast數(shù)據(jù)庫負(fù)載的因素進(jìn)行大量的測試與分析,歸納總結(jié)出四種與數(shù)據(jù)庫服務(wù)器負(fù)載緊密相關(guān)的主要因素:數(shù)據(jù)庫進(jìn)程數(shù)、系統(tǒng)負(fù)載、CPU利用率以及內(nèi)存利用率。對各項因素設(shè)置高低閾值范圍。

        ⑴ Oracle進(jìn)程數(shù):數(shù)據(jù)庫相關(guān)進(jìn)程總數(shù)。GeoEast系統(tǒng)在作業(yè)多、數(shù)據(jù)量大的情況下會與數(shù)據(jù)庫之間頻繁地進(jìn)行通訊,產(chǎn)生多個訪問oracle數(shù)據(jù)庫的進(jìn)程。如果數(shù)據(jù)庫進(jìn)程數(shù)過多,則會對軟件、oracle服務(wù)器產(chǎn)生巨大的壓力。結(jié)合GeoEast大數(shù)據(jù)的處理現(xiàn)狀,經(jīng)過反復(fù)的測試和運用,在滿足生產(chǎn)和機(jī)器性能的條件下建議將該因素低閾值設(shè)置為13500,高閾值設(shè)置為14000。

        ⑵ 系統(tǒng)負(fù)載:系統(tǒng)CPU繁忙程度的度量,即一段時間內(nèi)CPU正在處理以及等待CPU處理的進(jìn)程數(shù)之和的統(tǒng)計信息。若服務(wù)器核心數(shù)為N,則建議將負(fù)載指標(biāo)低閾值設(shè)置為N,高閾值設(shè)置為N+2。該指標(biāo)可根據(jù)設(shè)備實際配置和作業(yè)運行情況進(jìn)行調(diào)整[4]。

        ⑶ CPU利用率:程序在運行期間實時占用的CPU百分比。建議將GeoEast數(shù)據(jù)庫服務(wù)器CPU利用率低閾值設(shè)定為70%,高閾值設(shè)定為80%,超過高閾值后系統(tǒng)響應(yīng)變慢,整體性能有明顯下降。

        ⑷ 內(nèi)存利用率:進(jìn)程實際所開銷的內(nèi)存百分比。當(dāng)軟件與數(shù)據(jù)庫之間的通訊進(jìn)程較多時,會出現(xiàn)內(nèi)存被耗盡而去調(diào)用swap交互區(qū)的情況,從而直接影響到軟件系統(tǒng)的整體性能,無論是作業(yè)的速度還是軟件的交互效率,都會受到嚴(yán)重的影響。建議設(shè)置內(nèi)存利用率低閾值80%,高閾值90%。

        1.2.2 GeoEast作業(yè)調(diào)度機(jī)制

        GeoEast系統(tǒng)中作業(yè)的調(diào)度與分發(fā)是通過GJSF(GeoEast Job Scheduling Facility)系統(tǒng)實現(xiàn)的。作業(yè)調(diào)度主控程序jsfserver負(fù)責(zé)監(jiān)聽各個計算節(jié)點的資源連接請求,同時負(fù)責(zé)與各節(jié)點控制程序和各控制臺程序進(jìn)行通信,完成作業(yè)/節(jié)點的管控、管理命令的執(zhí)行,以及各種事件的派發(fā)等。計算節(jié)點控制程序nodectrl負(fù)責(zé)收集本節(jié)點以及本節(jié)點上所有活躍作業(yè)的資源使用狀況,監(jiān)控各作業(yè)的運行狀態(tài),收集各作業(yè)的標(biāo)準(zhǔn)輸出,并以報告的形式發(fā)送給調(diào)度服務(wù)器;負(fù)責(zé)執(zhí)行調(diào)度服務(wù)器發(fā)送的各種系統(tǒng)管理命令和作業(yè)管理命令;負(fù)責(zé)與協(xié)同式作業(yè)進(jìn)行通信,完成相關(guān)消息的接收、轉(zhuǎn)發(fā)和處理[5]。如果可以根據(jù)數(shù)據(jù)庫服務(wù)器實時的運行狀況動態(tài)地控制系統(tǒng)中的作業(yè)調(diào)度,在數(shù)據(jù)庫負(fù)載高的時候?qū)⒄{(diào)度中新分配的作業(yè)狀態(tài)轉(zhuǎn)為queue排隊等待狀態(tài),在數(shù)據(jù)庫負(fù)載降低的時候?qū)⑴抨牭淖鳂I(yè)恢復(fù)成active正常運行狀態(tài),可有效降低因作業(yè)數(shù)量過多而可能造成的服務(wù)器死機(jī)的風(fēng)險。

        1.2.3 通過作業(yè)調(diào)度控制數(shù)據(jù)庫負(fù)載

        根據(jù)上面總結(jié)的四種與數(shù)據(jù)庫負(fù)載相關(guān)的主要因素,通過程序的編寫,對各項指標(biāo)設(shè)置高低閾值,從而動態(tài)控制服務(wù)器上的作業(yè)調(diào)度,實現(xiàn)數(shù)據(jù)庫負(fù)載的自動調(diào)節(jié)(圖1)。

        每個因素指標(biāo)都有高、低兩個閾值,當(dāng)任意一項指標(biāo)達(dá)到高閾值時,服務(wù)器會掛起GJSF作業(yè)調(diào)度;當(dāng)所有指標(biāo)回落到低閾值以下時,服務(wù)器自動恢復(fù)GJSF作業(yè)調(diào)度。通過控制作業(yè)數(shù)量避免數(shù)據(jù)庫服務(wù)器超負(fù)荷運行,從而保證整套GeoEast系統(tǒng)正常運行。

        1.2.4 過期進(jìn)程清理

        GeoEast一些過期卻沒有正常退出的進(jìn)程往往占用了大量的數(shù)據(jù)庫進(jìn)程,如圖2中,一個打開超過半個月的交互界面沒有正常退出占用了312個數(shù)據(jù)庫連接數(shù)。這一類型的過期進(jìn)程如果在系統(tǒng)中大量存在也會造成數(shù)據(jù)庫進(jìn)程過多導(dǎo)致數(shù)據(jù)庫服務(wù)器性能下降。

        針對這一類情況,通過編程實現(xiàn)每天固定時間自動查殺超過7天的sjob、thjob等作業(yè)和GeoSeismicView、jobeditor、GeoJobConsole等進(jìn)程,釋放一些不需要的數(shù)據(jù)庫進(jìn)程。

        1.3 應(yīng)用效果

        通過負(fù)載自動調(diào)節(jié)技術(shù),數(shù)據(jù)庫服務(wù)器假死或死機(jī)的頻率大幅降低,對數(shù)據(jù)庫服務(wù)器進(jìn)行監(jiān)控可以看到,調(diào)優(yōu)前數(shù)據(jù)庫服務(wù)器CPU的系統(tǒng)開銷極大,而用戶實際開銷很小,內(nèi)存損耗大,swap分區(qū)占用率高,整個系統(tǒng)響應(yīng)速度緩慢。而調(diào)優(yōu)后各項數(shù)值都明顯下降,數(shù)據(jù)庫服務(wù)器死機(jī)風(fēng)險大大降低,系統(tǒng)的運行效率提高,達(dá)到了滿意的效果(圖3)。

        2 GeoEast數(shù)據(jù)庫監(jiān)聽進(jìn)程的自動控制

        2.1 研究背景

        2.1.1 數(shù)據(jù)庫監(jiān)聽的作用

        數(shù)據(jù)庫監(jiān)聽進(jìn)程用于監(jiān)聽所有來自客戶端的連接請求,并提供處理數(shù)據(jù)庫服務(wù)方面的請求。該進(jìn)程負(fù)責(zé)監(jiān)聽用戶的連接請求,每當(dāng)收到一個用戶請求,監(jiān)聽器進(jìn)程就會創(chuàng)建一個影子進(jìn)程,然后把用戶請求轉(zhuǎn)交給這個影子進(jìn)程,由影子進(jìn)程繼續(xù)完成用戶提交的各種命令。一旦監(jiān)聽進(jìn)程把用戶轉(zhuǎn)交給影子進(jìn)程,監(jiān)聽進(jìn)程的任務(wù)就算完成了,會繼續(xù)去監(jiān)聽下一個用戶請求。

        2.1.2 數(shù)據(jù)庫監(jiān)聽故障的影響

        在GeoEast系統(tǒng)中,數(shù)據(jù)庫監(jiān)聽一旦出現(xiàn)故障,會導(dǎo)致作業(yè)與數(shù)據(jù)庫連接異常、用戶打不開文件及應(yīng)用模塊、GeoEast作業(yè)出錯、已打開的geoeast主控?zé)o響應(yīng)等情況,導(dǎo)致整套軟件無法正常運行[6]。

        2.2 監(jiān)聽自動控制的實現(xiàn)

        2.2.1 監(jiān)聽狀態(tài)四種場景

        根據(jù)監(jiān)聽服務(wù)的運行狀態(tài)、監(jiān)聽進(jìn)程個數(shù)的判斷可以將數(shù)據(jù)庫的監(jiān)聽狀況大致分為以下四種場景:

        ⑴ 監(jiān)聽服務(wù)運行正常,監(jiān)聽進(jìn)程個數(shù)異常;

        ⑵ 監(jiān)聽服務(wù)運行異常,監(jiān)聽進(jìn)程個數(shù)正常;

        ⑶ 監(jiān)聽服務(wù)運行異常,監(jiān)聽進(jìn)程個數(shù)異常;

        ⑷ 沒有檢測到監(jiān)聽服務(wù)。

        四種場景下監(jiān)聽的狀態(tài)各不相同,需要針對實際情況進(jìn)行監(jiān)聽的動態(tài)控制。

        2.2.2 監(jiān)聽服務(wù)狀態(tài)判定

        通過程序的編寫,對數(shù)據(jù)庫監(jiān)聽服務(wù)狀態(tài)是否正常進(jìn)行檢查,再對監(jiān)聽數(shù)量進(jìn)行檢查(見圖4),根據(jù)不同場景選擇是否啟動、停止、重啟監(jiān)聽服務(wù),并生成監(jiān)聽檢查日志。

        2.3 應(yīng)用效果

        通過對監(jiān)聽服務(wù)自動控制,可以實現(xiàn)不同狀態(tài)下監(jiān)聽服務(wù)的保護(hù)。

        應(yīng)用1:監(jiān)聽狀態(tài)正常,但監(jiān)聽進(jìn)程個數(shù)異常,自動殺掉多余的監(jiān)聽進(jìn)程。

        應(yīng)用2:監(jiān)聽狀態(tài)異常,但監(jiān)聽進(jìn)程個數(shù)正常,自動重啟監(jiān)聽進(jìn)程。

        應(yīng)用3:監(jiān)聽狀態(tài)異常,且監(jiān)聽進(jìn)程個數(shù)也異常,自動重啟監(jiān)聽進(jìn)程,并殺掉多余的監(jiān)聽進(jìn)程。

        應(yīng)用4:當(dāng)沒有檢測到監(jiān)聽進(jìn)程時,自動啟動監(jiān)聽進(jìn)程。

        3 結(jié)束語

        隨著地震資料兩寬一高處理技術(shù)的不斷進(jìn)步和野外原始數(shù)據(jù)量的不斷增大,隨之而來的海量數(shù)據(jù)給數(shù)據(jù)庫服務(wù)器帶來的各種挑戰(zhàn)和影響一直是GeoEast系統(tǒng)運維工作的一個難點。本文經(jīng)過不斷的摸索與研究,通過閾值檢測控制作業(yè)調(diào)度的方法實現(xiàn)了GeoEast數(shù)據(jù)庫負(fù)載的自動控制,通過不同場景下監(jiān)聽狀態(tài)與個數(shù)的掃描,實現(xiàn)了數(shù)據(jù)庫監(jiān)聽進(jìn)程的自動控制,大大降低了GeoEast數(shù)據(jù)庫故障率,提高了數(shù)據(jù)庫的運行效率。該技術(shù)適用于所有的GeoEast數(shù)據(jù)庫服務(wù)器,具有良好的推廣應(yīng)用前景。此外,在GeoEast數(shù)據(jù)庫參數(shù)調(diào)優(yōu)方面還存在提升空間,有待于我們結(jié)合實際生產(chǎn)進(jìn)一步探索與研究。

        參考文獻(xiàn)(References):

        [1] 徐少波,白雪蓮,曾強(qiáng),林茂春,黃燕,潘煥革.GeoEast地震數(shù)據(jù)處理解釋一體化軟件系統(tǒng)[J].石油工業(yè)計算機(jī)應(yīng)用,2016.3(24):6-P11

        [2] 尹龍,張衛(wèi)華,程實,郭冶,梁妍,牛犇.大規(guī)模計算機(jī)集群在地震勘探資料處理中的應(yīng)用探討[J].計算機(jī)時代,2016.8:1-P3

        [3] 龔莉,趙玉梅,張紅杰,鄭玉霞,劉宗祥.GeoEast海量數(shù)據(jù)處理資源優(yōu)化配置技術(shù)研究與應(yīng)用[J].計算機(jī)光盤軟件與應(yīng)用,2014.6:101-103

        [4] 陳繼紅,趙書華,祝寬海,王仕檢.優(yōu)化系統(tǒng)配置提高GeoEast系統(tǒng)運行效率[J].物探裝備,2010.4(20):219-222

        [5] 羅剛,陳繼紅,孫孝萍,周坤,杜吉國.大規(guī)模異構(gòu)集群地震作業(yè)調(diào)度與資源管理系統(tǒng)的設(shè)計與實現(xiàn)[J].石油地球物理勘探,2017.52:200-206

        [6] 劉峰.Linux下Oracle集群常見問題及解決策略[J].計算機(jī)光盤軟件與應(yīng)用,2012.6:38-39

        猜你喜歡
        Oracle數(shù)據(jù)庫
        Oracle數(shù)據(jù)庫安全管理策略的優(yōu)化
        Oracle數(shù)據(jù)庫應(yīng)用問題與解決方案分析
        Oracle數(shù)據(jù)庫安全問題分析及策略
        Oracle數(shù)據(jù)庫的存儲結(jié)構(gòu)
        一種Oracle數(shù)據(jù)庫表空間監(jiān)控方法
        《Oracle數(shù)據(jù)庫》課程教學(xué)模式探究 
        基于ORACLE數(shù)據(jù)庫應(yīng)用系統(tǒng)的優(yōu)化途徑研究
        虛擬機(jī)技術(shù)在Oracle數(shù)據(jù)庫中的探討與應(yīng)用研究
        Oracle數(shù)據(jù)庫備份與恢復(fù)的理論基礎(chǔ)
        科技視界(2016年1期)2016-03-30 22:11:50
        Oracle數(shù)據(jù)庫性能調(diào)整與優(yōu)化分析
        科技視界(2016年1期)2016-03-30 14:27:50
        99在线无码精品秘 入口九色| 亚洲av无码一区二区三区观看| 亚洲中久无码永久在线观看同 | 国产chinese在线视频| 久久精品国产亚洲av专区| 丰满人妻一区二区三区视频| 欧洲女人性开放免费网站| 亚洲日本va99在线| 搞黄色很刺激的网站二区| 久久婷婷五月综合色高清| 亚洲国产韩国欧美在线| 国产精品三级在线专区1| 国产一区二区三区成人av| 天天做天天爱夜夜爽| 99精品国产兔费观看久久99| 久久91精品国产91久| 国产精品亚洲综合久久系列| 午夜男女很黄的视频| 最新69国产成人精品视频免费| av永久天堂一区二区三区蜜桃| 精品国产中文字幕久久久| 精品国产一二三产品区别在哪| 国产中文制服丝袜另类| 中文字幕色婷婷在线视频| 97se色综合一区二区二区| 色婷婷久久一区二区三区麻豆| 久久久亚洲精品午夜福利| 熟女免费视频一区二区| 久久久久久九九99精品| 亚洲伊人久久大香线蕉综合图片| 黑丝国产精品一区二区 | 久久久久久亚洲av成人无码国产| 福利一区在线观看| 一级黄色一区二区三区视频| 无码人妻丰满熟妇区免费| 国产精品美女一区二区三区| 亚洲综合一| 涩涩鲁精品亚洲一区二区| 久久无码av中文出轨人妻| 亚洲高潮喷水中文字幕| 国产自拍一区在线视频|