Oracle pfile/spfile參數檔案詳解

來源:互聯網
上載者:User

基本規則

  a.在SPFile檔案中,所有參數都是可選的,也就是說只需要在初始化參數檔案中列出那些需要修改的參數,其它保持預設值即可。

  b.SPFile檔案中只能包含參數指派陳述式和備註陳述式。備註陳述式以“#”符合開頭,是單行注釋。

  c.SPFile檔案中列出的參數是不分次序的。

  d.SPFile參數的名稱和值是不區分大小寫,只有在Unix系統中,由於作業系統本身區分檔案名稱和路徑的大小寫,才需要在設定參數時注意大小寫問題。

  e.若要在SPFile檔案的同一行設定多個參數,需要使用空格分隔。比如:PROCESSES=100 CPU_COUNT=1 OPEN_CURSORS=10

  f.對於可以具有多個值的初始化參數,需要將所有的值放在一個括弧內,並使用逗號進行分隔,比如ROLLBACK_SEGMENTS=(SEG1,SEG2,SEG3,SEG4,SEG5)

  g.在SPFile檔案中,可以使用IFILE參數引用其它的SPFile檔案。

  h.對於具有字串類型值的參數,如果字串中包含空格或定位字元,必須使用單引號或雙引號將字串括起來,比如:NLS_TERRITORY="CZECH REPUBLIC"

  常用參數:

  DB_NAME和DB_DOMAIN

  全域資料庫教程名通常由本機資料庫標識(DB_NAME)和網路網域名稱(DB_DOMAIN)組成,在網路中唯一標識一個Oracle,在只有一個執行個體的情況下,DB_NAME與執行個體標識SID相同。

  全域資料庫名在資料庫建立後可以更改,使用【Alter DataBase RENAME GLOBAL_NAME】語句,語句執行成功後,必須重啟Oracle並重建控制檔案(重建控制檔案是一件比較危險的工作,因此,建議避免修改全域資料庫名)。

  DB_NAME同時儲存在資料檔案、控制檔案和重做記錄檔中,如果DB_NAME參數指定的資料庫名與控制檔案的保持不一致,Oracle將無法啟動。

  CONTROL_FILE

  控制檔案儲存有關於資料庫物理結構的基本資料,每個Oracle都必須至少擁有一個控制檔案。Oracle建議建立兩個控制檔案,並且應當將他們分別放置在不同點硬碟上。

  DB_Block_Buffer

  這部分記憶體的作用主要是在記憶體中緩衝從資料庫中讀取的資料區塊,資料庫緩衝區越大,為使用者已經在記憶體裡的共用資料提供的記憶體就越大,這樣可以減少所需要的磁碟物理讀寫次數。

  在Oracle 9i以前版本資料庫中,緩衝是由db_block_buffers*db_block_size來決定,db_block_size參數是在建立資料庫時設定的,它決定資料庫裡每個塊的大小,9i以前不能改變已經存在的資料庫的塊大小,因此應該在最初建立資料庫時就確保設定適當的資料庫塊大小。在建立資料庫時設定為8k,db_block_buffers*db_block_size的乘積占實體記憶體的20%~30%,實體記憶體在1G以內,可以佔20%,1G~2G之間可佔25%,實體記憶體在2G以上,可以佔30%,甚至更高。

  DB_Block_Lru_Latches

  在多CPU機器上通過初始化參數DB_BLOCK_LRU_LATCHES允許多個LRU鎖存器。當DBWR和伺服器處理序掃描資料區塊緩衝Cache時,它們需要擷取LRU鎖存器。這種鎖存器對於避免緩衝區變髒以及避免被其他進程改變都是必要的,這也避免了掃描時返回不一致的結果。如果沒有使用鎖存器,某個掃描自由緩衝區的進程可能會發現一個自由緩衝區,但是立刻就可能被其他進程使用。每一個LRU 鎖存器至少保護50個資料區塊緩衝區。所有緩衝區都被Oracle基於Hash演算法分配到特定的LRU鎖存器之上。如果該值太小,在資料庫活動量很大時就會潛在地導致競爭。在多CPU機器之上這種競爭會高一些,這是因為多個伺服器處理序可能排隊以擷取一個LRU Cache。該參數預設值為CPU個數的一半,在多CPU系統中,推薦設為等於CPU數目或CPU數目的2倍~3倍(在Oracle 9i中,該參數已經變為一個隱含參數)。

  DB_BLOCK_SIZE

 

  資料庫塊(BLOCK)是Oracle用來管理儲存空間的最小單元,也被稱為Oracle塊,一個Oracle塊可以由一個或多個作業系統快組成。

  Oracle塊的大小在建立Oracle時由DB_BLOCK_SIZE指定,並且在Oracle建立後不能更改。DB_BLOCK_SIZE指定的值為標準Oracle塊的大小,SYSTEM資料表空間及其其它資料表空間的預設地使用標準Oracle塊。標準Oracle塊必須是作業系統的整數倍,通常是4KB或8KB,隨著資料庫塊大小的增加,資料庫對記憶體(SGA區)的需求也會隨著增加。

  註:在Oracle9i中,最多支援使用四種不同大小的非標準Oracle塊,可以是2KB、4KB、8KB、16KB或32KB中的任意四個。

  DB_Cache_Size

  SGA區是Oracle執行個體的重要組成部分,它是由作業系統專門分配給Oracle使用的一塊共用記憶體區。

  該參數直接指定SGA區中資料庫告訴緩衝區的大小(以KB或MB為單位),動態參數,可以在執行個體運行過程中動態改變。

  DB_File_MultibLock_Read_Count

  該參數主要同全表掃描有關。當Oracle在請求大量連續資料區塊的時候,該參數控制塊的讀入速率。DB_FILE_MULTIBLOCK_READ_COUNT參數能對系統效能產生較大的影響,它和DB_BLOCK_SIZE參數之間有重要關係。因為在Unix物理層上,Oracle總是以最小64K的資料庫塊進行讀入,因此應該使這2個參數的乘積為64K。即如果DB_BLOCK_SIZE為8192,則DB_FILE_MULTIBLOCK_READ_COUNT應設為8。

  DB_nK_CACHE_SIZE

  如果要在資料庫中使用非標準塊,除了使用DB_CACHE_SIZE參數外,至少還要指定一個DB_nK_CACHE_SIZE參數。

  DB_nK_CACHE_SIZE一共有5個:DB_2K_CACHE_SIZE、DB_4K_CACHE_SIZE、DB_8K_CACHE_SIZE、DB_16K_CACHE_SIZE、DB_32K_CACHE_SIZE

  DB_Queue_Process

  該參數指定每個常式的SNP作業隊列進程的數量。當使用job或複製時,一定要設定該參數,推薦設為3或4。並行查詢中需要設定的參數

  並行查詢僅當在多CPU處於空閑狀態且資料分布在不同磁碟時才會對某些查詢(有全表掃描操作)的效能產生有益的影響,而且即使在這種情況下,並行查詢服務器的最大數量最好也不要超過CPU的數量。這裡面應該修改的參數如下。
  
   DML_Locks

  該參數表示所有使用者擷取的表鎖的最大數量。對每個表執行 DML 操作均需要一個 DML鎖。例如,如果3個使用者修改 2 個表,就要求該值為 6。該值過小可能會引起死結問題。這個參數同transaction參數有關係,預設為4倍的transaction大小。建議該參數不應該低於600,可以檢查系統的當前值,若比600小,則將transaction參數改為150以上,dml_locks參數會自動變為transaction的4倍。

  Java_Pool_Size

  Oracle 8i以後版本中,Oracle資料庫內建了對Java的支援,短訊息系統並未使用這些功能,因此java_pool_size的值可以減少到1M。但如果資料庫安裝時選擇了JServer組件,則這個值可以設定為20M~30M之間。(可以查詢v$option動態視圖,如果java那一項值為true,則表示安裝了JServer,為false,表示未安裝)。

  Large_Pool_Size

  Oracle的large_pool用於MTS、並行查詢和RMAN。如果使用了MTS或RMAN,large_pool特別有用,它可以降低使用者對shared_pool的爭用,這個參數不推薦設定。(或設為1M)。

  Log_Buffer

  Log_buffer是重做日誌緩衝區,對資料庫的任何修改都按順序被記錄在該緩衝,然後由LGWR進程將它寫入磁碟。LGWR的寫入條件是:使用者提交、有1/3重做日誌緩衝區未被寫入磁碟、有大於1M重做日誌緩衝區未被寫入磁碟、逾時、DBWR需要寫入的資料的SCN 號大於LGWR記錄的SCN 號,DBWR 觸發LGWR寫入。從中可以看出,大於1M的log buffer值意義並不大,建議不論實體記憶體多

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.