无码人妻A片一区二区三区_18禁裸乳无遮挡啪啪无码免费_91精品亚?影视在线?看_人人妻人人爽人人澡AV_国产精品人妻一区二区三区四区_午夜免费影视

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 數(shù)據(jù)庫 > 盤點那些Oracle常用的調(diào)優(yōu)手段

盤點那些Oracle常用的調(diào)優(yōu)手段

2021-04-20 16:08:20 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)

Oracle常用的調(diào)優(yōu)手段有哪些呢?相信很多人都會問這個問題。我們現(xiàn)來說說Oracle。現(xiàn)在Oracle的技術(shù)已經(jīng)廣泛應(yīng)用于各行各業(yè)中了,這其中包括電信,電力,政府,金融以及大量的制造業(yè)都需要Oracle技術(shù)人才。那么Oracle常用的調(diào)優(yōu)手段是什么呢?這主要是Oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)的調(diào)優(yōu),優(yōu)化操作系統(tǒng)環(huán)境,優(yōu)化數(shù)據(jù)庫內(nèi)存等等。下面我們就來詳細(xì)介紹一下。

盤點那些Oracle常用的調(diào)優(yōu)手段

Oracle公司針對職業(yè)教育市場在全球推廣的項目,其以低廉的成本給這部分人群提供Oracle技術(shù)培訓(xùn),經(jīng)過系統(tǒng)化的實訓(xùn),讓這部分人群能夠迅速掌握Oracle最新的核心技術(shù),并能勝任企業(yè)大型數(shù)據(jù)庫管理、維護(hù)、開發(fā)工作。Oracle 是一個面向 Internet 計算環(huán)境的數(shù)據(jù)庫。它是在數(shù)據(jù)庫領(lǐng)域一直處于領(lǐng)先地位的 Oracle(即甲骨文公司)的產(chǎn)品。可以說 Oracle 關(guān)系數(shù)據(jù)庫系統(tǒng)是目前世界上流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng),系統(tǒng)可移植性好、使用方便、功能強(qiáng),適用于各類大、中、小、微機(jī)環(huán)境。它是一種高效率、可靠性好的適應(yīng)高吞吐量的數(shù)據(jù)庫解決方案,Oracle常用的調(diào)優(yōu)手段有哪些呢?

Oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)的調(diào)優(yōu)主要包括十個方面

(1)、優(yōu)化數(shù)據(jù)庫內(nèi)存

(2)、在Oracle共享池中固定應(yīng)用程序代碼

(3)、優(yōu)化數(shù)據(jù)存儲

(4)、優(yōu)化數(shù)據(jù)排序的技術(shù)

(5)、優(yōu)化SQL語句

(6)、優(yōu)化回退段

(7)、優(yōu)化索引

(8)、優(yōu)化磁盤I/O

(9)、定期生成數(shù)據(jù)庫對象的狀態(tài)統(tǒng)計信息

(10)、優(yōu)化操作系統(tǒng)環(huán)境

其實質(zhì)就是降低CPU負(fù)載、改善I/O性能。

1、化磁盤I/O

數(shù)據(jù)庫的作用就是實現(xiàn)對數(shù)據(jù)的管理和查詢,所以必然存在對數(shù)據(jù)的大量讀寫操作,其I/O問題也往往是導(dǎo)致Oracle數(shù)據(jù)庫性能問題的重要原因。

1.1、Oracle中I/O的產(chǎn)生

1.2、優(yōu)化OS存儲

一、在UNIT環(huán)境下,采用裸設(shè)備(RawDevice)作為Oracle數(shù)據(jù)文件的存儲設(shè)備比采文件系統(tǒng)(FileSystem)存儲Oracle數(shù)據(jù)文件具有較高的讀寫效率。

二、采用異步IO(AsynchronousIO)方式。在異步IO模式下,進(jìn)程發(fā)出IO請求后無需等待IO完成,可以去處理其它事情;IO請求被放入一個隊列中,一旦IO完成,系統(tǒng)會發(fā)出信號通知進(jìn)程。異步IO可以使需要大量寫的Oracle進(jìn)程(如DBWn進(jìn)程)將IO請求隊列化,以充分利用硬件的IO帶寬,從而使它們能最大程度實現(xiàn)并行處理。確認(rèn)操作系統(tǒng)已經(jīng)設(shè)置支持AIO后,還需要設(shè)置Oracle初始化參數(shù)“DISK_ASYNCH_IO”為“true”以支持異步IO。

