• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ORACLE數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的優(yōu)化探討

      2016-08-12 02:15:34張秋鳳
      中國(guó)新通信 2016年13期
      關(guān)鍵詞:應(yīng)用系統(tǒng)Oracle數(shù)據(jù)庫(kù)

      張秋鳳

      【摘要】 本文通過(guò)對(duì)硬件性能、數(shù)據(jù)庫(kù)系統(tǒng)參數(shù)以及應(yīng)用程序等方面的闡述,總結(jié)了基于ORACLE數(shù)據(jù)庫(kù)的應(yīng)用系統(tǒng)的優(yōu)化方法。

      【關(guān)鍵詞】 oracle數(shù)據(jù)庫(kù) 應(yīng)用系統(tǒng) 數(shù)據(jù)庫(kù)優(yōu)化

      一、引言

      某政府機(jī)關(guān)內(nèi)、外網(wǎng)部署了大量的業(yè)務(wù)應(yīng)用系統(tǒng),數(shù)據(jù)庫(kù)主要采用ORACLE數(shù)據(jù)庫(kù)。軟硬件已經(jīng)使用7-8年以上,數(shù)據(jù)庫(kù)每天都在更新。隨著應(yīng)用系統(tǒng)的增加和業(yè)務(wù)數(shù)據(jù)量的增長(zhǎng),導(dǎo)致整個(gè)Oracle數(shù)據(jù)庫(kù)系統(tǒng)的性能不斷下降。為了保證這些信息系統(tǒng)能夠高效運(yùn)行,需要進(jìn)行性能優(yōu)化調(diào)整。本文通過(guò)對(duì)硬件性能、數(shù)據(jù)庫(kù)系統(tǒng)參數(shù)以及應(yīng)用程序等方面進(jìn)行有效性的操作優(yōu)化,來(lái)提升業(yè)務(wù)應(yīng)用系統(tǒng)的性能。

      二、基于ORACLE數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的優(yōu)化

      本文探討的是從硬件性能、數(shù)據(jù)庫(kù)、應(yīng)用程序方面進(jìn)行優(yōu)化,以便提高Oracle數(shù)據(jù)庫(kù)的性能效率,對(duì)業(yè)務(wù)應(yīng)用系統(tǒng)進(jìn)行整體優(yōu)化。

      2.1硬件性能的優(yōu)化

      硬件設(shè)計(jì)時(shí)要考慮承載能力和生命周期,同時(shí)通過(guò)調(diào)整相關(guān)的參數(shù)設(shè)置,確保硬件提供給業(yè)務(wù)應(yīng)用系統(tǒng)充足的資源。

      2.1.1服務(wù)器磁盤(pán)的優(yōu)化

      設(shè)定虛擬內(nèi)存、檢查應(yīng)用軟件或者驅(qū)動(dòng)程序、減少桌面圖標(biāo)、減少字體種數(shù)、刪除隨機(jī)啟動(dòng)程序、取消背景和關(guān)閉activedesktop。關(guān)注磁盤(pán)錯(cuò)誤信息和磁盤(pán)空間大小的變化,必要時(shí)增加磁盤(pán)容量。

      2.1.2服務(wù)器CPU的優(yōu)化

      檢查空閑期間、高峰期間以及平均的CPU利用率。建議峰值在85%以下。如果CPU的利用率過(guò)高,增加一定數(shù)量的CPU來(lái)解決利用率過(guò)高的問(wèn)題。

      2.1.3服務(wù)器內(nèi)存的優(yōu)化

      改變頁(yè)面文件的位置、改變頁(yè)面文件的大小、禁用頁(yè)面文件、清空頁(yè)面文件、調(diào)整高速緩存區(qū)域的大小、監(jiān)視內(nèi)存以及及時(shí)釋放內(nèi)存空間、優(yōu)化內(nèi)存中的數(shù)據(jù),并且可以采用一些優(yōu)化軟件來(lái)優(yōu)化內(nèi)存,使得緩存、內(nèi)存達(dá)到一個(gè)穩(wěn)定值。

      2.1.4網(wǎng)絡(luò)的優(yōu)化

      網(wǎng)絡(luò)優(yōu)化是指通過(guò)各種硬件或軟件技術(shù)使網(wǎng)絡(luò)性能達(dá)到我們需要的最佳平衡點(diǎn)。要保證網(wǎng)絡(luò)上的帶寬流量和網(wǎng)絡(luò)的速度。應(yīng)用程序有C/S , B/S模式。C/S模式應(yīng)用程序的客戶(hù)端應(yīng)用程序之間網(wǎng)絡(luò)吞吐量大,引起的網(wǎng)絡(luò)I/O小,數(shù)據(jù)庫(kù)性能強(qiáng)。

      2.2數(shù)據(jù)庫(kù)設(shè)計(jì)的優(yōu)化

      2.2.1調(diào)整數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)

      開(kāi)發(fā)信息系統(tǒng)之前要完成數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),需要考慮是否使用Oracle數(shù)據(jù)庫(kù)的分區(qū)功能,對(duì)于信息系統(tǒng)經(jīng)常訪(fǎng)問(wèn)的數(shù)據(jù)庫(kù)表是否需要建立索引等。根據(jù)使用方式和物理結(jié)構(gòu)對(duì)數(shù)據(jù)庫(kù)的影響,對(duì)數(shù)據(jù)庫(kù)中的邏輯對(duì)象進(jìn)行分類(lèi)(包括將系統(tǒng)數(shù)據(jù)和用戶(hù)數(shù)據(jù)分開(kāi)、一般數(shù)據(jù)和索引數(shù)據(jù)分開(kāi)、低活動(dòng)表和高活動(dòng)表分開(kāi)等等)。數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的結(jié)果應(yīng)當(dāng)符合如下準(zhǔn)則:(1)把以同樣方式使用的段類(lèi)型存儲(chǔ)在一起;(2)按照標(biāo)準(zhǔn)使用來(lái)設(shè)計(jì)系統(tǒng);(3)存在用于例外的分離區(qū)域;(4)最小化表空間沖突;(5)將數(shù)據(jù)字典分離。

      2.2.2調(diào)整數(shù)據(jù)庫(kù)SQL語(yǔ)句

      應(yīng)用程序的執(zhí)行最終將歸結(jié)為數(shù)據(jù)庫(kù)中的SQL語(yǔ)句執(zhí)行,因此SQL語(yǔ)句的執(zhí)行效率最終決定了Oracle數(shù)據(jù)庫(kù)的性能??梢圆捎肙racle公司推薦使用的Oracle語(yǔ)句優(yōu)化器(Oracle Optimizer)和行鎖管理器(Row-Level Manager)來(lái)調(diào)整優(yōu)化SQL語(yǔ)句。還可以采用下面的優(yōu)化方法:

      1)使用快照和顯形圖等分布式數(shù)據(jù)庫(kù)對(duì)象,減少對(duì)數(shù)據(jù)庫(kù)的查詢(xún)次數(shù),即減少對(duì)系統(tǒng)資源的請(qǐng)求;

      2)盡量使用相同的或非常類(lèi)似的SQL語(yǔ)句進(jìn)行查詢(xún),充分利用SQL共享池中的已經(jīng)分析的語(yǔ)法樹(shù),要查詢(xún)的數(shù)據(jù)在SGA中命中的可能性也會(huì)大大增加。

      3)避免不帶任何條件的SQL語(yǔ)句的執(zhí)行。

      4)如果對(duì)有些表中的數(shù)據(jù)有約束,在建表的SQL語(yǔ)句用描述完整性來(lái)實(shí)現(xiàn),不用SQL程序中實(shí)現(xiàn)。

      2.2.3調(diào)整服務(wù)器內(nèi)存分配

      內(nèi)存分配是在信息系統(tǒng)運(yùn)行過(guò)程中優(yōu)化配置的,可以根據(jù)數(shù)據(jù)庫(kù)運(yùn)行狀況調(diào)整數(shù)據(jù)庫(kù)系統(tǒng)全局區(qū)(SGA區(qū))的數(shù)據(jù)緩沖區(qū)、日志緩沖區(qū)和共享池的大小。還可以調(diào)整程序全局區(qū)((PGA區(qū))的大小。正確的SGA|、PGA大小的設(shè)置對(duì)數(shù)據(jù)庫(kù)的性能至關(guān)重要。

      2.2.4合理設(shè)計(jì)和管理表

      1)利用表分區(qū)。分區(qū)將數(shù)據(jù)在物理上分隔開(kāi),將不同分區(qū)的數(shù)據(jù)保存在處于不同磁盤(pán)上的數(shù)據(jù)文件里。當(dāng)對(duì)這個(gè)表進(jìn)行查詢(xún)時(shí),只需要在表分區(qū)中進(jìn)行掃描,而不必進(jìn)行全表掃描,明顯縮短了查詢(xún)時(shí)間,同時(shí)將數(shù)據(jù)傳輸對(duì)磁盤(pán)I/O競(jìng)爭(zhēng)均勻地分散開(kāi)。

      2)避免出現(xiàn)行連接和行遷移。在建表時(shí),充分估計(jì)到將來(lái)可能出現(xiàn)的數(shù)據(jù)變化,正確設(shè)置pctfree和pctused參數(shù),盡量減少數(shù)據(jù)庫(kù)中出現(xiàn)行鏈接和行遷移。

      3)使用別名。別名就是將表名、列名在查詢(xún)中以一個(gè)字母為別名,查詢(xún)速度可提升1.5倍。

      2.2.5索引Index的優(yōu)化設(shè)計(jì)

      1)管理組織索引。索引把表中的邏輯值映射到RowID,能夠快速定位數(shù)據(jù)的物理地址(大型表分區(qū)后建立分區(qū)索引),可以大大加快數(shù)據(jù)庫(kù)的查詢(xún)速度。

      2)使用聚簇。聚簇是根據(jù)共同碼值將多個(gè)表的數(shù)據(jù)存儲(chǔ)在同一個(gè)Oracle塊中,這時(shí)檢索一組Oracle塊就同時(shí)得到兩個(gè)表的數(shù)據(jù),從而減少需要存儲(chǔ)的Oracle塊,提高應(yīng)用程序的性能。

      3)ORACLE使用索引的基本的條件。where子名中的這個(gè)字段,必須是復(fù)合索引的第一個(gè)字段,且不應(yīng)該參與任何形式的計(jì)算。

      2.2.6多CPU并行查詢(xún)PQO(Parallel Query Option)方式的利用

      對(duì)于多CPU系統(tǒng),考慮采用Parallel Query Option(PQO,并行查詢(xún)選項(xiàng))方式進(jìn)行數(shù)據(jù)庫(kù)操作。不僅可以在多個(gè)CPU間分配SQL語(yǔ)句的請(qǐng)求處理,當(dāng)所查詢(xún)的數(shù)據(jù)處于不同的磁盤(pán)時(shí),一個(gè)個(gè)獨(dú)立的進(jìn)程可以同時(shí)進(jìn)行數(shù)據(jù)讀取。

      2.3應(yīng)用程序的優(yōu)化

      2.3.1盡量使用框架結(jié)構(gòu)

      應(yīng)用程序的體系結(jié)構(gòu)確定后,應(yīng)盡量使用成熟的框架來(lái)實(shí)現(xiàn)。實(shí)踐證明,成熟的框架開(kāi)發(fā)模式可以大大提高程序效率和易用性。節(jié)省開(kāi)發(fā)時(shí)間,同時(shí)使得后期系統(tǒng)的優(yōu)化和變更更容易。最重要的是,對(duì)性能優(yōu)化有很大幫助。

      2.3.2數(shù)據(jù)庫(kù)連接優(yōu)化

      1)使用直接的OLE DB數(shù)據(jù)庫(kù)連接方式。通過(guò)ADO可以使用兩種方式連接數(shù)據(jù)庫(kù),一種是傳統(tǒng)的ODBC方式,一種是OLE DB方式。ADO是建立在OLE DB技術(shù)上的,為了支持ODBC,必須建立相應(yīng)的OLE DB到ODBC的調(diào)用轉(zhuǎn)換,而使用直接的OLE DB方式則不需轉(zhuǎn)換,從而提高處理速度。

      2)使用Connection Pool機(jī)制。在數(shù)據(jù)庫(kù)處理中,資源花銷(xiāo)最大的是建立數(shù)據(jù)庫(kù)連接,而且用戶(hù)還會(huì)有一個(gè)較長(zhǎng)的連接等待時(shí)間。解決的辦法就是復(fù)用現(xiàn)有的Connection,也就是使用Connection Pool對(duì)象機(jī)制,可以大大地提高系統(tǒng)的響應(yīng)速度。

      2.3.3 HQL語(yǔ)句的調(diào)整優(yōu)化

      系統(tǒng)在數(shù)據(jù)層使用hibernate框架,因此對(duì)hql語(yǔ)句進(jìn)行優(yōu)化也可以提高系統(tǒng)性能,包括:

      1)盡量使用索引。

      2)在多張表進(jìn)行聯(lián)合查詢(xún)時(shí),應(yīng)注意各表的聯(lián)查次序及連接方式。

      3)在子查詢(xún)中慎重使用IN或者NOT IN語(yǔ)句,使用where (NOT) exists的效果要好得多。

      4)慎重使用視圖的聯(lián)合查詢(xún),尤其是比較復(fù)雜的視圖之間的聯(lián)合查詢(xún)。一般對(duì)視圖的查詢(xún)最好都分解為對(duì)數(shù)據(jù)表的直接查詢(xún)效果要好一些。

      5)可以在參數(shù)文件中設(shè)置SHARED_POOL_ RESERVED_SIZE參數(shù),這個(gè)參數(shù)在SGA共享池中保留一個(gè)連續(xù)的內(nèi)存空間,連續(xù)的內(nèi)存空間有益于存放大的SQL程序包。

      6)注意建立索引時(shí)的列順序。在多個(gè)列上面建立索引的時(shí)候,索引中列順序的不同,可以導(dǎo)致索引的作用效果不同,對(duì)性能產(chǎn)生很大的影響。

      例如:假設(shè)有一個(gè)索引,名字為Idx_test,包含了表中的三個(gè)值,三個(gè)列在索引中的順序?yàn)椋篒D,SomeDate,SomeString,按照選擇性由大到小的順序排列(選擇性大小描述了數(shù)據(jù)差異的大?。?。

      對(duì)于這個(gè)索引,只有在查詢(xún)中的Where/Join的列按照索引中的列的順序使用的時(shí)候才是有效的。類(lèi)似下面的查詢(xún)結(jié)構(gòu)中是能夠發(fā)揮作用的,如:

      … WHERE ID = @ID AND SomeDate = @dt AND SomeString = @str

      … WHERE ID = @ID AND SomeDate = @dt

      … WHERE ID = @ID

      如果查詢(xún)是下面這樣的,如:

      … WHERE SomeDate = @dt

      或者… SomeDate = @dt AND SomeString = @str ,那么,這個(gè)索引就不會(huì)在上面的查詢(xún)中使用了,那么查詢(xún)?cè)趫?zhí)行的時(shí)候就會(huì)掃描整表了。

      三、結(jié)束語(yǔ)

      提高系統(tǒng)性能需要一種系統(tǒng)的整體的方法。對(duì)性能問(wèn)題的考慮應(yīng)貫穿于開(kāi)發(fā)階段的全過(guò)程,不應(yīng)只在出現(xiàn)問(wèn)題時(shí)才考慮性能問(wèn)題。

      為了保證應(yīng)用系統(tǒng)的高效性和穩(wěn)定性,本文從硬件性能、數(shù)據(jù)庫(kù)系統(tǒng)參數(shù)以及應(yīng)用程序等方面,提出了具有針對(duì)性的優(yōu)化方法?;趏racle數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的優(yōu)化體現(xiàn)在系統(tǒng)設(shè)計(jì)、開(kāi)發(fā)、運(yùn)行等各個(gè)階段,需要程序員和數(shù)據(jù)庫(kù)管理員認(rèn)真分析問(wèn)題,對(duì)數(shù)據(jù)庫(kù)及應(yīng)用程序等進(jìn)行調(diào)整和性能調(diào)節(jié),從而保證應(yīng)用系統(tǒng)的高效、穩(wěn)定運(yùn)行。

      參 考 文 獻(xiàn)

      [1] 李學(xué)忠.ORACLE數(shù)據(jù)庫(kù)的優(yōu)化使用.電子工藝技術(shù),2003.24(5):219-224.

      [2] 賈小恒.淺析Oracae數(shù)據(jù)庫(kù)的優(yōu)化.軟件時(shí)空,2011.11.

      [3] 符浩.ORACLE數(shù)據(jù)庫(kù)優(yōu)化理論探討.科技資訊,2012.11.

      [4] 陳建云,林春艷,曾昊川. ORACLE應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù)的優(yōu)化探討.信息安全與技術(shù),2014.12.

      猜你喜歡
      應(yīng)用系統(tǒng)Oracle數(shù)據(jù)庫(kù)
      企業(yè)計(jì)算機(jī)應(yīng)用系統(tǒng)可靠性測(cè)試技術(shù)探討
      Oracle數(shù)據(jù)庫(kù)安全管理策略的優(yōu)化
      Oracle數(shù)據(jù)庫(kù)應(yīng)用問(wèn)題與解決方案分析
      Oracle數(shù)據(jù)庫(kù)安全問(wèn)題分析及策略
      Oracle數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)
      基于北斗定位的學(xué)生智能管理物聯(lián)網(wǎng)系統(tǒng)架構(gòu)研究
      科技視界(2016年25期)2016-11-25 08:34:53
      一種Oracle數(shù)據(jù)庫(kù)表空間監(jiān)控方法
      VB應(yīng)用技術(shù)下電教管理系統(tǒng)
      《Oracle數(shù)據(jù)庫(kù)》課程教學(xué)模式探究 
      高職學(xué)院信息化建設(shè)中面臨的問(wèn)題和思考
      科技視界(2016年22期)2016-10-18 17:29:57
      运城市| 青铜峡市| 湖南省| 历史| 平凉市| 大厂| 湘潭市| 道真| 清涧县| 清徐县| 鸡西市| 昌邑市| 姚安县| 花垣县| 洛川县| 日照市| 纳雍县| 逊克县| 平利县| 德化县| 白朗县| 宝山区| 台江县| 古田县| 巴青县| 榆社县| 高陵县| 阿鲁科尔沁旗| 孟连| 石楼县| 政和县| 醴陵市| 城市| 大宁县| 崇义县| 来凤县| 宜兴市| 兰西县| 新余市| 巢湖市| 醴陵市|