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

閑談重做Oracle日志文件

數(shù)據(jù)庫 Oracle
這里介紹重做Oracle日志文件是順序?qū)懭氪疟P的,所以盡量不要將重做Oracle日志文件跟數(shù)據(jù)文件存放在同一個磁盤上。

經(jīng)過長時間學(xué)習(xí)重做Oracle日志文件,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。在Windows 2000 Server中可以通過“性能”工具來監(jiān)控磁盤的活動,對VMS和Unix多數(shù)磁盤進行每秒40次以上的I/O是過度的,應(yīng)當(dāng)給予調(diào)節(jié)。

分布I/O以解決磁盤爭用

(1)存放重做Oracle日志文件
重做Oracle日志文件是順序?qū)懭氪疟P的,所以盡量不要將重做Oracle日志文件跟數(shù)據(jù)文件存放在同一個磁盤上。如果不得不將數(shù)據(jù)文件跟重做Oracle日志文件存放在同一個磁盤上,那么該盤空間不應(yīng)該屬于SYSTEM表空間、RBS表空間,以及其它如DATA和INDEX表空間。它們都會直接導(dǎo)致與重做Oracle日志文件之間的爭用,而且還會有增加寫入日志數(shù)據(jù)庫讀寫速度的可能性。

(2)存放檔案日志文件
在進行大量數(shù)據(jù)事務(wù)處理的時候,數(shù)據(jù)庫選擇歸檔功能將會導(dǎo)致其與重做日志磁盤間的爭用。而且當(dāng)檔案重做Oracle日志文件出現(xiàn)空間不夠時,將會引起數(shù)據(jù)庫的凍結(jié)。所以檔案日志文件不能與SYSTEM表空間、RBS表空間或INDEX表空間段存儲在同一設(shè)備上,也不能與任何聯(lián)機重做Oracle日志文件存放在同一設(shè)備上。它只允許與一些小的、靜態(tài)的文件存放到一起。

(3)存放數(shù)據(jù)代碼文件
為了減少數(shù)據(jù)庫文件和數(shù)據(jù)庫代碼之間的爭用,應(yīng)避免將數(shù)據(jù)庫文件作為代碼文件而放在同一磁盤中。如果數(shù)據(jù)文件不得不放在同一磁盤設(shè)備中,那么應(yīng)當(dāng)將最不常用的數(shù)據(jù)文件放在那兒。

(4)減少非Oracle文件的I/O

(5)優(yōu)化DBWR進程爭用

數(shù)據(jù)庫寫進程(DBWR)、日志寫進程(LGWR)與歸檔進程(ARCH)三種后臺處理進程可以空閑存取磁盤上的數(shù)據(jù)庫文件。這三個進程之間常因同時讀寫爭用而導(dǎo)致I/O爭用,而DBWR進程還有自我爭用發(fā)生的可能。通過對DBWR賦值可以有效的解決DBWR的自我爭用問題。

通常在操作系統(tǒng)中為每個實例創(chuàng)建多個DBWR進程,并通過初始參數(shù)DB_WRITERS來確定DBWR的個數(shù)。建議將賦值在n與2n之間,這里的n是指磁盤的個數(shù)。如果賦值不能很好的解決DBWR的內(nèi)部爭用,可以通過異步I/O來減少DBWR的內(nèi)部爭用。由于I/O進程的執(zhí)行都是并行的,所以異步的I/O僅需一個DBWR即可解決問題。

(6)表數(shù)據(jù)存放策略
將大表的數(shù)據(jù)劃分成若干小部分,并將這些部分存儲在不同磁盤的不同數(shù)據(jù)文件中。用create tablespace創(chuàng)建表空間,在datafile子句中指定數(shù)據(jù)文件,每個文件應(yīng)在不同的盤上。如我們需要在三個磁盤上存放數(shù)據(jù)文件,可使用如下代碼:

  1. create tablespace trip  
  2. datafile 'file_on_disk_1' size 500k,  
  3. 'file_on_disk_2' size 500k,  
  4. 'file_on_disk_3' size 500k; 

(7)指定表空間和表大小
用“create table”創(chuàng)建表,在tablespace子句中指定表空間,在storage子句中指定表的大小,如以下SQL語句:

  1. create table striptab (  
  2. ……  
  3. Tablespace strip 1500k  
  4. Storage (initial 495k next 495k minextent 5 pctincreate 0); 

(8)清除其它的磁盤I/O
數(shù)據(jù)塊空間的分配因數(shù)據(jù)庫中的數(shù)據(jù)被存放在數(shù)據(jù)塊中,因此如何分配數(shù)據(jù)塊中的空間將直接影響其存取性能。

當(dāng)用update語句更新一行數(shù)據(jù)時,可能使該行的數(shù)據(jù)增加,從而使其在一個數(shù)據(jù)塊內(nèi)容納不下。這時,Oracle就尋找能容納下該行的數(shù)據(jù)塊,如果能找到這樣的塊,便把該行全部存入新塊中(這稱為行移動)。如果找不到能容納該整行的數(shù)據(jù)塊,則把該行切成若干片,然后把每一片分別存放在一個數(shù)據(jù)塊中,于是這樣的行被存放在多個數(shù)據(jù)塊中,這種行稱為鏈接行。查詢一個鏈接行則需要多次I/O操作,從而產(chǎn)生I/O瓶頸,這將降低數(shù)據(jù)的存取性能。以上介紹重做Oracle日志文件。

【編輯推薦】

  1. 閑扯Oracle數(shù)據(jù)導(dǎo)入
  2. 精煉概括Oracle性能測試
  3. 簡介Oracle INDEX提示
  4. 五分鐘精通Oracle Hints
  5. 簡單介紹Oracle驅(qū)動表
責(zé)任編輯:佚名 來源: 博客
相關(guān)推薦

2010-10-29 14:29:55

Oracle移動重做日

2010-10-29 15:26:29

Oracle日志文件

2011-04-12 10:42:41

Oracle日志文件管理

2010-11-19 13:42:38

2023-03-31 17:33:06

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

2010-04-19 15:53:20

Oracle重做日志

2021-02-19 18:06:57

Oracle日志聯(lián)機

2009-11-11 09:13:11

Oracle索引掃描

2010-04-20 12:09:31

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

2010-10-29 15:07:33

oracle日志

2010-11-19 13:01:31

Oracle日志文件

2009-11-10 16:00:05

Oracle執(zhí)行計劃

2011-08-03 18:42:21

Oracle數(shù)據(jù)庫重做日志

2009-12-18 16:34:47

Fedora proc

2010-10-29 13:50:21

oracle日志文件

2010-10-27 14:34:56

Oracle日志文件

2018-03-12 14:33:49

數(shù)據(jù)庫MySQL日志

2010-04-14 17:11:13

Oracle管理

2010-10-29 13:55:48

Oracle日志文件

2011-08-09 18:40:21

Oracle控制文件重做日志文件
點贊
收藏

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