ORACLE效能調整---2

tieshuai發表於2008-07-23
把使用者資料與資料字典資料分開。
  把不同應用組的資料分別放在不同的表空間中。
  為了減少I/O的競爭,把不同表空間的資料檔案放在不同的硬碟上。
  分離使用者資料和回滾段的資料以防止某個磁碟出現故障丟失資料。
  控制資料的可用性,例如使一些表空間聯機(online)而另一些表空間離線(offline)
  為特殊型別的資料庫使用保留某個表空間。例如,高頻率的更新操作,只讀操作或臨時段
  在上述原則中,對日常系統最有用的原則是把索引空間同資料表空間分離開來。把它們分
離出來的理由如下:與表相關聯的索引會導致I/O和表增長/碎片問題的出現。碎片問題同樣要
求將資料段從系統表空間中分離出來。同時對索引的資料操縱和查詢時將會由大量的輸入/輸
出。索引段同樣因為不恰當的大小或無法預料的表增長問題而導致碎片。將應用索引分離到一
個單獨的表空間中,將大大減少管理資料空間和索引空間碎片問題的工作量。
  在資料庫的表空間設計時,建議每一個表空間對應的資料物理檔案的大小應該小於1G大小
,因為許多系統的作業系統不支援大於2G大小的檔案。同時,從資料庫的備份角度考慮,對小
檔案的備份不僅可以提高備份的速度,也可以提高備份的安全性。
  對錶空間建立的時候,有一引數應該注意,它就是在建立TABLESPACE時用到的DEFAULT
STORAGE,該引數決定了今後建表或建索引時預設的儲存策略(也就是說如果沒有修改建表或
建索引的引數時,系統就用該預設引數)。
  由於建立表空間要用到資料檔案,如果一個系統很大的話,就需要許多的資料檔案。而該
資料檔案的個數會受到初始化引數或作業系統的限制,因此在建立表空間時,應該考慮系統的
限制,選擇有效的引數。對於一個ORACLE資料庫而言,它的最大數目受如下三個方面限制,它
們分別是:作業系統能夠開啟的最大檔案數目,db_files的數目,建立資料庫時的引數
maxdatafiles數目。在上述引數中,以作業系統的限制為主,其次為maxdataflies,最後為
db_files。也就是說如果作業系統允許開啟的檔案數為32,而maxdatafiles設定為48的話,系
統認為開啟的檔案數目最大為32,如果作業系統允許最大的開啟檔案數目為64,maxdatafiles
數目為32,db_files數目為48,那麼系統允許開啟的檔案最大數目為32,而不是48。
  在進行臨時表空間的設計時,應該考慮在實際的日常應用中會引起臨時表空間擴充套件的語句
,因為臨時表空間的擴充套件同樣會導致應用的終止。在我們日常的應用中如下DDL或DML語句會引
  建立索引:create index
  在日常的DML語句中存在如下關鍵字會引起臨時表空間擴充套件:SELECT…DISTINCT,ORDER
  沒有索引的連線:none-indexed joins
  包含關聯的子查詢:certain correlated subqueries

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/701141/viewspace-407196/,如需轉載,請註明出處,否則將追究法律責任。

相關文章