三、磁盤負(fù)載均衡及條帶化(Striping)。條帶化技術(shù)就是將數(shù)據(jù)分成很多小部分并把他們分別存儲到不同磁盤上的不同區(qū)域中去。這就能使多個進(jìn)程同時訪問數(shù)據(jù)的多個不同部分而不會造成磁盤沖突。很多操作系統(tǒng)、磁盤設(shè)備供應(yīng)商、各種第三方軟件都能做到條帶化。通過條帶化,DBA可以很輕松的做到IO負(fù)載均衡而無需去手工配置。

1.3、優(yōu)化IO配置

一、利用LVM(LogicalVolumeManager邏輯卷管理器)軟件合理的配置條帶的寬度和深度。

二、采用分離文件策略,避免磁盤熱點。盡管我們在硬件和操作系統(tǒng)層面通過磁盤條帶化實現(xiàn)了磁盤負(fù)載均衡,但我們依然不能避免某些數(shù)據(jù)文件成為“熱點文件”。

分離表、索引和臨時表空間的存儲,即為應(yīng)用系統(tǒng)建立單獨的數(shù)據(jù)表空間、索引表空間、臨時表空間。

分離重做日志(RedoLog)文件。如果RedoLog文件的IO吞吐率高,則應(yīng)將RedoLog存儲在單獨磁盤上,在有充裕磁盤的的情況下,應(yīng)將RedoLog文件條帶化分布到多個磁盤上去;

分離歸檔日志文件(ArchiveLog)。當(dāng)ORACLE數(shù)據(jù)庫運行在歸檔模式下時,歸檔進(jìn)程(ARCn)必然會產(chǎn)生大量的磁盤讀寫。所以應(yīng)將歸檔日志文件條帶化分布到多個磁盤上單獨存儲。

1.4、優(yōu)化ORACLEI/O相關(guān)的參數(shù)設(shè)置

db_file_multiblock_read_count:用于控制一個完全連續(xù)掃描中一次I/O操作所讀取的數(shù)據(jù)塊的最大值。默認(rèn)值8

db_writer_processes:數(shù)據(jù)庫“寫進(jìn)程”的初始數(shù)量。

disk_asynch_io:用于控制數(shù)據(jù)文件、控制文件和日志文件的I/O是否異步。只有在平臺支持磁盤異步I/O的情況下才能更改該參數(shù)。

log_archive_max_processes:指定歸檔模式下ARCH進(jìn)程的數(shù)量。

2.優(yōu)化數(shù)據(jù)存儲

2.1、表空間優(yōu)化

SYSTEM表空間用于存放ORACLE系統(tǒng)的有關(guān)信息,一般的用戶建立的對象(object)不應(yīng)放在SYSTEM表空間中,另外還需要注意增加SYSTEM表空間合適的大小,保證有100M左右的空閑空間。

對于ORACLE的數(shù)據(jù)庫應(yīng)用系統(tǒng),都應(yīng)該為應(yīng)用系統(tǒng)建立獨立的ORACLE用戶(scheme)、數(shù)據(jù)表空間、索引表空間、臨時表空間。應(yīng)將表空間及數(shù)據(jù)文件一次性設(shè)置成合適的大小,避免數(shù)據(jù)文件自動增長,造成數(shù)據(jù)段塊/段的不連續(xù),影響系統(tǒng)性能。

定期檢查數(shù)據(jù)庫表空間的使用情況,防止表空間碎塊過多,影響系統(tǒng)性能。通過查詢視圖dba_extents可獲取表空間詳細(xì)的使用情況。

整理表空間碎片,回收數(shù)據(jù)表段的可用空間。

合并表空間碎片

altertablespacetablespacenamecoalesce;

回收數(shù)據(jù)表段的空閑空間

altertabletablenamedeallocateunused;

2.2、合理配置回滾段大小

在Oracle9i以后,系統(tǒng)采用了透明的本地化的管理方式。默認(rèn)情況下,回滾段表空間是比較小的,往往不能滿足實際應(yīng)用中處理大型的事務(wù)的需要,就需要為專門的大型應(yīng)用或事務(wù)建立大的回滾段。

2.3、臨時表空間設(shè)計規(guī)劃

臨時表空間主要用于查詢操作中的distinct、union、orderby以及createindex操作及存儲臨時表數(shù)據(jù)等。Oracle缺省表空間為Temp,其大小為1MB,對于一個真正的中、大型應(yīng)用系統(tǒng)是遠(yuǎn)遠(yuǎn)不夠的,因此需做如下工作:

增加Temp表空間到合適的大小,一般為300M-500M左右。

創(chuàng)建用戶時應(yīng)為其選擇專用的臨時表空間。

應(yīng)該為大的應(yīng)用系統(tǒng)建立專門的大的臨時表空間,用于進(jìn)行系統(tǒng)的月報、季報、年報統(tǒng)計存儲臨時表數(shù)據(jù)等。

2.4、將數(shù)據(jù)文件和日志文件存儲于不同磁盤上

數(shù)據(jù)文件的寫入是通過DBWR后臺進(jìn)程實現(xiàn),日志文件的寫入是通過LGWR后臺進(jìn)程實現(xiàn),由于日志文件是連續(xù)的寫入,因此無并發(fā)處理現(xiàn)象。而數(shù)據(jù)文件的寫入相對是隨機(jī)的,為避免在同一時間內(nèi)DBWR和LGWR的沖突,應(yīng)將日志文件和數(shù)據(jù)文件放在不同的硬盤上。

另外,在ARCHIVELOG模式時,也可能產(chǎn)生日志文件寫磁盤與日志歸檔間的沖突,這種沖突的避免只能通過將日志文件分配到多個磁盤才能解決。

3、優(yōu)化操作系統(tǒng)環(huán)境

3.1、配置操作系統(tǒng)合適的信號量

Oracle在某些Unix操作系統(tǒng)環(huán)境下運行需要合適的操作系統(tǒng)信號量。應(yīng)該根據(jù)Oracle版本發(fā)行的要求進(jìn)行設(shè)置,譬如在SOLARIS環(huán)境下,需要以root登錄并根據(jù)Oracle安裝手冊的參數(shù)要求修改/etc目錄的system文件。

3.2、配置合適大小的交換區(qū)

在UNIX操作系統(tǒng)環(huán)境下,交換區(qū)是Oracle的一項基本的要求。可以根據(jù)Oracle的發(fā)行要求來確定。建議交換區(qū)的大小是該服務(wù)器內(nèi)存的2倍以上。

3.3、配置操作系統(tǒng)啟用異步I/O

目前大多數(shù)操作系統(tǒng)都支持異步I/O,但如果讓Oracle運行在異步I/O模式下,就必須做相應(yīng)的配置。譬如在HP-UNIX下,需要把“/dev/async”授權(quán)給操作系統(tǒng)的oracle用戶,并且要修改Oracle參數(shù)disk_asynch_io=true。

3.4、將Oracle的SGA鎖定在物理內(nèi)存中。

幾乎所有的操作系統(tǒng)都支持虛擬內(nèi)存,所以即使我們使用的內(nèi)存小于物理內(nèi)存,也不能避免操作系統(tǒng)將SGA交換到虛擬內(nèi)存(SWAP),通過相應(yīng)配置將OracleSGA鎖定在物理內(nèi)存避免被交換到虛擬內(nèi)存中,可以減少頁面的換入和換出,從而提高性能。

HP-UNIX下的配置方法:

#/etc/setprivgrpdbaMLOCK

調(diào)整ORACLE參數(shù):lock_sga=TRUE

重啟數(shù)據(jù)庫

AIX5L(AIX4.3.3)下的配置方法:

$/usr/sbin/vmo-r-ov_pinshm=1(或vmtune-s1)

調(diào)整ORACLE參數(shù):lock_sga=TRUE

重啟數(shù)據(jù)庫

3.5、控制內(nèi)存交換操作(Paging)

大量的內(nèi)存交換操作會極大地影響系統(tǒng)的性能,尤其是在當(dāng)數(shù)據(jù)庫文件創(chuàng)建在文件系統(tǒng)上時影響更大。在這種情況下經(jīng)常訪問的數(shù)據(jù),即在SGA中存在也同樣在文件的緩存中存在。這種相同的數(shù)據(jù)在內(nèi)存中緩存兩次的情況,會降低內(nèi)存的使用效率,從而使內(nèi)存頻繁進(jìn)行交換操作,造成系統(tǒng)的I/O瓶頸,降低整個系統(tǒng)的性能。通過將ORACLE數(shù)據(jù)文件建在裸設(shè)備上和調(diào)整系統(tǒng)文件緩存,可以有效降低內(nèi)存交換操作。

在AIX上,可以通過vmtune命令中的MINPERM(缺省值20)和MAXPERM(缺省值80)參數(shù)來調(diào)整系統(tǒng)文件緩存,用以控制內(nèi)存交換操作。一般將MINPERM和MAXPERM分別設(shè)為5%和20%甚至更小,可使內(nèi)存更多地被用于Oracle的SGA而不是系統(tǒng)的文件緩存。

