自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle性能調(diào)優(yōu)原則

數(shù)據(jù)庫(kù) Oracle
Oracle數(shù)據(jù)庫(kù)是甲骨文公司的一款關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。Oracle數(shù)據(jù)庫(kù)性能的調(diào)優(yōu)是實(shí)現(xiàn)Oracle數(shù)據(jù)庫(kù)在正常狀態(tài)下運(yùn)行的必要條件,Oracle數(shù)據(jù)庫(kù)性能的調(diào)優(yōu)也是要遵循一定的原則的,下文中就重點(diǎn)為大家總結(jié)了一些Oracle數(shù)據(jù)庫(kù)性能調(diào)優(yōu)的原則。

Oracle數(shù)據(jù)庫(kù)是甲骨文公司的一款關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。Oracle數(shù)據(jù)庫(kù)性能調(diào)優(yōu)是實(shí)現(xiàn)Oracle數(shù)據(jù)庫(kù)在正常狀態(tài)下運(yùn)行的必要條件,Oracle數(shù)據(jù)庫(kù)性能的調(diào)優(yōu)也是要遵循一定的原則的,下文中就重點(diǎn)為大家總結(jié)了一些Oracle數(shù)據(jù)庫(kù)性能調(diào)優(yōu)的原則。任何事情都有它的源頭,要解決問(wèn)題,也得從源頭開始,影響ORACLE性能的源頭非常多,主要包括如下方面:數(shù)據(jù)庫(kù)的硬件配置:CPU、內(nèi)存、網(wǎng)絡(luò)條件。

1. CPU:在任何機(jī)器中CPU的數(shù)據(jù)處理能力往往是衡量計(jì)算機(jī)性能的一個(gè)標(biāo)志,并且ORACLE是一個(gè)提供并行能力的數(shù)據(jù)庫(kù)系統(tǒng),在CPU方面的要求就更高了,如果運(yùn)行隊(duì)列數(shù)目超過(guò)了CPU處理的數(shù)目,性能就會(huì)下降,我們要解決的問(wèn)題就是要適當(dāng)增加CPU的數(shù)量了,當(dāng)然我們還可以將需要許多資源的進(jìn)程KILL掉;

 

2. 內(nèi)存:衡量機(jī)器性能的另外一個(gè)指標(biāo)就是內(nèi)存的多少了,在ORACLE中內(nèi)存和我們?cè)诮〝?shù)據(jù)庫(kù)中的交換區(qū)進(jìn)行數(shù)據(jù)的交換,讀數(shù)據(jù)時(shí),磁盤I/O必須等待物理I/O操作完成,在出現(xiàn)ORACLE的內(nèi)存瓶頸時(shí),我們***個(gè)要考慮的是增加內(nèi)存,由于I/O的響應(yīng)時(shí)間是影響ORACLE性能的主要參數(shù),我將在這方面進(jìn)行詳細(xì)的講解

 

3. 網(wǎng)絡(luò)條件:NET*SQL負(fù)責(zé)數(shù)據(jù)在網(wǎng)絡(luò)上的來(lái)往,大量的SQL會(huì)令網(wǎng)絡(luò)速度變慢。比如10M的網(wǎng)卡和100的網(wǎng)卡就對(duì)NET*SQL有非常明顯的影響,還有交換機(jī)、集線器等等網(wǎng)絡(luò)設(shè)備的性能對(duì)網(wǎng)絡(luò)的影響很明顯,建議在任何網(wǎng)絡(luò)中不要試圖用3個(gè)集線器來(lái)將網(wǎng)段互聯(lián)。

 

OS參數(shù)的設(shè)置

 

下表給出了OS的參數(shù)設(shè)置及說(shuō)明,DBA可以根據(jù)實(shí)際需要對(duì)這些參數(shù)進(jìn)行設(shè)置

 

內(nèi)核參數(shù)名

 

說(shuō)明

 

bufpages

 

對(duì)buffer空間不按靜態(tài)分配,采用動(dòng)態(tài)分配,使bufpages值隨nbuf一起對(duì)buffer空間進(jìn)行動(dòng)態(tài)分配。

 

create_fastlinks

 

對(duì)HFS文件系統(tǒng)允許快速符號(hào)鏈接

 

dbc_max_pct

 

加大***動(dòng)態(tài)buffer空間所占物理內(nèi)存的百分比,以滿足應(yīng)用系統(tǒng)的讀寫命中率的需要。

 

dbc_min_pct

 

設(shè)置最小動(dòng)態(tài)buffer空間所占物理內(nèi)存的百分比

 

desfree

 

