999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Oracle數(shù)據(jù)庫(kù)性能優(yōu)化及監(jiān)控系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)

2019-05-24 14:12:12武文斌
電腦知識(shí)與技術(shù) 2019年7期

武文斌

摘要:Oracle數(shù)據(jù)庫(kù)是以高級(jí)結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫(kù),能夠?qū)ο到y(tǒng)提供穩(wěn)健的支持。隨著Oracle數(shù)據(jù)庫(kù)應(yīng)用的不斷深入,Oracle數(shù)據(jù)庫(kù)維護(hù)和性能優(yōu)化至關(guān)重要。本文從Oracle數(shù)據(jù)庫(kù)性能優(yōu)化的視角出發(fā),結(jié)合研究現(xiàn)狀,從一個(gè)全新的角度對(duì)Oracle數(shù)據(jù)庫(kù)性能優(yōu)化與實(shí)時(shí)監(jiān)控技術(shù)進(jìn)行研究,并提出針對(duì)性的建議。

關(guān)鍵詞:Oracle數(shù)據(jù)庫(kù);性能優(yōu)化;監(jiān)控系統(tǒng)

中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2019)07-0003-02

從當(dāng)前IT系統(tǒng)的現(xiàn)狀來(lái)看,大型應(yīng)用系統(tǒng)多基于大型關(guān)系型數(shù)據(jù)庫(kù),但關(guān)系型數(shù)據(jù)庫(kù)會(huì)隨著聯(lián)機(jī)用戶(hù)的持續(xù)增加而對(duì)應(yīng)用系統(tǒng)性能造成制約,并且基于關(guān)系型數(shù)據(jù)庫(kù)的大型應(yīng)用系統(tǒng)性能的提升是硬件系統(tǒng)擴(kuò)容,但通常費(fèi)用較為昂貴。在這種背景下,Oracle數(shù)據(jù)庫(kù)以其使用方便、可移植性好、功能強(qiáng)大的優(yōu)點(diǎn),能夠?qū)Ξ?dāng)前大用戶(hù)背景下的應(yīng)用系統(tǒng)提供穩(wěn)健的支持,因此Oracle數(shù)據(jù)庫(kù)的性能優(yōu)化和監(jiān)控分析具有重大的現(xiàn)實(shí)意義。

1 Oracle數(shù)據(jù)庫(kù)概述

Oracle數(shù)據(jù)庫(kù)是以高級(jí)結(jié)構(gòu)化查詢(xún)語(yǔ)言為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫(kù),在系統(tǒng)應(yīng)用中,隨著數(shù)據(jù)量的不斷增大,Oracle數(shù)據(jù)庫(kù)需要加以?xún)?yōu)化調(diào)整才能發(fā)揮應(yīng)有功效。對(duì)Oracle數(shù)據(jù)庫(kù)性能進(jìn)行優(yōu)化調(diào)整就需要先了解其體系結(jié)構(gòu),即物理結(jié)構(gòu)、進(jìn)程結(jié)構(gòu)、內(nèi)存結(jié)構(gòu)、邏輯結(jié)構(gòu)。物理結(jié)構(gòu)是指組成數(shù)據(jù)庫(kù)的操作系統(tǒng)物理文件,包括控制文件、參數(shù)文件、數(shù)據(jù)文件、歸檔日志文件和重做日志文件;進(jìn)程結(jié)構(gòu)包括后臺(tái)進(jìn)程、用戶(hù)進(jìn)程和服務(wù)器進(jìn)程;內(nèi)存結(jié)構(gòu)包括Java池、程序全局區(qū)、排序區(qū)、系統(tǒng)全局區(qū)、大池;邏輯結(jié)構(gòu)包括數(shù)據(jù)塊、區(qū)、段、表空間、模式對(duì)象。

