關係型資料庫(Oracle)效能優化(一)

2021-08-26 17:29:55 字數 2560 閱讀 7529

為了保證oracle資料庫執行在最佳的效能狀態下,在資訊系統開發之前就應該考慮資料庫的優化策略。

優化策略一般包括伺服器作業系統引數調整資料庫引數調整網路效能調整應用程式sql語句分析及設計等幾個方面。

分析評價oracle資料庫效能主要有資料庫吞吐量、資料庫使用者響應時間兩項指標。資料庫使用者響應時間又可以分為系統服務時間和使用者等待時間兩項,即:資料庫使用者響應時間=系統服務時間+使用者等待時間   

因此,獲得滿意的使用者響應時間有兩個途徑:

一是減少系統服務時間,即提高資料庫的吞吐量;

二是減少使用者等待時間,即減少使用者訪問同一資料庫資源的衝突率。     

一、硬體方面

資料庫的硬體配置

:cpu

、記憶體、網路條件。

1. cpu:

在任何機器中cpu的資料處理能力往往是衡量計算機效能的乙個標誌,並且oracle是乙個提供並行能力的資料庫系統,在cpu方面的要求就更高了,如果執行佇列數目超過了cpu處理的數目,效能就會下降,我們要解決的問題就是要適當增加cpu的數量了,當然我們還可以將需要許多資源的程序kill掉;

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

2. 記憶體:衡量機器效能的另外乙個指標就是記憶體的多少了,在oracle中記憶體和我們在建資料庫中的交換區進行資料的交換,讀資料時,磁碟i/o必須等待物理i/o操作完成,在出現oracle的記憶體瓶頸時,我們第乙個要考慮的是增加記憶體,由於i/o的響應時間是影響oracle效能的主要引數。

記憶體引數的調整主要是指oracle資料庫的系統全域性區(sga)的調整。sga主要由3部分構成:共享池、資料緩衝區、日誌緩衝區。共享池由兩部分構成:共享sql區和資料字典緩衝區。共享sql區是存放使用者sql命令。

3. 網路條件:net*sql負責資料在網路上的來往,大量的sql會令網路速度變慢。比如10m的網絡卡和100的網絡卡就對net*sql有非常明顯的影響,還有交換機、集線器等等網路裝置的效能對網路的影響很明顯,建議在任何網路中不要試圖用3個集線器來將網段互聯。

調整作業系統引數

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

調整硬碟i/o

資料庫管理員可以將組成同乙個表空間的資料檔案放在不同的硬碟上,做到硬碟之間i/o 負載均衡。

調整伺服器記憶體分配 

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

os引數的設定

下表給出了os的引數設定及說明,dba可以根據實際需要對這些引數進行設定

核心引數名 說明

bufpages

對buffer空間不按靜態分配,採用動態分配,使bufpages值隨nbuf一起對buffer空間進行動態分配。

create_fastlinks

對hfs檔案系統允許快速符號鏈結

dbc_max_pct

加大最大動態buffer空間所佔物理記憶體的百分比,以滿足應用系統的讀寫命中率的需要。

dbc_min_pct

設定最小動態buffer空間所佔物理記憶體的百分比

desfree

提高開始交換操作的最低空閒記憶體下限,保障系統的穩定性,防止出現不可預見的系統崩潰(crash)。

fs_async

允許進行磁碟非同步操作,提高cpu和磁碟的利用率

lotsfree

提高系統解除換頁操作的空閒記憶體的上限值,保證應用程式有足夠的可用記憶體空間。

maxdsiz

針對系統資料量大的特點,加大最大資料段的大小,保證應用的需要。(32位)

maxdsiz_64bit

maximum process data segment size for 64_bit

maxssiz

加大最大堆疊段的大小。(32_bit)

maxssiz_64bit

加大最大堆疊段的大小。(64_bit)

maxtsiz

提高最大**段大小,滿足應用要求

maxtsiz_64bit

原值過大,應調小

minfree

提高停止交換操作的自由記憶體的上限

shmem

允許進行記憶體共享,以提高記憶體的利用率

shmmax

設定最大共享記憶體段的大小,完全滿足目前的需要

timeslice

由於系統的瓶頸主要反映在磁碟i/o上,因此 降低時間片的大小,一方面可避免因磁碟i/o不暢造成cpu的等待,從而提高了cpu的綜合利用率。另一方面減少了程序的阻塞量。

unlockable_mem

提高了不可鎖記憶體的大小,使可用於換頁和交換的記憶體空間擴大,用以滿足系統對記憶體管理的要求。

關係型資料庫 非關係型資料庫

關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...

關係型資料庫 非關係型資料庫

2019 02 25 20 38 36 關係型資料庫和非關係型資料的比較 一 關係型資料庫 關係型資料庫最典型的資料結構是表,由二維表及其之間的聯絡所組成的乙個資料組織 優點 1 易於維護 都是使用表結構,格式一致 2 使用方便 sql語言通用,可用於複雜查詢 3 複雜操作 支援sql,可用於乙個表...

關係型資料庫與非關係型資料庫

關係型資料庫與非關係型資料庫的區別 非關係型資料庫的優勢 1.效能 nosql是基於鍵值對的,可以想象成表中的主鍵和值的對應關係,而且不需要經過sql層的解析,所以效能非常高。2.可擴充套件性 同樣也是因為基於鍵值對,資料之間沒有耦合性,所以非常容易水平擴充套件。關係型資料庫的優勢 1.複雜查詢 可...