與oracle緊密相關的unix/linux核心引數
下面是幾個與oracle緊密相關的unix/linux核心引數,在安裝資料庫的時候,一般都需要根據實際情況進行調整。
Init.ora Parameter | Kernel Parameter |
db_block_buffers | shmmax, shmall |
db_files(maxdatafiles) | nfile, maxfiles |
large_pool_size | shmmax, shmall |
log_buffer | shmmax, shmall |
processes | nproc, semmsl, semmns |
shared_pool_size |
shmmax, shmall
|
具體引數的說明如下(為避免歧義,這裡不做翻譯):
maxfiles - Soft file limit per process.
maxuprc - Maximum number of simultaneous user processes per userid.
nfile - Maximum number of simultaneously open files systemwide at any given time.
nproc - Maximum number of processes that can exist simultaneously in the system.
shmall - This parameter sets the total amount of shared memory pages that can be used system wide. Hence, shmall should always be at least
ceil(shmmax/page_size).
shmmax - The maximum size(in bytes) of a single shared memory segment.
shmmin - The minimum size(in bytes) of a single shared memory segment.
shmmni - The number of shared memory identifiers.
shmseg - The maximum number of shared memory segments that can be attached by a process.
semmns - The number of semaphores in the system.
semmni - The number of semaphore set identifiers in the system; determines the number of semaphore sets that can be created at any one time.
semmsl - The maximum number of sempahores that can be in one semaphore set. It should be same size as maximum number of Oracle processes.
這裡的大部分引數根據oracle官方的安裝手冊都可以進行正確的設定,但在實際工作中,發現很多DBA對shmmax和shmall這兩個引數的設定經常出問題,從而影響資料的整體效能,甚至導致安裝失敗。
shmmax引數是單個共享記憶體段的最大值,單位是bytes。這裡與oracle的SGA緊密相關,因為SGA使用的就是共享記憶體段,所以,shmmax>=sga_target,這個引數比較容易設定錯誤,因為在安裝的時候,如果shmmax<sga_target,安裝並不會報錯,但是,當資料庫啟動後,SGA會由多個共享記憶體段組成,而SGA是一個整體,多個共享記憶體段之間會存在通訊,這些通訊對於oracle來說是不必要的開銷,會導致資料庫效能下降。
shmall引數是共享記憶體頁面數的最大值,需要與shmmax引數進行協調設定,shmall>= ceil(shmmax/page_size),其中page_size一般為4k,以具體的作業系統為準。這裡要特別注意,shmall的作用域是整個系統範圍,而shmmax的作用域是單個共享記憶體段。因此,如果在一個系統上有多個oracle例項,shmmax設定大於等於最大的sga_target,而shmall需要大於等於所有例項的sga_target之和除以sga_target。這種情況下,如果多個例項已經啟動,在新增新例項時,如果shmall引數設定過小,會出現ora-27102 out of memory,導致dbca建庫失敗。
maxfiles - Soft file limit per process.
maxuprc - Maximum number of simultaneous user processes per userid.
nfile - Maximum number of simultaneously open files systemwide at any given time.
nproc - Maximum number of processes that can exist simultaneously in the system.
shmall - This parameter sets the total amount of shared memory pages that can be used system wide. Hence, shmall should always be at least
ceil(shmmax/page_size).
shmmax - The maximum size(in bytes) of a single shared memory segment.
shmmin - The minimum size(in bytes) of a single shared memory segment.
shmmni - The number of shared memory identifiers.
shmseg - The maximum number of shared memory segments that can be attached by a process.
semmns - The number of semaphores in the system.
semmni - The number of semaphore set identifiers in the system; determines the number of semaphore sets that can be created at any one time.
semmsl - The maximum number of sempahores that can be in one semaphore set. It should be same size as maximum number of Oracle processes.
這裡的大部分引數根據oracle官方的安裝手冊都可以進行正確的設定,但在實際工作中,發現很多DBA對shmmax和shmall這兩個引數的設定經常出問題,從而影響資料的整體效能,甚至導致安裝失敗。
shmmax引數是單個共享記憶體段的最大值,單位是bytes。這裡與oracle的SGA緊密相關,因為SGA使用的就是共享記憶體段,所以,shmmax>=sga_target,這個引數比較容易設定錯誤,因為在安裝的時候,如果shmmax<sga_target,安裝並不會報錯,但是,當資料庫啟動後,SGA會由多個共享記憶體段組成,而SGA是一個整體,多個共享記憶體段之間會存在通訊,這些通訊對於oracle來說是不必要的開銷,會導致資料庫效能下降。
shmall引數是共享記憶體頁面數的最大值,需要與shmmax引數進行協調設定,shmall>= ceil(shmmax/page_size),其中page_size一般為4k,以具體的作業系統為準。這裡要特別注意,shmall的作用域是整個系統範圍,而shmmax的作用域是單個共享記憶體段。因此,如果在一個系統上有多個oracle例項,shmmax設定大於等於最大的sga_target,而shmall需要大於等於所有例項的sga_target之和除以sga_target。這種情況下,如果多個例項已經啟動,在新增新例項時,如果shmall引數設定過小,會出現ora-27102 out of memory,導致dbca建庫失敗。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28628435/viewspace-1984457/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle相關的linux核心引數OracleLinux
- Linux 核心引數 和 Oracle相關引數調整LinuxOracle
- Linux 核心引數及Oracle相關引數調整LinuxOracle
- (轉)Linux 核心引數及Oracle相關引數調整LinuxOracle
- linux 跟oracle相關的系統核心引數?LinuxOracle
- oracle sga配置相關的os 核心引數Oracle
- Linux核心引數(如kernel.shmmax)及Oracle相關引數調整LinuxHMMOracle
- linux中與Oracle有關的核心引數詳解LinuxOracle
- linux中與Oracle有關的核心引數詳解(zhuan)LinuxOracle
- Linux核心優化之TCP相關引數Linux優化TCP
- 與oracle10g data guard(dg)緊密關聯的相關檢視Oracle
- Linux系統中與記憶體相關的幾個核心引數Linux記憶體
- Oracle安裝相關Linux引數(轉)OracleLinux
- 【轉】Oracle安裝相關Linux引數OracleLinux
- 密碼相關的引數或事項密碼
- Linux核心引數(如kernel.shmmax)及Oracle相關引數調整(如SGA_MAX_SIZE)LinuxHMMOracle
- [轉帖]Redis相關的核心引數解釋與設定Redis
- Linux 核心引數優化(for oracle)Linux優化Oracle
- oracle 身份認證相關引數Oracle
- Linux核心引數以及Oracle引數調整(updated)LinuxOracle
- linux的vm相關引數介紹Linux
- Oracle 核心引數Oracle
- ORACLE核心引數Oracle
- 【Oracle】-【sqlplus相關】-serveroutput引數OracleSQLServer
- oracle 安裝相關引數設定Oracle
- Oracle 密碼相關Oracle密碼
- Oracle的AMM和ASMM以及相關引數探究OracleASM
- 聊聊Oracle Optimizer相關的幾個引數(中)Oracle
- 聊聊Oracle Optimizer相關的幾個引數(下)Oracle
- Oracle查詢優化器的相關引數Oracle優化
- Oracle優化相關的一些引數Oracle優化
- SCO UNIX 系統核心引數的意義(轉)
- linux 核心引數Linux
- Linux核心引數Linux
- Spark的相關引數配置Spark
- oracle安裝linux時的核心引數解釋OracleLinux
- Oracle undo保留時間的幾個相關引數Oracle
- Linux 核心相關命令Linux