對(duì)Oracle數(shù)據(jù)庫(kù)性能進(jìn)行優(yōu)化調(diào)整通常是在兩個(gè)階段,即設(shè)計(jì)階段和數(shù)據(jù)庫(kù)運(yùn)行階段,設(shè)計(jì)階段的優(yōu)化調(diào)整集中于物理結(jié)構(gòu)和邏輯結(jié)構(gòu),數(shù)據(jù)庫(kù)運(yùn)行階段優(yōu)化調(diào)整集中于應(yīng)用程序、網(wǎng)絡(luò)性能、數(shù)據(jù)庫(kù)環(huán)境以及操作系統(tǒng)。操作系統(tǒng)的優(yōu)化調(diào)整方法一般包括控制分頁(yè)、減少內(nèi)存交換、使SGA留駐內(nèi)存。對(duì)Oracle數(shù)據(jù)庫(kù)性能優(yōu)化調(diào)整時(shí)需要先明確哪些因素有較大的影響,因此需對(duì)Oracle數(shù)據(jù)庫(kù)監(jiān)控對(duì)象進(jìn)行分析,包括CPU、I/O、內(nèi)存、會(huì)話(huà)、回退段、Oracle模式對(duì)象。

2 Oracle數(shù)據(jù)庫(kù)性能優(yōu)化

(1)內(nèi)存優(yōu)化

在Oracle數(shù)據(jù)庫(kù)性能優(yōu)化的內(nèi)存優(yōu)化調(diào)整一般是調(diào)整系統(tǒng)全局區(qū)(SGA)。

①共享池調(diào)整:執(zhí)行select namespace, gethitratio from v$librarycache,gethitratio若在95%以下則需注意調(diào)整;重裝率大于1%需調(diào)整共享池大小;字典高速緩存命中率結(jié)果小于85%則需增加共享池的大小。

②重做日志緩沖區(qū)調(diào)整:查詢(xún)重做日志緩沖區(qū)的效率,如果其值不斷增大,則需增加log_buffer的大小。

③緩沖區(qū)高速緩存調(diào)整:Oracle數(shù)據(jù)庫(kù)運(yùn)行時(shí),為縮短響應(yīng)時(shí)間,提高相應(yīng)效率,應(yīng)盡可能從緩沖區(qū)高速緩存中尋找數(shù)據(jù),這需監(jiān)控緩沖區(qū)高速緩存的命中率,如果命中率低于90%,則需增加db_cache_size的值。

(2)I/O優(yōu)化

為提升Oracle數(shù)據(jù)庫(kù)性能,應(yīng)盡量減少磁盤(pán)I/O,并使用本地管理表空間,進(jìn)而平衡I/O,平衡多個(gè)磁盤(pán)驅(qū)動(dòng)器的負(fù)荷。具體優(yōu)化策略包括:①同一表空間多個(gè)數(shù)據(jù)文件存放于不同磁盤(pán);②訪(fǎng)問(wèn)量大的數(shù)據(jù)文件應(yīng)在獨(dú)立磁盤(pán)上進(jìn)行存放;③用戶(hù)數(shù)據(jù)一般不放在system表空間,而是單獨(dú)創(chuàng)建表空間;④創(chuàng)建臨時(shí)表空間用于排序操作,創(chuàng)建單獨(dú)的回滾段表空間,是數(shù)據(jù)庫(kù)碎片不散落在多個(gè)表空間;⑤創(chuàng)建單獨(dú)的索引表空間,其區(qū)分磁盤(pán)存放索引數(shù)據(jù)與表數(shù)據(jù);⑥為減少磁盤(pán)競(jìng)爭(zhēng),重做日志文件單獨(dú)存放,盡量不要與數(shù)據(jù)文件存于統(tǒng)一磁盤(pán),且重做日志文件要足夠大。

(3)CPU優(yōu)化