提高開始交換操作的***空閑內(nèi)存下限,保障系統(tǒng)的穩(wěn)定性,防止出現(xiàn)不可預(yù)見的系統(tǒng)崩潰(Crash)。

 

fs_async

 

允許進(jìn)行磁盤異步操作,提高CPU和磁盤的利用率

 

lotsfree

 

提高系統(tǒng)解除換頁(yè)操作的空閑內(nèi)存的上限值,保證應(yīng)用程序有足夠的可用內(nèi)存空間。

 

maxdsiz

 

針對(duì)系統(tǒng)數(shù)據(jù)量大的特點(diǎn),加大***數(shù)據(jù)段的大小,保證應(yīng)用的需要。(32位)

 

maxdsiz_64bit

 

maximum process data segment size for 64_bit

 

Maxssiz

 

加大***堆棧段的大小。(32_bit)

 

maxssiz_64bit

 

加大***堆棧段的大小。(64_bit)

 

Maxtsiz

 

提高***代碼段大小,滿足應(yīng)用要求

 

maxtsiz_64bit

 

原值過(guò)大,應(yīng)調(diào)小

 

Minfree

 

提高停止交換操作的自由內(nèi)存的上限

 

Shmem

 

允許進(jìn)行內(nèi)存共享,以提高內(nèi)存的利用率

 

Shmmax

 

設(shè)置***共享內(nèi)存段的大小,完全滿足目前的需要

 

Timeslice

 

由于系統(tǒng)的瓶頸主要反映在磁盤I/O上,因此 降低時(shí)間片的大小,一方面可避免因磁盤I/O不暢造成CPU的等待,從而提高了CPU的綜合利用率。另一方面減少了進(jìn)程的阻塞量。

 

unlockable_mem

 

提高了不可鎖內(nèi)存的大小,使可用于換頁(yè)和交換的內(nèi)存空間擴(kuò)大,用以滿足系統(tǒng)對(duì)內(nèi)存管理的要求。

 

用戶SQL質(zhì)量

 

以上講的都是硬件方面的東西,在條件有限的條件下,我們可以調(diào)整應(yīng)用程序的SQL質(zhì)量:

 

1. 不要進(jìn)行全表掃描(Full Table Scan):全表掃描導(dǎo)致大量的I/O

 

2. 盡量建好和使用好索引:建索引也是有講究的,在建索引時(shí),也不是索引越多越好,當(dāng)一個(gè)表的索引達(dá)到4個(gè)以上時(shí),ORACLE的性能可能還是改善不了,因?yàn)镺LTP系統(tǒng)每表超過(guò)5個(gè)索引即會(huì)降低性能,而且在一個(gè)sql 中, Oracle 從不能使用超過(guò) 5個(gè)索引;當(dāng)我們用到GROUP BY和ORDER BY時(shí),ORACLE就會(huì)自動(dòng)對(duì)數(shù)據(jù)進(jìn)行排序,而ORACLE在INIT.ORA中決定了sort_area_size區(qū)的大小,當(dāng)排序不能在我們給定的排序區(qū)完成時(shí),ORACLE就會(huì)在磁盤中進(jìn)行排序,也就是我們講的臨時(shí)表空間中排序, 過(guò)多的磁盤排序?qū)?huì)令 free buffer waits 的值變高,而這個(gè)區(qū)間并不只是用于排序的,對(duì)于開發(fā)人員我提出如下忠告:

 

1)、select,update,delete 語(yǔ)句中的子查詢應(yīng)當(dāng)有規(guī)律地查找少于20%的表行。如果一個(gè)語(yǔ)句查找的行數(shù)超過(guò)總行數(shù)的20%,它將不能通過(guò)使用索引獲得性能上的提高。

 

2)、索引可能產(chǎn)生碎片,因?yàn)橛涗洀谋碇袆h除時(shí),相應(yīng)也從表的索引中刪除。表釋放的空間可以再用,而索引釋放的空間卻不能再用。頻繁進(jìn)行刪除操作的被索引的表,應(yīng)當(dāng)階段性地重建索引,以避免在索引中造成空間碎片,影響性能。在許可的條件下,也可以階段性地truncate表,truncate命令刪除表中所有記錄,也刪除索引碎片。

 

3)、在使用索引時(shí)一定要按索引對(duì)應(yīng)字段的順序進(jìn)行引用。

 

4)、用(+)比用NOT IN更有效率。

 

降低ORACLE的競(jìng)爭(zhēng):

 

先講幾個(gè)ORACLE的幾個(gè)參數(shù),這幾個(gè)參數(shù)關(guān)系到ORACLE的競(jìng)爭(zhēng):

 

