Oracle資料庫初始化引數更改的注意事項

2021-08-30 05:24:51 字數 2013 閱讀 5454

一般只有在大型應用中或者資料據庫效能明顯下降時才需要修改這個初始化引數。所以從這個角度來講,初始化引數的調整算是oracle資料庫中的乙個高階應用。但是這也是乙個oracle資料庫管理員必須要掌握的內容。為了更高的調整資料庫的初始化引數,筆者認為管理員在了解各個初始化引數的用途以及調整規則之前,需要先了解一些初始化引數調整的一些共性的內容。具體來說,主要有以下幾個方面。

一、需要了解哪些引數不用重新啟動即可生效。

那麼哪些引數不需用重新啟動就可以被修改呢?其實,資料庫管理員只需要查詢動態檢視,即可以知道哪些引數不用關閉或者重新啟動就可以更改。如在動態視同v$parameter中,儲存著初始化引數的值。一般來說,可以在查詢語句中加入條件issys_modifiable<>』false』 or isses_modifiable<>』false』(注意他們之間是or的關係,而不是and關係),最後查詢出來的引數就是不用關閉或者重新啟動資料庫就可以設定的初始化引數。同時這些引數也是可以利用alter system與alter session命令可以更改的部分初始化引數。也就是說,不用關閉或者重新啟動資料庫就可以修改的引數都可以使用上面兩個命令來進行重新設定。但是並不是說,利用這兩個命令都可以在不用重新啟動或者關閉資料庫的情況更改初始化引數。簡單的說,就是可以利用這兩個命令來更改的引數,有些需要重新啟動或者關閉資料庫,而有些則不用。

二、根據20/80原則來確定需要更改的引數。

oracle資料庫中的初始化引數有上百個。無論出於什麼目的,去一一調整這些引數往往是不現實的。乙個優秀的資料庫管理員,只需要掌握其中少數幾個引數的修改即可。往往掌握這幾個引數的修改方法、原則以注意事項,就可以完成大部分的資料庫維護任務。這就是20/80的規律在其作用。也就是說,只需要掌握20%的引數(其實還遠遠不到這個比例),就可以完成80%的任務(其實遠遠高於這個比例)。也就是說,10/90規則對這個oracle初始化引數來說,可能更加的適用。總之筆者要說的就是,只需要掌握眾多初始化引數中的少數幾個即可。即使需要通過調整初始化引數來提高資料庫效能或者其他目的的,也就是在這幾個少數的初始化引數中。對於其他的引數,資料庫管理員只需要了解其用途,而不需要了解該如何調整這些引數。因為遇到的機率可以說基本沒有。

那麼這些重要的引數到底有哪些呢?主要有以下幾個引數。最重要的乙個引數就是 db_cache_size。這是乙個用來調整資料庫快取大小的引數。在必要的時候,調整這個引數的大小,可以提高資料快取的命中率,從而大幅度的提高資料庫的效能。第二個引數是db_block_size。這個引數主要是用來指定資料庫在建立時所預設的塊大小。如果塊設定的比較小,則有可能會發生行鏈化現象,從而降低資料庫的效能;也有可能增加資料庫的碎片,浪費表空間的儲存空間以及降低資料庫的查詢效能等等。所以根據需要有時候也要調整這個塊大小來改善資料庫的效能。第三個引數是shared_pool_size引數。這個引數主要是為那些資料字典快取和共享sql語句指定了在sga裡所分配的記憶體。簡單的來說,合理配置這個引數,能夠同等的共享sql語句。調整這個引數,也是一種優化資料庫效能的常用手段。第四個引數為sga_max_size引數,這個引數指定了sga可以動態增長的最大記憶體。在sqlserver資料庫中也有類似的引數。一般來說,在同台資料庫伺服器中若部署有多個應用服務的話,則往往需要合理配置這個引數來避免多個應用服務之間爭用記憶體。如果這個引數設定的不合適的話,則有時候會導致另外一種應用服務由於沒有足夠的記憶體而停止服務。第五個引數為log_checkpoint_interval。這個引數主要用來設定檢查點的頻率。在每個檢查點中,資料庫系統執行資料寫出,將所有髒塊(已經修改還沒有儲存到硬碟中的資料)寫入到資料庫中對應的資料檔案中。預設情況下,如果在資料庫快取中有1/4的資料緩衝區是髒緩衝區,則資料庫系統會自動執行檢查點。另外乙個強制的原則就是在進行日誌切換時,也會執行檢查點。在一些特定的情況下,如建立資料倉儲,需要調整這個引數以滿足特定場合的需要。

三、使用spfile來動態修改引數。

從以上的分析中可以看出,這個資料庫引數的調整還是乙個比較複雜的工作。筆者認為,管理員在學習如何調整這個引數之前,需要先了解上面這些共性的內容。即引數修改的時間限制、最可能需要調整的引數以及如何讓動態引數永遠生效等等。這些是做好引數優化工作的基礎。

設定資料庫初始化引數

第二章 資料庫的安裝和建立,通過實踐來完成,已寫成日誌第三章 例項管理 資料庫和例項由一組初始化引數進行控制。資料數目很多,其中有約33個是真正重要的。這些引數決定了下列這些設定,例如,例項要求作業系統在啟動時分配的記憶體量,控制檔案和重做日誌檔案的位置以及資料庫名稱。預設引數值並不適合於大多數的生...

php初始化資料庫,初始化資料庫

進入安裝流程 從weiphp5.0開始,入口檔案index不在根目錄下,而是沿用tp5風格,放在public目錄 因此你的 目錄建議最好配置到public目錄下,比如在apache環境下,配置httpd.conf檔案如下 在nginx環境下,配置 conf檔案中的root引數到public目錄下 然...

Oracle初始化引數檔案

oracle9i以前只有乙個文字初始化引數檔案,在oracle9i中增加了乙個伺服器引數檔案spfile,該檔案位於 oralce home database 目錄下,預設檔名spfile sid ora。在啟動資料庫例項時spfile比傳統的pfile優選,spfile是二進位制檔案不能通過文字形...