應(yīng)用系統(tǒng)與應(yīng)用軟件性能不僅受I/O影響,還受CPU約束。工作高峰時(shí)CUP使用率要求在90%以下,如空閑時(shí)CPU使用率依然很高,則需調(diào)整優(yōu)化CPU,增加CPU資源。通過(guò)查看v$sysstat數(shù)據(jù)字典中的用戶(hù)態(tài)CPU時(shí)間和操作態(tài)CPU時(shí)間,查看當(dāng)前連接Oracle數(shù)據(jù)庫(kù)各個(gè)會(huì)話(huà)占用CPU時(shí)間,若操作系統(tǒng)占用CPU時(shí)間在90%以上則說(shuō)明正常,否則說(shuō)明服務(wù)器CPU被其他程序占用過(guò)多,造成CPU資源不足。這是需要分析SQL語(yǔ)句,對(duì)低效率的SQL語(yǔ)句和鎖沖突進(jìn)行調(diào)整優(yōu)化,或增加Oracle參數(shù)高速緩存的光標(biāo)數(shù)的值。

(4)網(wǎng)絡(luò)性能優(yōu)化

網(wǎng)絡(luò)性能是影響Oracle數(shù)據(jù)庫(kù)性能的又一重要因素,優(yōu)化調(diào)整的策略則主要是減少網(wǎng)上數(shù)據(jù)流量。Oracle中的網(wǎng)絡(luò)協(xié)議是Net 8或SQL*Net,其為客戶(hù)端和Oracle服務(wù)器提供透明連通性。為減少網(wǎng)絡(luò)信息流量,確保網(wǎng)絡(luò)吞吐量的快速性,需測(cè)出網(wǎng)絡(luò)增加的延遲。Oracle數(shù)據(jù)庫(kù)系統(tǒng)提供了v$session_wait、v$session_event和v$sesstat三個(gè)動(dòng)態(tài)性能表。

在v$session_event中用信息間等待時(shí)間評(píng)估網(wǎng)絡(luò)效率,在v$session_wait中用等待事件與Oracle做出的回應(yīng)評(píng)估網(wǎng)絡(luò)效率,在v$sesstat中查看接收和發(fā)送到客戶(hù)端的字節(jié)數(shù),以及客戶(hù)端做出的請(qǐng)求數(shù)目,來(lái)評(píng)估網(wǎng)絡(luò)效率。

3 Oracle數(shù)據(jù)庫(kù)監(jiān)控系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)

(1)需求分析與總體框架