#vmtune-p5-P20

在HP-UINX10.X以前的版本中,分配過大的文件系統(tǒng)緩存,也會導(dǎo)致Oracle的SGA被交換到虛擬內(nèi)存中去。在10.X以后的版本中文件系統(tǒng)緩存動態(tài)分配。不合理的設(shè)置dbc_min_pct和dbc_max_pct也會導(dǎo)致無法解釋的偶然或間歇性停頓出現(xiàn)。

4.優(yōu)化數(shù)據(jù)庫內(nèi)存

4.1、Oracle內(nèi)存結(jié)構(gòu)

4.2、優(yōu)化SGA(SystemGlobalArea)

對于Oracle內(nèi)存的調(diào)整設(shè)置,要根據(jù)實際情況酌情考慮,基本的原則是:

數(shù)據(jù)緩沖區(qū)(databuffer):用于存放從數(shù)據(jù)文件讀入的數(shù)據(jù)塊,可以盡可能的大

共享池(shared_pool_size):用于保存數(shù)據(jù)字典及當(dāng)前執(zhí)行的SQL語句和存儲過程,要適度

日志緩沖區(qū)(log_buffer):用于緩存用戶更新的數(shù)據(jù),不需太大

shared_pool_size:要大小要適度,通常設(shè)為500M左右,不應(yīng)超過700M

log_buffer:通常設(shè)為512K到1M

large_pool_size:如果不設(shè)置MTS(Multi-ThreadedServer),該部分內(nèi)存只會在RMAN(恢復(fù)管理)、OPQ(并行查詢)中使用到,通常設(shè)置為是16M-64M

java_pool_size:如果在數(shù)據(jù)庫里不使用java,通常設(shè)置為16M

databuffer:在做了上面的設(shè)置后,凡可以提供給Oracle的內(nèi)存,都應(yīng)該給databuffer=(db_block_size*db_block_buffers)

SGA=databuffer+shared_pool_size+log_buffer+java_pool_size+large_pool_size

4.3、優(yōu)化PGA(ProgramGlobalArea)

sort_area_size:默認(rèn)64K,通常設(shè)置為128K到512K

hash_area_size:不做配置,是根據(jù)2*sort_area_size計算得到

這兩個參數(shù)在非MTS下都是屬于PGA(ProgramGlobalArea),不屬于SGA。它是為每個session單獨分配的,所以服務(wù)器上內(nèi)存開銷情況通常要求:OS內(nèi)存+SGA+session*(sort_area_size+hash_area_size+2M)<總物理RAM。

以上我們介紹了Oracle常用的調(diào)優(yōu)手段有哪些,如果您想了解關(guān)于Oracle方面的其他信息,請您及時關(guān)注中培偉業(yè)。

相關(guān)閱讀

主站蜘蛛池模板: 91av视频播放 | 久久天天拍 | 亚洲国产精品久久久久久久久 | 国产在线看一区 | 中文字幕亚洲乱码熟女一区二区 | 精品无码久久午夜福利 | 欧美一级黄色片视频 | 欧美日本韩国一区二区三区 | 亚洲日本高清成人AⅤ片 | 免费啪啪网| 无码被窝影院午夜看片爽爽JK | 毛片毛片毛片毛片毛片毛片小 | 黑人大战亚裔女叫声凄惨 | 在线无码VA中文字幕无码 | 亚洲天堂偷拍 | 国产成人涩涩涩视频在线观看 | 国产乱码精品一区二区三区忘忧草 | 久久riav | 国产精品伦一区二区三区视频 | 中文字幕日本免费毛片全过程 | 欧美人妖另类hd1080p | 二级成人影片免费观看 | 麻花豆剧国产MV在视频播放 | 国内精品视频一区二区三区 | 亚洲色欧美色国产精品 | 99精品人妻少妇一区二区 | 亚洲线精品一区二区三区 | 免费av大片 | 日本在线视频网址 | 精品国产鲁一鲁一区二区张丽 | a级一级黄色片 | 欧美群交射精内射颜射潮喷 | 日韩最新在线视频 | 在线看免费的a | 国产人妖视频一区二区 | 麻豆精品蜜桃 | 在线观看xxxx7777视频 | 在线看片国产福利你懂的 | 91theporn国产在线观看 | 亚洲一区毛片 | 老少做爰XXXXHD老少配 |