Oracle資料庫記憶體引數調優技術的個人總結
目的:
希望透過整理此文件,使公司同事對oracle記憶體結構有一個全面的瞭解,並在實際的工作中靈活應用,使oracle的記憶體效能達到最優配置,提升應用程式反應速度,並進行合理的記憶體使用。
例項結構
oracle例項=記憶體結構+程式結構
oracle例項啟動的過程,其實就是oracle記憶體引數設定的值載入到記憶體中,並啟動相應的後臺程式進行相關的服務過程。
程式結構
oracle程式=伺服器程式+使用者程式
幾個重要的後臺程式:
DBWR:資料寫入程式.
LGWR:日誌寫入程式.
ARCH:歸檔程式.
CKPT:檢查點程式(日誌切換;上一個檢查點之後,又超過了指定的時間;預定義的日誌塊寫入磁碟;例程關閉,DBA強制產生,表空間offline)
LCKn(0-9):封鎖程式.
Dnnn:排程程式.
記憶體結構(我們重點講解的)
記憶體結構=SGA(系統全域性區)+PGA(程式全域性區)
SGA就是我們所說的記憶體調優的主要物件。我們重點就是設定SGA
原則:SGA+PGA+OS使用記憶體
1、SGA系統全域性區.(包括以下五個區)
A、資料緩衝區:(db_block_buffers)儲存由磁碟資料檔案讀入的資料。
大小: db_block_buffers*db_block_size
Oracle9i設定資料緩衝區為:Db_cache_size
原則:SGA中主要設定物件,一般為可用記憶體40%。
B、共享池:(shared_pool_size):資料字典,緩衝,pl/sql語法分析.加大可提速度。
原則:SGA中主要設定物件,一般為可用記憶體10%
C、日誌緩衝區:(log_buffer)儲存的修改資訊.
原則:128K ---- 1M 之間,不應該太大
D 、池(Java_pool_size)主要用於JAVA語言的開發.
原則:若不使用java,原則上不能小於20M,給30M通常就夠了
E、 大池(Large_pool_size) 如果不設定MTS,主要用於資料庫恢復管理器RMAN。
原則:若不使用MTS,5---- 10M 之間,不應該太大
SGA=. db_block_buffers*db_block_size+ shared_pool_size+ log_buffer+Java_pool+size+large_pool_size
原則: 達到可用記憶體的55-58%就可以了.
2、PGA程式全域性區
A、Sort_area_size 用於排序所佔記憶體
B、Hash_area_size 用於雜湊聯接,點陣圖索引
這兩個引數在非MTS下都是屬於PGA ,不屬於SGA,是為每個session單獨分配的,在我們的伺服器上除了OS + SGA,一定要考慮這兩部分
原則:OS 使用記憶體+ SGA + session*(sort_area_size + hash_area_size + 2M) < 總物理RAM 為好
例項配置
基本掌握的原則是, db_block_buffer 通常可以儘可能的大,shared_pool_size 要適度,log_buffer 通常大到幾百K到1M就差不多了
A、如果512M RAM
建議 shared_pool_size = 50M, db_block_buffer* db_block_size = 200M
B、如果1G RAM
建議 shared_pool_size = 100M , db_block_buffer* db_block_size = 400M
C、如果2G
建議 shared_pool_size = 200M , db_block_buffer *db_block_size = 800M
引數更改方式
oracle8i:
主要都是透過修改啟動引數檔案進行相關的配置
引數檔案位置:
d:oracleadminDB_Namepfileinit.ora
按以上修改以上引數值即可。
Oracle9i:
兩種方式:第一種是修改Oracle啟動引數檔案後,透過此引數檔案再建立伺服器引數檔案
第二種是直接執行oracle修改命令進行修改。
SQL>alter system set db_cache_size=200M scope=spfile;
SQL>alter system set shared_pool_size=50M scope=spfile;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9099175/viewspace-1004567/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫記憶體引數調優技術的個人總結 (2)Oracle資料庫記憶體
- Oracle資料庫記憶體引數調優技術的個人總結 (1)Oracle資料庫記憶體
- Oracle記憶體引數調優技術詳解Oracle記憶體
- Oracle記憶體引數調優Oracle記憶體
- oracle 記憶體分配和調優 總結Oracle記憶體
- Oracle - 資料庫的記憶體調整Oracle資料庫記憶體
- Oracle - 資料庫的記憶體結構Oracle資料庫記憶體
- oracle 記憶體引數調整優化相關傾力整理Oracle記憶體優化
- Oracle 資料庫引數調整Oracle資料庫
- SAP ECC6.0記憶體引數調整和調優記憶體
- JVM記憶體引數詳解及其配置調優JVM記憶體
- 構建個人記憶體資料庫記憶體資料庫
- AIX 下oracle 資料庫記憶體優化AIOracle資料庫記憶體優化
- Java個人技術知識點總結(資料庫篇)Java資料庫
- 【Spark篇】---Spark調優之程式碼調優,資料本地化調優,記憶體調優,SparkShuffle調優,Executor的堆外記憶體調優Spark記憶體
- 記憶體資料庫快取介紹總結記憶體資料庫快取
- MySQL記憶體引數及調整MySql記憶體
- Tomcat記憶體引數調整Tomcat記憶體
- 【Spark篇】---Spark中記憶體管理和Shuffle引數調優Spark記憶體
- 記憶體資料庫如何發揮記憶體優勢?記憶體資料庫
- 記憶體資料庫有幾個人用過?記憶體資料庫
- 非易失性記憶體技術及資料庫記憶體資料庫
- 個人技術棧大體思路總結
- solaris記憶體引數調整及管理記憶體
- 從記憶體洩露、記憶體溢位和堆外記憶體,JVM優化引數配置引數記憶體洩露記憶體溢位JVM優化
- 對oracle例項的記憶體(SGA和PGA)進行調整,優化資料庫性Oracle記憶體優化資料庫
- 合理配置TimesTen記憶體資料庫Hash索引的PAGES引數記憶體資料庫索引
- Oracle資料庫效能優化總結Oracle資料庫優化
- PostgreSQL技術大講堂 - 第32講:資料庫引數調整SQL資料庫
- 調整資料庫引數資料庫
- 個人技術棧總結
- Oracle 調優總結Oracle
- Oracle調優總結Oracle
- JVM調優引數、方法、工具以及案例總結JVM
- 【大頁記憶體】Oracle資料庫配置大頁記憶體記憶體Oracle資料庫
- Oracle資料庫效能優化技術(zt)Oracle資料庫優化
- 【JVM】堆體系結構及其記憶體調優JVM記憶體
- oracle資料庫調優描述Oracle資料庫