隨著網(wǎng)絡(luò)的快速發(fā)展,客戶(hù)訪(fǎng)問(wèn)數(shù)量越來(lái)越大,對(duì)系統(tǒng)性能要求越來(lái)越高,因此Oracle數(shù)據(jù)庫(kù)實(shí)時(shí)監(jiān)控系統(tǒng)對(duì)Oracle數(shù)據(jù)庫(kù)系統(tǒng)而言十分必要,是調(diào)整優(yōu)化Oracle數(shù)據(jù)庫(kù)性能的重要子系統(tǒng)。由于訪(fǎng)問(wèn)客戶(hù)數(shù)量的增大,在原有硬件系統(tǒng)的基礎(chǔ)上,系統(tǒng)負(fù)荷量越來(lái)越大,進(jìn)而影響Oracle數(shù)據(jù)庫(kù)系統(tǒng)性能,通過(guò)Oracle數(shù)據(jù)庫(kù)實(shí)時(shí)監(jiān)控系統(tǒng)對(duì)數(shù)據(jù)庫(kù)性能進(jìn)行實(shí)時(shí)監(jiān)控,能夠?yàn)槠湔{(diào)整優(yōu)化提供支持。

Oracle數(shù)據(jù)庫(kù)監(jiān)控系統(tǒng)基于J2EE分布式構(gòu)件技術(shù)實(shí)現(xiàn),采用B/S三層架構(gòu),保證系統(tǒng)擴(kuò)展性和跨平臺(tái)性。監(jiān)控系統(tǒng)的設(shè)計(jì)要遵循“開(kāi)-閉”原則,關(guān)鍵是抽象化,實(shí)現(xiàn)對(duì)擴(kuò)展開(kāi)放。Oracle數(shù)據(jù)庫(kù)實(shí)時(shí)監(jiān)控系統(tǒng)應(yīng)用Struts開(kāi)發(fā)框架,分為客戶(hù)端、業(yè)務(wù)邏輯層、數(shù)據(jù)庫(kù)服務(wù)器層三部分。客戶(hù)端用戶(hù)界面提供可視化接口,支持IE和Applet等。業(yè)務(wù)邏輯層將數(shù)據(jù)訪(fǎng)問(wèn)和業(yè)務(wù)流程控制分開(kāi),前端是遠(yuǎn)程方法調(diào)用服務(wù)器、Servlet/JSP等應(yīng)用,后臺(tái)是數(shù)據(jù)采樣過(guò)程。數(shù)據(jù)庫(kù)服務(wù)器層負(fù)責(zé)數(shù)據(jù)庫(kù)管理,并相應(yīng)應(yīng)用服務(wù)器的數(shù)據(jù)請(qǐng)求。

(2)模塊設(shè)計(jì)

Oracle數(shù)據(jù)庫(kù)實(shí)時(shí)監(jiān)控系統(tǒng)功能模塊設(shè)計(jì)主要涉及模塊獨(dú)立和信息隱藏兩方面,實(shí)現(xiàn)參數(shù)配置、報(bào)警模塊、數(shù)據(jù)訪(fǎng)問(wèn)、數(shù)據(jù)采集功能。數(shù)據(jù)采集主要包括以下五個(gè)部分:

數(shù)據(jù)庫(kù)預(yù)覽:實(shí)現(xiàn)對(duì)后臺(tái)數(shù)據(jù)庫(kù)性能指標(biāo)的概覽,比如CPU和內(nèi)存使用情況、進(jìn)程以及磁盤(pán)存儲(chǔ)、SGA等信息;

性能參數(shù)指標(biāo)監(jiān)控:監(jiān)控主要性能指標(biāo)包括排序區(qū)情況、重做日志活動(dòng)、字典高速緩存命中率、緩沖區(qū)命中率、回滾段、庫(kù)高速緩存命中率等。性能指標(biāo)監(jiān)控處理流程為“監(jiān)控獲取性能參數(shù)值→與標(biāo)準(zhǔn)值比較→判斷是否超過(guò)閾值→報(bào)警并給出優(yōu)化建議→存儲(chǔ)參數(shù)值”;

存儲(chǔ)指標(biāo)監(jiān)控:目標(biāo)對(duì)象為Oracle數(shù)據(jù)庫(kù)存儲(chǔ)動(dòng)態(tài),因此監(jiān)控性能指標(biāo)包括SGA分配、數(shù)據(jù)文件、表空間等常用項(xiàng)目;

數(shù)據(jù)庫(kù)問(wèn)題管理:DBA實(shí)現(xiàn)對(duì)Oracle數(shù)據(jù)庫(kù)常規(guī)問(wèn)題的檢查,包括有問(wèn)題的SQL、文件I/O、等待事件和鎖表信息;

對(duì)象管理:包括SGA、索引、數(shù)據(jù)庫(kù)表、同義詞、序列、視圖等。

(3)數(shù)據(jù)庫(kù)設(shè)計(jì)

為減輕Oracle數(shù)據(jù)庫(kù)中監(jiān)控系統(tǒng)對(duì)整個(gè)系統(tǒng)的影響,監(jiān)控系統(tǒng)的數(shù)據(jù)庫(kù)單獨(dú)存放系統(tǒng)數(shù)據(jù)和歷史性能數(shù)據(jù),要求具備快速讀取、安全存放能力。監(jiān)控系統(tǒng)數(shù)據(jù)設(shè)計(jì)需遵循標(biāo)準(zhǔn)和規(guī)范化原則,考慮如下內(nèi)容:數(shù)據(jù)結(jié)構(gòu)要符合規(guī)范,是業(yè)務(wù)處理邏輯更清晰;對(duì)數(shù)據(jù)操作應(yīng)盡量簡(jiǎn)化,避免過(guò)多的表連續(xù)等關(guān)聯(lián)操作;對(duì)相關(guān)聯(lián)的表添加約束條件,簡(jiǎn)化程序?qū)?shù)值處理的流程。

