oracle引數配置
一、Oracle LARGE_POOL_SIZE大小設定值多少
java_pool_size:
以位元組為單位, 指定 Java 儲存池的大小, 它用於儲存 Java 的方法和類定義在共享記憶體中的表示法, 以及在呼叫結束時移植到 Java 會話空間的 Java 物件。
large_pool_size:
指定大型池的分配堆的大小, 它可被共享伺服器用作會話記憶體, 用作並行執行的訊息緩衝區以及用作RMAN備份和恢復的磁碟 I/O 緩衝區。
LARGE_POOL通常用於共享伺服器(MTS),平行計算或者RMAN備份恢復中。設定其大小的引數為:LARGE_POOL_SIZE
如果不設定MTS,LARGE_POOL通常在RMAN 、OPQ 會使用到,LARGE_POOL_SIZE設定在10M --- 50M 應該差不多了。
如果RMAN備份恢復中,分配了多通道,可以考慮參考給出的公式。
LARGE_POOL_SIZE = number_of_allocated_channels *
(16MB ( 4 * size_of_tape_buffer))。
假如設定 MTS,則由於 UGA 放到large_pool_size 的緣故,這個時候依據 session最大數量和 sort_ares_size 等引數設定,必須增大large_pool_size 的設定,
可以考慮為 session * (sort_area_size 2M)。這裡要提醒一點,不是必須使用MTS,我們都不主張使用MTS,尤其同時線上使用者數小於500的情況下。
二、關於SGA設定的一點總結
本總結不針對特例,僅對伺服器只存在OS ORACLE 為例,如果存在其他應用請酌情考慮
寫這個也是因為近來這種重複性的問題發生的太多所導致的
首先不要迷信STS,SG,OCP,EXPERT 等給出的任何建議、記憶體百分比的說法
基本掌握的原則是, data buffer 通常可以儘可能的大,shared_pool_size 要適度,log_buffer 通常大到幾百K到1M就差不多了
設定之前,首先要明確2個問題
1:除去OS和一些其他開銷,能給ORACLE使用的記憶體有多大
2:oracle是64bit or 32 bit,32bit 通常 SGA有 1.7G 的限制(某些OS的處理或者WINDOWS上有特定設定可以支援到2G以上甚至達到3.7G,本人無這方面經驗)
下面是我的windows2000下的oracle :
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
PL/SQL Release 8.1.7.0.0 - Production
CORE 8.1.7.0.0 Production
TNS for 32-bit Windows: Version 8.1.7.0.0 - Production
NLSRTL Version 3.4.1.0.0 - Production
SQL>
windows上存在32bit的限制,如AIX、HP UNIX 等有明確的64BIT OS and ORACLE的版本,32bit oracle可以裝在64bit os 上,64 bit oracle不能裝在32 bit OS上,
不管oracle是32 bit ORACLE還是 64 bit 的,假定應用存在沒有很好的使用bind var 的情況,也不能設定 shared_pool_size 過大,通常應該控制在200M--300M,
如果是 ORACLE ERP 一類的使用了很多儲存過程函式、包 ,或者很大的系統,可以考慮增大shared_pool_size ,但是如果超過500M可能是危險的,達到1G可能會造成CPU的嚴重負擔,
系統甚至癱瘓。所以shared_pool_size 如果超過300M還命中率不高,那麼應該從應用上找原因而不是一味的增加記憶體,shared_pool_size 過大主要增加了管理負擔和latch 的開銷。
log_buffer : 128K ---- 1M 之間通常問題不大,不應該太大
large_pool_size :如果不設定MTS,通常在 RMAN 、OPQ 會使用到,但是在10M --- 50M 應該差不多了。假如設定 MTS,則由於 UGA 放到large_pool_size 的緣故,
這個時候依據 session最大數量和 sort_ares_size 等引數設定,必須增大large_pool_size 的設定,可以考慮為
session * (sort_area_size 2M)。
這裡要提醒一點,不是必須使用MTS,我們都不主張使用MTS,尤其同時線上使用者數小於500的情況下。
java_pool_size : 若不使用java,給30M通常就夠了
data buffer ,在做了前面的設定後,凡可以提供給oracle的記憶體,都應該給data buffer = (db_block_size * db_block_buffers)
在9i 中可以是 db_cache_size
還有2個重要引數我們需要注意:
sort_area_size and hash_area_size
這兩個引數在非MTS下都是屬於PGA ,不屬於SGA,是為每個session單獨分配的,在我們的伺服器上除了OS SGA,一定要考慮這兩部分
(****) : OS 使用記憶體 SGA session*(sort_area_size hash_area_size 2M) < 總物理RAM 為好
這樣歸結過來,假定oracle是 32 bit ,伺服器RAM大於2G ,注意你的PGA的情況,,則建議
shared_pool_size data buffer large_pool_size java_pool_size < 1.6G
再具體化,注意滿足上面(****) 的原則的基礎上可以參考如下設定
如果512M RAM
建議 shared_pool_size = 50M, data buffer = 200M
如果1G RAM
shared_pool_size = 100M , data buffer = 500M
如果2G
shared_pool_size = 150M ,data buffer = 1.2G
實體記憶體再大已經跟引數沒有關係了
假定64 bit ORACLE
記憶體4G
shared_pool_size = 200M , data buffer = 2.5G
記憶體8G
shared_pool_size = 300M , data buffer = 5G
記憶體 12G
shared_pool_size = 300M-----800M , data buffer = 8G
以上僅為參考值,不同系統可能差異比較大,需要根據具體情況調整。建議在設定引數的同時,init中使用 lock_sga ,在不同的平臺上可能有不同的方式,
使得SGA鎖定在實體記憶體中而不被放入 SWAP 中,這樣對效率有好處。
關於記憶體的設定,要再進行細緻的調整,起的作用不大,但可根據statspack資訊和v$system_event,v$sysstat,v$sesstat,v$latch 等view資訊來考慮微調。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25736250/viewspace-703607/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- EDBPPAS(Oracle相容版)Oracle與PostgreSQL相容模式的引數配置切換OracleSQL模式
- Oracle 核心引數Oracle
- 引數配置
- 常用的jvm配置引數 :永久區引數配置JVM
- EDB PPAS(Oracle 相容版) Oracle與PostgreSQL 相容模式的引數配置切換OracleSQL模式
- Oracle:PDB 引數管理Oracle
- JavaWeb引數配置JavaWeb
- [Oracle] -- 配置Oracle環境變數Oracle變數
- Ceph配置引數分析
- 【TUNE_ORACLE】Oracle 19c RAC搭建番外篇之RAC引數配置參考(四)Oracle
- 【TUNE_ORACLE】Oracle 19c RAC搭建番外篇之RAC引數配置參考(五)Oracle
- 【TUNE_ORACLE】Oracle 19c RAC搭建番外篇之RAC引數配置參考(三)Oracle
- 【TUNE_ORACLE】Oracle 19c RAC搭建番外篇之RAC引數配置參考(二)Oracle
- 【TUNE_ORACLE】Oracle 19c RAC搭建番外篇之RAC引數配置參考(一)Oracle
- nginx 常見引數以及重定向引數配置Nginx
- ORACLE並行相關的引數Oracle並行
- Oracle GoldenGate常用引數詳解OracleGo
- oracle rac 核心引數詳解Oracle
- Oracle Table建立引數說明Oracle
- Oracle JDBC ResultSet引數測試OracleJDBC
- 使用 XmlCommand 對Oracle傳引數XMLOracle
- Oracle RAC引數檔案管理Oracle
- Android Jenkins引數化配置AndroidJenkins
- Laravel 配置郵箱引數Laravel
- docker 配置引數參考Docker
- APM Java agent 引數配置Java
- vscode配置除錯引數VSCode除錯
- Hystrix 配置引數全解析
- oracle O7_DICTIONARY_ACCESSIBILITY 引數Oracle
- [20190917]oracle引數deferred屬性.txtOracle
- Oracle面試寶典-引數篇Oracle面試
- Oracle RAC修改引數檔案位置Oracle
- Oracle ENABLE=broken引數與TCP KeepAliveOracleTCP
- Spark的相關引數配置Spark
- Prometheus hashmod 配置引數詳解Prometheus
- Linphone 配置引數(噪音除錯)除錯
- JVM記憶體引數配置JVM記憶體
- postgresql配置引數最佳化SQL
- 【Oracle】簡單引數也有講究,JOB_QUEUE_PROCESS引數調研Oracle