Oracle安裝相關Linux引數(轉)
和Oracle安裝有關的Linux引數
設定的引數
引數名字 | 含義 | 設定 |
設定共享記憶體 | 共享記憶體通過將通用的結構和資料放在共享記憶體段中,使得程式可以對它們進行訪問。這是現有最快的程式間通訊(IPC)方式 主要是因為資料在程式之間傳遞時沒有涉及到核心的操作。在程式之間不需要複製資料。 Oracle 將共享記憶體用於它的系統全域性區 (SGA),這是一個由所有的 Oracle 備份程式及前臺程式所共享的記憶體區域。為 SGA 分配足夠的容量對於 Oracle 的效能非常重要,因為它負責儲存資料庫緩衝區快取記憶體、共享 SQL、訪問路徑以及更多。 要確定所有共享記憶體的限制,可使用以下命令: # ipcs -lm ------ Shared Memory Limits -------- max number of segments = 4096 max seg size (kbytes) = 32768 max total shared memory (kbytes) = 8388608 min seg size (bytes) = 1 | |
SHMMAX | SHMMAX 引數定義共享記憶體段的最大大小(以位元組為單位)。 | Oracle SGA 由共享記憶體組成,且錯誤設定 SHMMAX 可能會限制 SGA 的大小。在設定 SHMMAX 時,切記 SGA 的大小應該適合於一個共享記憶體段。SHMMAX 設定不足可能會導致以下問題: ORA-27123:unable to attach to shared memory segment 您可以通過執行以下命令來確定 SHMMAX 的值: # cat /proc/sys/kernel/shmmax 33554432 SHMMAX 的預設值為 32MB。通常,這個值對於配置 Oracle SGA 而言太小了。我通常使用以下任一方法將 SHMMAX 引數設定為 2GB: * 通過直接更改 /proc 檔案系統,你無需重新啟動計算機便可以改變 SHMMAX 的預設設定。可以使用以下方法動態設定 SHMMAX 的值。通過將此命令置於 /etc/rc.local 啟動檔案中可以使它永久有效: # echo "2147483648" > /proc/sys/kernel/shmmax * 您還可以使用 sysctl 命令來更改 SHMMAX 的值: # sysctl -w kernel.shmmax=2147483648 * 最後,通過將該核心引數插入到 /etc/sysctl.conf 啟動檔案中,您可以使這種更改永久有效: # echo "kernel.shmmax=2147483648" >> /etc/sysctl.conf |
SHMMNI | 我們現在看一下 SHMMNI 引數。這個核心引數用於設定系統範圍內共享記憶體段的最大數量。該引數的預設值是 4096。該值足以滿足需要,因此通常無需更改。 | 可以通過執行以下命令來確定 SHMMNI 的值: # cat /proc/sys/kernel/shmmni 4096 |
SHMALL | 該引數控制系統一次可以使用的共享記憶體總量(以頁為單位) | 簡言之,該引數的值始終應至少為: ceil(SHMMAX/PAGE_SIZE) SHMALL 的預設大小為 2097152,並可以使用以下命令進行查詢: # cat /proc/sys/kernel/shmall 2097152 SHMALL 的預設設定足以滿足 Oracle RAC 10g 安裝的需要。 (注意:i386 平臺上的 Red Hat Linux 中的頁面大小為 4,096 位元組。但您可以使用 bigpages,它支援配置更大的記憶體頁面大小。) |
設定訊號 | 對訊號的最佳描述是,它是用於在共享資源(如共享記憶體)的程式(或程式中的執行緒)之間提供同步的計數器。Unix System V 支援訊號集,其中的每個訊號都是一個訊號計數。當應用程式請求訊號時,它使用“集合”來完成此工作。 要確定所有訊號限制,可使用以下命令: # ipcs -ls ------ Semaphore Limits -------- max number of arrays = 128 max semaphores per array = 250 max semaphores system wide = 32000 max ops per semop call = 32 semaphore max value = 32767 您還可以使用以下命令: # cat /proc/sys/kernel/sem 250 32000 32 128 | |
SEMMSL | SEMMSL 核心引數用於控制每個訊號集合的最大訊號數。 | Oracle 建議將 SEMMSL 設定為 init.ora 檔案(適用於 Linux 系統上所有資料庫)中的最大 PROCESS 例項引數設定再加上 10。此外,Oracle 建議將 SEMMSL 設定為不小於 100。 |
SEMMNI | SEMMNI 核心引數用於控制整個 Linux 系統中訊號集的最大數量。 | Oracle 建議將 SEMMNI 設定為不小於 100。 |
SEMMNS | SEMMNS 核心引數用於控制整個 Linux 系統中的訊號(而非訊號集)的最大數量 | Oracle 建議將 SEMMNS 設定為系統上每個資料庫的 PROCESSES 例項引數設定之和,加上最大的 PROCESSES 的兩倍,最後為系統上的每個 Oracle 資料庫加上 10。 使用以下計算式確定可以在 Linux 系統上分配的訊號的最大數量。它將是以下兩者中較小的一個值: SEMMNS — 或 — (SEMMSL * SEMMNI) 。 |
SEMOPM | SEMOPM 核心引數用於控制每個 semop 系統呼叫可以執行的訊號運算元。 | semop 系統呼叫(函式)能夠使用一個 semop 系統呼叫完成多個訊號的操作。一個訊號集可以擁有每個訊號集中最大數量的 SEMMSL,因此建議將 SEMOPM 設定為等於 SEMMSL。 Oracle 建議將 SEMOPM 設定為不小於 100。 |
設定訊號核心引數 | 我想更改(增加)的唯一引數是 SEMOPM。所有其他的預設設定可以完全滿足我們的示例安裝。 * 您可以通過直接更改 /proc 檔案系統,不必重新啟動機器而更改所有訊號設定的預設設定。該方法將以下內容置於 /etc/rc.local 啟動檔案中: # echo "250 32000 100 128" > /proc/sys/kernel/sem * 您還可以使用 sysctl 命令來更改所有訊號設定的值: # sysctl -w kernel.sem="250 32000 100 128" * 最後,可以通過將核心引數插入到 /etc/sysctl.conf 啟動檔案中以使此更改永久有效: # echo "kernel.sem=250 32000 100 128" >> /etc/sysctl.conf | |
設定檔案控制程式碼 | 配置 Red Hat Linux 伺服器時,必須確保最大檔案控制程式碼數足夠大。檔案控制程式碼的設定表示您在 Linux 系統上可以開啟的檔案數。 使用以下命令來確定整個系統中檔案控制程式碼的最大數量: # cat /proc/sys/fs/file-max 32768 Oracle 建議將整個系統的檔案控制程式碼值至少設定為 65536。 * 通過直接更改 /proc 檔案系統,您可以不必重新啟動機器而改變檔案控制程式碼最大數量的預設設定。該方法將以下內容置於 /etc/rc.local 啟動檔案中: # echo "65536" > /proc/sys/fs/file-max * 您還可以使用 sysctl 命令來更改 SHMMAX 的值: # sysctl -w fs.file-max=65536 * 最後,可以通過將核心引數插入到 /etc/sysctl.conf 啟動檔案中以使此更改永久有效: # echo "fs.file-max=65536" >> /etc/sysctl.conf 可以通過使用以下命令查詢檔案控制程式碼的當前使用情況: # cat /proc/sys/fs/file-nr 613 95 32768 file-nr 檔案顯示了三個引數:分配的檔案控制程式碼總數、當前使用的檔案控制程式碼數以及可以分配的最大檔案控制程式碼數。 (注意:如果需要增大 /proc/sys/fs/file-max 中的值,請確保正確設定 ulimit。對於 2.4.20,通常將其設定為 unlimited。使用 ulimit 命令來驗證 ulimit 設定: # ulimit unlimited | |
如何設定
1. 通過在/etc/sysctl.conf中配置
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000修改後執行sysctl -p 命令使得核心改變立即生效。以後重啟機器也會按照這些配置修改機器環境
2. 在/etc/rc.d/rc.local中直接寫入/proc中去在/etc/rc.d/rc.local檔案的最後,加入
echo 8192 > /proc/sys/fs/file-max
echo 32768 > /proc/sys/fs/inode-max
echo 536870912 > /proc/sys/kernel/shmmax
echo 4096 > /proc/sys/kernel/shmmin
還需要在/etc/security/limits.conf檔案增加如下內容:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756652/viewspace-242331/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle direct path read相關隱含引數Oracle
- Linux環境安裝Oracle11g(四)——軟體安裝及引數最佳化LinuxOracle
- Oracle undo保留時間的幾個相關引數Oracle
- pga相關引數
- Linux安裝oracleLinuxOracle
- 【PARANETERS】Oracle異常恢復相關的隱含引數Oracle
- MySQL效能相關引數MySql
- PostgreSQL AutoVacuum 相關引數SQL
- Spark的相關引數配置Spark
- MySQL 連線相關引數MySql
- 資料庫管理-第123期 Oracle相關兩個引數(202301205)資料庫Oracle
- ORACLE並行相關的引數Oracle並行
- [轉帖]Redis相關的核心引數解釋與設定Redis
- solaris10中安裝oracle核心引數的調整Oracle
- Oracle11g 自動化建庫及調整相關引數Oracle
- 4.2.10.1 Oracle Restart 相關變數配置OracleREST變數
- 【手摸手玩轉 OceanBase 172】清理備份相關引數介紹
- ubuntu 安裝及相關軟體安裝(2)Ubuntu
- ubuntu 安裝及相關軟體安裝(1)Ubuntu
- Silverlight安裝相關問題
- Oracle Linux 7.1中安裝MariadbOracleLinux
- 11. Oracle for Linux安裝和配置—11.3. Oracle安裝和配置—11.3.1. Oracle軟體安裝OracleLinux
- Linux環境安裝Oracle11g(二)——作業系統引數及服務調整LinuxOracle作業系統
- 關於轉儲Oracle索引資訊的相關命令Oracle索引
- mysql relay log相關引數說明MySql
- redis持久化相關引數解釋Redis持久化
- [20191204]hugepage相關引數含義.txt
- openGauss執行緒池相關引數執行緒
- [20220913]hugepage相關引數含義.txt
- Oracle Linux 6.5 安裝Oracle 10gR2LinuxOracle 10g
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.2.Linux安裝(1)OracleLinux
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.2.Linux安裝(2)OracleLinux
- helm包安裝部署相關命令
- Oracle Linux 7.5下載和安裝OracleLinux
- 在Oracle Linux 7.1上安裝DockerOracleLinuxDocker
- linux安裝DB2之前的作業系統引數LinuxDB2作業系統
- [轉]關於Linux安裝mysql預設配置檔案位置LinuxMySql
- Oracle相關命令Oracle