以監(jiān)控對(duì)象為中心,設(shè)計(jì)一個(gè)目標(biāo)實(shí)體作為各種待監(jiān)控目標(biāo)的主表,核心對(duì)象的表主要包括Target目錄表、數(shù)據(jù)庫(kù)目標(biāo)表、主機(jī)目標(biāo)表、監(jiān)控項(xiàng)目表、報(bào)警閾值表、實(shí)時(shí)整數(shù)監(jiān)控?cái)?shù)據(jù)表、歷史整數(shù)監(jiān)控?cái)?shù)據(jù)表、系統(tǒng)用戶(hù)表、系統(tǒng)資源配置表等。

在數(shù)據(jù)庫(kù)配置中,所有表及相關(guān)索引在服務(wù)器端程序初始化配置時(shí)創(chuàng)建,通過(guò)編輯sysDB.config文件中的數(shù)據(jù)庫(kù)配置參數(shù),即可在調(diào)用initSysDB.sh腳本時(shí)通過(guò)讀取sysDB.config文件中參數(shù)自動(dòng)在系統(tǒng)數(shù)據(jù)庫(kù)中創(chuàng)建系統(tǒng)數(shù)據(jù)庫(kù)中相關(guān)對(duì)象。sysDB.config文件中主要參數(shù)賦值可根據(jù)實(shí)際系統(tǒng)數(shù)據(jù)庫(kù)創(chuàng)建情況進(jìn)行修改。在配置系統(tǒng)數(shù)據(jù)庫(kù)用戶(hù)時(shí)先創(chuàng)建用戶(hù),并賦予其connect,resource權(quán)限。在Oracle監(jiān)控系統(tǒng)數(shù)據(jù)庫(kù)中創(chuàng)建添加、刪除和查詢(xún)PLSQL存儲(chǔ)過(guò)程,充分發(fā)揮數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)的處理能力。

(4)監(jiān)控系統(tǒng)功能實(shí)現(xiàn)

從Oracle數(shù)據(jù)庫(kù)監(jiān)控系統(tǒng)運(yùn)行的流程設(shè)計(jì)可知,監(jiān)控功能的實(shí)現(xiàn)需要目標(biāo)端程序和服務(wù)器端程序共同協(xié)作才能完成。程序使用DBTarget對(duì)象定義了被監(jiān)控的目標(biāo)數(shù)據(jù)庫(kù),ServerTarget對(duì)象定義了被監(jiān)控的目標(biāo)主機(jī)。在ServerTarget類(lèi)和DBTarget類(lèi)中均通過(guò)Monit()方法完成對(duì)目標(biāo)端操作哦系統(tǒng)層監(jiān)控參數(shù)和數(shù)據(jù)庫(kù)實(shí)例的監(jiān)控?cái)?shù)據(jù)收集。

目標(biāo)端操作系統(tǒng)狀態(tài)監(jiān)控程序流程為:收集Oracle數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行數(shù)據(jù)→與服務(wù)器程序建立通信→數(shù)據(jù)傳輸→是否更新監(jiān)控參數(shù)→更新收集參數(shù)→是否停止監(jiān)控→結(jié)束。

目標(biāo)Oracle數(shù)據(jù)庫(kù)狀態(tài)監(jiān)控流程:連接Oracle數(shù)據(jù)庫(kù)→訪(fǎng)問(wèn)目標(biāo)Oracle數(shù)據(jù)庫(kù)→收集目標(biāo)Oracle數(shù)據(jù)庫(kù)運(yùn)行數(shù)據(jù)→與服務(wù)器建立通信→數(shù)據(jù)傳輸→是否更新監(jiān)控參數(shù)→更新收集參數(shù)→是否停止監(jiān)控→結(jié)束。

