優化Oracle資料庫效能

2022-11-23 01:18:04 字數 2567 閱讀 3795

4. 調整伺服器記憶體分配記憶體分配是在資訊系統執行過程中優化配置的。資料庫管理員根據資料庫的執行狀況不僅可以調整資料庫系統全域性區(sga區)的資料緩衝區、日誌緩衝區和共享池的大小,而且還可以調整程式全域性區(pga區)的大小。

5. 調整硬碟i/o 這一步是在資訊系統開發之前完成的。資料庫管理員可以將組成同乙個表空間的資料檔案放在不同的硬碟上,做到硬碟之間i/o 負載均衡。

6. 調整作業系統引數例如:執行在unix作業系統上的 oracle資料庫,可以調整 unix資料緩衝區的大小、每個程序所能使用的記憶體大小等引數。

實際上,上述資料庫優化措施之間是相互聯絡的。oracle 資料庫效能惡化的表現基本上都是使用者響應時間比較長,需要使用者長時間的等待。而效能惡化的原因卻是多種多樣的,有時是多個因素共同造成了效能惡化的結果,這就需要資料庫管理員有比較全面的計算機知識,能夠敏感地察覺到影響資料庫效能的主要原因所在。

另外,良好的資料庫管理工具對於優化

效能優化工具

oracle資料庫常用的資料庫效能優化工具有:

1. oracle資料庫**資料字典 oracle**資料字典能夠反映出oracle的動態運**況,對於調整資料庫效能是很有幫助的。

2. 作業系統工具例如使用unix作業系統的vmstat、 iostat等命令可以檢視到系統級記憶體和硬碟i/o的使用情況,這些工具能夠幫助管理員弄清楚系統瓶頸出現在什麼地方。

3. sql語言跟蹤工具(sql trace facility)

sql語言跟蹤工具可以記錄sql語句的執**況,管理員可以使用虛擬表來調整例項,並使用sql語句跟蹤檔案調整應用程式效能。sql語言跟蹤工具將結果輸出成乙個作業系統

4. oracle enterprise manager(oem) 這是乙個圖形的使用者管理介面,使用者可以使用它方便地進行資料庫管理而不必記住複雜的oracle資料庫管理的命令。

5. explain plan??sql語言優化命令使用這個命令可以幫助程式設計師寫出高效的

系統效能評估

資訊系統的型別不同,需要關注的資料庫引數也是不同的。資料庫管理員需要根據自

1. **事務處理資訊系統(oltp) 這種型別的資訊系統一般需要有大量的insert、 update操作,典型的系統包括民航機票發售系統、銀行儲蓄系統等。oltp系統需要保證資料庫的併發性、可靠性和終端使用者的速度,這類系統使用的oracle資料庫需主要考慮以下引數:

資料庫回滾段是否足夠?

是否需要建立oracle資料庫索引、聚集、雜湊?

系統全域性區(sga)大小是否足夠?

sql語句是否高效?

2. 資料倉儲系統(data warehousing) 這種資訊系統的主要任務是從oracle的海量資料中進行查詢,以得到資料之間的某些規律。資料庫管理員需要為這種型別的oracle資料

是否採用b*?索引或者bitmap索引?

是否採用並行sql查詢以提高查詢效率?

是否採用pl/sql函式編寫儲存過程?

有必要的話,需要建立並行資料庫以提高資料庫的查詢效率。

引數的調整

1. cpu引數

cpu是伺服器的一項重要資源,伺服器良好的工作狀態表現為在工作高峰時cpu的使用率高於90%。如果空閒時間cpu使用率就在90%以上,說明伺服器缺乏cpu資源;如果工作高峰時cpu使用率仍然很低,則說明伺服器cpu 資源還比較充足。

使用操作命令可以看到cpu的使用情況,一般unix作業系統的伺服器,可以使用 sar-u命令檢視cpu的使用率;nt作業系統的伺服器,可以使用nt的效能管理器來檢視cpu的使

資料庫管理員可以通過檢視v$sysstat資料字典中的 「cpu used by this session 」統計項得知oracle資料庫使用的cpu時間;檢視「os user level cpu time」統計項得知作業系統使用者狀態下的cpu時間;檢視「os system call cpu time」 統計項得知作業系統系統狀態下的cpu時間,作業系統總的cpu時間就是使用者狀態和系統狀態時間之和。如果oracle資料庫使用的cpu時間佔作業系統總cpu時間的90%以上,就說明伺服器cpu基本上被oracle資料庫使用著,這是合理的,反之,則說明伺服器cpu被其他程式占用過多,oracle資料庫無法

2. 記憶體引數

記憶體引數的調整主要是指oracle資料庫的系統全域性區(sga)的調整。sga主要由3部分構成:共享池、資料緩衝區、日誌緩衝區。

共享池由兩部分構成:共享sql區和資料字典緩衝區。共享sql區是存放使用者sql命令

結束語oracle資料庫的效能優化調整是乙個系統工程,涉及的方面很多。資料庫管理員需要綜合運用上面介紹的規律,認真分析oracle在執行過程當**現的各種問題,以保證oracle資料庫執行的高效率。還需要指出的是,上面給出的語句只是測得oracle執行過程的某乙個時間點的情況,資料庫管理員不能僅僅根據乙個點的情況就斷定資料庫執行效能的好壞,只有多執行一些時間點才能對資料庫執行狀況做出乙個綜合評估。

由於單個時間點的監測是很麻煩的,且對於多個時間點的監測更是一項煩瑣的工作,為此,筆者開發了oracle資料庫效能監測軟體oratune。這個軟體不僅能夠定時從資料庫中讀取各種引數並自動計算出各種比例,而且還能自動根據這些比例的好壞建議資料庫管理員修改

oratune已經在清華大學、華北電力集團等多個單位得到了應用,對oracle資料庫的效能優化調整起到了良好的作用。1

oracle資料庫入門

很多剛剛接觸oracle資料庫的初學者總是感覺oracle很難學,無從下手,漸漸的感覺對oracle很排斥,有的朋友找了本oracle是書也是一點也看不懂,或者看了前面幾章,還是不知道怎麼用。其實,從筆者的親身經歷來說,oracle入門很簡單,使用oracle的基本功能也是一件非常簡單的事情。但是想...

Oracle資料庫知識總結

ad1.執行乙個sql指令碼檔案 sql start file name sql file name 我們可以將多條sql語句儲存在乙個文字檔案中,這樣當要執行這個檔案中的所有的sql語句時,用上面的任一命令即可,這類似於dos中的批處理。4.將顯示的內容輸出到指定檔案 sql spool file...

關於ORACLE資料庫索引

許娟萍1999.03.22 一 索引 索引不是執行oracle所必需的,但它能夠加快查詢速度。當執行同樣的查詢時,若有利用索引,oracle首先在索引中查詢,由於索引是按大小排列的,因此能很快找到查詢結果。乙個表的單個索引最多可以包含16個列。索引太多的代價是降低插入新行的速度 每做一次insert...