新聞中心
Oracle有很多值得學(xué)習(xí)的地方,這里我們主要介紹Oracle優(yōu)化,包括介紹可變參數(shù)的Oracle優(yōu)化等方面。數(shù)據(jù)庫系統(tǒng)和操作系統(tǒng)一樣,在計(jì)算機(jī)上安裝成功后,還需要進(jìn)一步配置和優(yōu)化,從而使其具有更強(qiáng)大的功能和運(yùn)行在最佳狀態(tài)。如果在設(shè)計(jì)階段因?yàn)楦鞣N因素沒有進(jìn)行較為合理的配置和計(jì)劃,那么就需要在后期對(duì)數(shù)據(jù)庫系統(tǒng)進(jìn)行優(yōu)化。

成都創(chuàng)新互聯(lián)主營(yíng)陽東網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app開發(fā),陽東h5微信平臺(tái)小程序開發(fā)搭建,陽東網(wǎng)站營(yíng)銷推廣歡迎陽東等地區(qū)企業(yè)咨詢
數(shù)據(jù)庫系統(tǒng)性能的優(yōu)化,除了在設(shè)計(jì)階段對(duì)其邏輯存儲(chǔ)結(jié)構(gòu)和物理存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)進(jìn)行優(yōu)化,使之在滿足需求條件下,時(shí)空開銷性能最佳外,還可在運(yùn)行階段,采取一些優(yōu)化措施,使系統(tǒng)性能最佳。本專題所討論的性能優(yōu)化主要指運(yùn)行階段的性能優(yōu)化,即討論如何使用Oracle所提供的優(yōu)化手段來提高系統(tǒng)性能。大多數(shù)性能問題并不是一種孤立的癥狀,而是系統(tǒng)設(shè)計(jì)的結(jié)果,因此性能優(yōu)化就集中在那些導(dǎo)致不可接受特征的同一的、固定的和潛在的問題上。優(yōu)化是數(shù)據(jù)庫設(shè)計(jì)中“計(jì)劃”、 “設(shè)計(jì)”、“監(jiān)視”和“優(yōu)化”四大步驟的最后一步。除了用Oracle優(yōu)化器來優(yōu)化數(shù)據(jù)庫的性能外,DBA還可通過Oracle優(yōu)化的參數(shù)設(shè)置等手段來優(yōu)化數(shù)據(jù)庫的性能,對(duì)參數(shù)的細(xì)微優(yōu)化便能影響系統(tǒng)整體性能。
為了有目的優(yōu)化系統(tǒng)性能,首先應(yīng)明確優(yōu)化目標(biāo),然后再根據(jù)目標(biāo)優(yōu)化各種初始參數(shù)的設(shè)置,以達(dá)到更好效果??捎腥缦聨讉€(gè)優(yōu)化目標(biāo):
◆ 應(yīng)用程序設(shè)計(jì)的優(yōu)化
◆ 指定類型SQL語句的優(yōu)化
◆ 內(nèi)存使用的優(yōu)化
◆ 數(shù)據(jù)存儲(chǔ)、物理存儲(chǔ)和邏輯存儲(chǔ)的優(yōu)化
◆ 網(wǎng)絡(luò)通信量的優(yōu)化
DBA可選定上述一個(gè)或多個(gè)目標(biāo)來實(shí)施優(yōu)化。性能優(yōu)化主要是通過優(yōu)化初始化參數(shù)來實(shí)現(xiàn)。本專題從以下幾個(gè)方面來談?wù)勅绾蜲racle優(yōu)化數(shù)據(jù)庫,使其具有最佳性能。
(1)優(yōu)化初始參數(shù)
(2)優(yōu)化內(nèi)存
(3)優(yōu)化I/O
(4)優(yōu)化資源爭(zhēng)用
(5)其它參數(shù)優(yōu)化
可變參數(shù)的Oracle優(yōu)化
在對(duì)Oracle數(shù)據(jù)庫進(jìn)行優(yōu)化時(shí),需要用到許多的參數(shù),其中有一部分參數(shù)對(duì)系統(tǒng)性能影響較大,這部分參數(shù)叫可變參數(shù)??勺儏?shù)按其作用可以分為兩大類,一大類是起限制作用的,如OPEN_CURSORS;另一大類是影響系統(tǒng)性能的,如DB_BLOCK_BUFFERS。在進(jìn)行數(shù)據(jù)庫系統(tǒng)性能優(yōu)化時(shí),需要熟練掌握和了解一些可變參數(shù)。本文討論了一些對(duì)系統(tǒng)性能有較大影響的參數(shù)。
限制類可變參數(shù)
(1)DML_LOCKS該參數(shù)表明多少個(gè)用戶,可同時(shí)能修改多少張表。例如:有三個(gè)用戶同時(shí)修改二張表,則要求表上的總數(shù)為6。若置為0,則組織隊(duì)列不起作用,其性能會(huì)稍有提高。使用該參數(shù)時(shí)不能用DROP TABLE、CREATE INDEX或顯式封鎖。
(2)LICENSE_MAX_SESSION該參數(shù)指出允許并發(fā)用戶會(huì)話的最大數(shù)。若此參數(shù)為0,則不能實(shí)施并發(fā)。若并發(fā)的用戶會(huì)話數(shù)已達(dá)到此極限,則只有具有RESTRICTED SESSION權(quán)限的用戶才能連接到服務(wù)器。
(3)LICENSE_MAX_USERS該參數(shù)指出在一個(gè)數(shù)據(jù)庫上可建立的最大用戶數(shù)。當(dāng)達(dá)到最大值時(shí),便不能再建新用戶,可改變此值以放松限制。在LICENSE_MAX_SESSION或 LICENSE_MAX_USER為0時(shí),則并發(fā)會(huì)話或任何用戶都不能用。若對(duì)不同的實(shí)例,此參數(shù)不同時(shí),則以第一個(gè)登錄的數(shù)據(jù)庫實(shí)例的參數(shù)為準(zhǔn)。
(4)MAX_DUMP_FILE_SIZE該參數(shù)指定操作系統(tǒng)中寫跟蹤文件的塊的最大值。可用此值來限制跟蹤文件的空間。
(5)OPEN_CURSORS該參數(shù)指明一個(gè)用戶進(jìn)程能同時(shí)打開光標(biāo)的最大數(shù),它能限制每個(gè)用戶進(jìn)程占用的內(nèi)存空間量。
(6)OPEN_LINKS該參數(shù)指定并發(fā)連接到遠(yuǎn)程數(shù)據(jù)庫的最大用戶進(jìn)程數(shù)。若同時(shí)引用多個(gè)數(shù)據(jù)庫,則應(yīng)該增大該值。例如:同時(shí)交替訪問A、B和C三個(gè)數(shù)據(jù)庫時(shí),若OPEN_LINKS設(shè)置為2,則需花費(fèi)等待連接時(shí)間。此參數(shù)只用于分布事務(wù)。若該參數(shù)設(shè)置為0,則不允許進(jìn)行分布事務(wù)處理。
(7)PROCESS該參數(shù)指定同時(shí)連接到Oracle服務(wù)器上的最大用戶進(jìn)程數(shù)。該參數(shù)值包括6個(gè)后臺(tái)進(jìn)程和一個(gè)登錄,因此,該參數(shù)值為20,則只能有13或14個(gè)并發(fā)用戶連接到服務(wù)器。
(8)ROW_LOCKING該參數(shù)指定行封鎖方式。若設(shè)置為“ALWAYS”,則在修改表時(shí)只實(shí)施行封鎖。若設(shè)置為“INTENT”時(shí),則行封鎖只適用于SELECT FOR UPDATE,而在修改時(shí)實(shí)施表封鎖。
當(dāng)前文章:談?wù)撊绾蜲racle優(yōu)化
分享地址:http://m.5511xx.com/article/djsocpp.html


咨詢
建站咨詢