在完成監(jiān)控系統(tǒng)功能流程后,確定數(shù)據(jù)庫(kù)信息獲取的實(shí)現(xiàn)方式,包括成員函數(shù),然后實(shí)現(xiàn)表空間監(jiān)控,最后設(shè)計(jì)系統(tǒng)人機(jī)交互界面,最終完成監(jiān)控系統(tǒng)。

參考文獻(xiàn):

[1] 劉夢(mèng)甜.Oracle數(shù)據(jù)庫(kù)性能監(jiān)控與分析系統(tǒng)設(shè)計(jì)[J].信息技術(shù)與信息化,2017(4).

[2] 黃杰生.基于ORACLE的數(shù)據(jù)庫(kù)性能優(yōu)化設(shè)計(jì)[J].電子技術(shù)與軟件工程,2018(10).

[3] 楊瑩.基于Oracle數(shù)據(jù)庫(kù)大數(shù)據(jù)的檢索優(yōu)化分析與設(shè)計(jì)[J].數(shù)碼世界,2017(4).

[4] 余欽泉.ORACLE數(shù)據(jù)庫(kù)的運(yùn)行狀況管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].廈門(mén)大學(xué),2016.

【通聯(lián)編輯:唐一東】

主站蜘蛛池模板: 亚洲视频影院| 免费可以看的无遮挡av无码| 2021国产精品自产拍在线| 亚洲Va中文字幕久久一区 | 青青青国产免费线在| 欧美色图第一页| 毛片网站免费在线观看| 婷婷五月在线视频| 国产制服丝袜91在线| 97视频精品全国在线观看| 色屁屁一区二区三区视频国产| 日韩高清成人| 亚洲日本在线免费观看| 99精品免费在线| 精品人妻无码中字系列| 91 九色视频丝袜| 中文字幕在线观看日本| 国产一级小视频| 国产精品久久久久鬼色| 久久大香伊蕉在人线观看热2| 欧美成人亚洲综合精品欧美激情| 亚洲人成在线精品| 一本无码在线观看| 视频在线观看一区二区| 亚洲三级成人| 日韩小视频网站hq| 国产成人精品无码一区二| 欧美啪啪网| 国产对白刺激真实精品91| 国产高清精品在线91| 青青草原国产av福利网站| 国产超薄肉色丝袜网站| 小13箩利洗澡无码视频免费网站| 99久久精品免费观看国产| 91午夜福利在线观看| 亚洲制服中文字幕一区二区| 国产专区综合另类日韩一区| www.国产福利| 中文字幕首页系列人妻| 日韩黄色在线| 区国产精品搜索视频| 亚洲性视频网站| 国产精品无码AV中文| 91年精品国产福利线观看久久| 亚洲精品视频免费看| 欧美视频在线第一页| 日本91在线| 久久人人97超碰人人澡爱香蕉 | 亚洲69视频| 欧美在线中文字幕| 尤物成AV人片在线观看| 91精品久久久久久无码人妻| 91在线高清视频| 中文字幕亚洲综久久2021| 国产亚洲视频中文字幕视频| 久久精品国产亚洲麻豆| 国产成人1024精品| 国产乱子伦精品视频| 一级看片免费视频| 欧美中文字幕无线码视频| 狠狠v日韩v欧美v| 国产精品v欧美| 91精品视频播放| 福利国产在线| 国产91高清视频| 日本欧美午夜| 国产免费福利网站| 在线免费观看AV| 少妇高潮惨叫久久久久久| 国产高清自拍视频| 国产激情影院| 亚洲精品黄| 亚洲综合在线网| 国产午夜小视频| 国产激爽爽爽大片在线观看| 成人国产精品视频频| 免费在线看黄网址| 无码'专区第一页| 国产精品无码作爱| 国产91色| 欧美激情一区二区三区成人| 亚洲精品老司机|