1)、freelists 和 freelist 組:他們負(fù)責(zé)ORACLE的處理表和索引的空間管理;

 

2)、pctfree 及 pctused:該參數(shù)決定了freelists 和 freelist 組的行為,pctfree 和pctused 參數(shù)的唯一目的就是為了控制塊如何在 freelists 中進(jìn)出

 

設(shè)置好pctfree 及 pctused對(duì)塊在freelists的移走和讀取很重要。

 

其他參數(shù)的設(shè)置

 

1)、包括SGA區(qū)(系統(tǒng)全局區(qū)):系統(tǒng)全局區(qū)(SGA)是一個(gè)分配給Oracle 的包含一個(gè) Oracle 實(shí)例的數(shù)據(jù)庫(kù)的控制信息內(nèi)存段。

 

主要包括數(shù)據(jù)庫(kù)高速緩存(the database buffer cache),

 

重演日志緩存(the redo log buffer),

 

共享池(the shared pool),

 

數(shù)據(jù)字典緩存(the data dictionary cache)以及其它各方面的信息

 

2)、db_block_buffers(數(shù)據(jù)高速緩沖區(qū))訪問(wèn)過(guò)的數(shù)據(jù)都放在這一片內(nèi)存區(qū)域,該參數(shù)越大,Oracle在內(nèi)存中找到相同數(shù)據(jù)的可能性就越大,也即加快了查詢速度。

 

3)、share_pool_size (SQL共享緩沖池):該參數(shù)是庫(kù)高速緩存和數(shù)據(jù)字典的高速緩存。

 

4)、Log_buffer (重演日志緩沖區(qū))

 

5)、sort_area_size(排序區(qū))

 

6)、processes (同時(shí)連接的進(jìn)程數(shù))

 

7)、db_block_size (數(shù)據(jù)庫(kù)塊大小):Oracle默認(rèn)塊為2KB,太小了,因?yàn)槿绻覀冇幸粋€(gè)8KB的數(shù)據(jù),則2KB塊的數(shù)據(jù)庫(kù)要讀4次盤,才能讀完,而8KB塊的數(shù)據(jù)庫(kù)只要1次就讀完了,大大減少了I/O操作。數(shù)據(jù)庫(kù)安裝完成后,就不能再改變db_block_size的值了,只能重新建立數(shù)據(jù)庫(kù)并且建庫(kù)時(shí),要選擇手工安裝數(shù)據(jù)庫(kù)。

 

8)、open_links (同時(shí)打開的鏈接數(shù))

 

9)、dml_locks

 

10)、open_cursors (打開光標(biāo)數(shù))

 

11)、dbwr_io_slaves (后臺(tái)寫進(jìn)程數(shù))

關(guān)于Oracle數(shù)據(jù)庫(kù)中性能調(diào)優(yōu)的原則就為大家講述到這里,大家在以后進(jìn)行Oracle數(shù)據(jù)庫(kù)性能調(diào)優(yōu)的工作時(shí)可以參照上文中介紹的內(nèi)容,希望大家都能夠從中有所收獲。

 

責(zé)任編輯:迎迎 來(lái)源: 中國(guó)IT實(shí)驗(yàn)室
相關(guān)推薦

2011-05-20 14:23:01

Oracle調(diào)優(yōu)

2009-04-01 11:17:52

內(nèi)存分配調(diào)優(yōu)Oracle

2017-07-21 08:55:13

TomcatJVM容器

2010-05-05 14:04:31

Oracle 性能

2012-06-20 11:05:47

性能調(diào)優(yōu)攻略

2021-03-04 08:39:21

SparkRDD調(diào)優(yōu)

2010-05-04 17:08:24

Oracle數(shù)據(jù)庫(kù)

2011-05-18 10:16:24

Oracle調(diào)優(yōu)

2011-03-10 14:40:54

LAMPMysql

2011-11-14 10:28:23

2020-11-30 11:40:35

NginxLinux性能調(diào)優(yōu)

2011-03-18 11:21:48

2010-04-07 13:32:39

Oracle調(diào)優(yōu)

2009-11-17 13:45:12

Oracle SQL調(diào)

2024-12-04 15:49:29

2012-06-21 09:43:45

2013-02-28 10:15:14

Ubuntu性能調(diào)優(yōu)故障排查

2021-11-07 23:49:19

SQL數(shù)據(jù)庫(kù)工具

2019-07-08 14:05:53

數(shù)據(jù)庫(kù)JVMSQL

2011-03-21 09:35:38

LAMP調(diào)優(yōu)網(wǎng)絡(luò)文件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)