国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle內存參數調優技術詳解

2024-08-29 13:03:53
字體:
來源:轉載
供稿:網友

目的

希望通過整理此文檔 , 使大家對 oracle 內存結構有一個全面的了解 , 并在實際的工作中靈活應用 , 使 oracle 的內存性能達到最優配置,提升應用程序反應速度,并進行合理的內存使用 .

實例結構

oracle 實例 = 內存結構 + 進程結構

oracle 實例啟動的過程,其實就是 oracle 內存參數設置的值加載到內存中,并啟動相應的后臺進程進行相關的服務過程。

進程結構

oracle 進程 = 服務器進程 + 用戶進程

幾個重要的后臺進程 :

DBWR :數據寫入進程 .

  LGWR: 日志寫入進程 .

  ARCH: 歸檔進程 .

  CKPT: 檢查點進程 ( 日志切換;上一個檢查點之后,又超過了指定的時間;預定義的日志塊寫入磁盤;例程關閉, DBA 強制產生 , 表空間 offline)

  LCKn ( 0-9 ):封鎖進程 .

  Dnnn: 調度進程 .

內存結構 ( 我們重點講解的 )

內存結構 =SGA (系統全局區) +PGA (程序全局區)

SGA :是用于存儲數據庫信息的內存區,該信息為數據庫進程所共享。它包含 Oracle 服務器的數據和控制信息 , 它是在 Oracle 服務器所駐留的計算機的實際內存中得以分配,如果實際內存不夠再往虛擬內存中寫

我們重點就是設置 SGA ,理論上 SGA 可占 OS 系統物理內存的 1/2 —— 1/3

原則: SGA+PGA+OS 使用內存 < 總物理 RAM

SGA=((db_block_buffers*blocksize)+(shared_pool_size+large_pool_size+java_pool_size+log_buffers)+1MB

1 、 SGA 系統全局區 .( 包括以下五個區 )

A 、數據緩沖區 : ( db_block_buffers )存儲由磁盤數據文件讀入的數據。

大小 : db_block_buffers*db_block_size

Oracle9i 設置數據緩沖區為: Db_cache_size

原則: SGA 中主要設置對象,一般為可用內存 40% 。

B 、共享池 : ( shared_pool_size ) : 數據字典, sql 緩沖, pl/sql 語法分析 . 加大可提速度。

原則: SGA 中主要設置對象,一般為可用內存 10%

C 、日志緩沖區 : ( log_buffer )存儲數據庫的修改信息 .

原則: 128K ---- 1M 之間,不應該太大

D 、 JAVA 池( 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 程序全局區

PGA :包含單個服務器進程或單個后臺進程的數據和控制信息,與幾個進程共享的 SGA 正相反 PGA 是只被一個進程使用的區域, PGA 在創建進程時分配在終止進程時回收 .

A 、 Sort_area_size  用于排序所占內存

B 、 Hash_area_size 用于散列聯接,位圖索引

這兩個參數在非 MTS 下都是屬于 PGA ,不屬于 SGA, 是為每個 session 單獨分配的,在我們的服務器上除了 OS + SGA, 一定要考慮這兩部分

  原則: OS 使用內存 +SGA+ 并發執行進程數 *(sort_area_size+hash_ara_size+2M) < 0.7* 總內存   實例配置

一:物理內存多大

二:操作系統估計需要使用多少內存

三:數據庫是使用文件系統還是luo設備

四:有多少并發連接

五:應用是 OLTP 類型還是 OLAP 類型

基本掌握的原則是, db_block_buffer 通常可以盡可能的大, shared_pool_size 要適度, log_buffer 通常大到幾百 K 到 1M 就差不多了

A 、如果 512M RAM  單個 CPU   db_block_size 是 8192 bytes

SGA=0.55*512M=280M 左右

建議 shared_pool_size = 50M, db_block_buffer* db_block_size = 200M

具體 : shared_pool_size =52428800 #50M

db_block_buffer=25600      #200M

log_buffer = 131072         # 128k (128K*CPU 個數 )

large_pool_size=7864320      #7.5M

java_pool_size = 20971520    # 20 M

sort_area_size = 524288      # 512k (65k--2M)

sort_area_retained_size = 524288   # MTS 時 sort_area_retained_size = sort_area_size

B 、如果 1G RAM      單個 CPU   db_block_size 是 8192 bytes

SGA=0.55*1024M=563M 左右

建議 shared_pool_size = 100M , db_block_buffer* db_block_size = 400M

具體 : shared_pool_size=104857600    #100M

db_block_buffer=51200         #400M

log_buffer = 131072         # 128k (128K*CPU 個數 )

large_pool_size=15728640       #15M

java_pool_size = 20971520    # 20 M

sort_area_size = 524288      # 512k (65k--2M)

sort_area_retained_size = 524288   # MTS 時 sort_area_retained_size = sort_area_size

C 、如果 2G     單個 CPU   db_block_size 是 8192 bytes

SGA=0.55*2048M=1126.4M 左右

建議 shared_pool_size = 200M , db_block_buffer *db_block_size = 800M

具體 : shared_pool_size=209715200    #200M

db_block_buffer=103192         #800M

log_buffer = 131072            # 128k (128K*CPU 個數 )

large_pool_size= 31457280      #30M

java_pool_size = 20971520      # 20 M

sort_area_size = 524288         # 512k (65k--2M)

sort_area_retained_size = 524288   # MTS 時 sort_area_retained_size = sort_area_size

假定 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

參數更改方式

oracle8i :

主要都是通過修改 oracle 啟動參數文件進行相關的配置

參數文件位置:

d:/oracle/admin/DB_Name/pfile/init.ora

按以上修改以上參數值即可。

Oracle9i:

兩種方式:第一種是修改 oracle 啟動參數文件后,通過此參數文件再創建服務器參數文件

第二種是直接運行 oracle 修改命令進行修改。

SQL>alter system set db_cache_size=200M scope=spfile;

SQL>alter system set shared_pool_size=50M scope=spfile;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盐津县| 永善县| 大悟县| 台湾省| 叙永县| 伊川县| 常山县| 留坝县| 通辽市| 安陆市| 安康市| 平山县| 上思县| 长宁县| 昭平县| 双桥区| 曲水县| 咸丰县| 连州市| 凭祥市| 孝义市| 保康县| 普陀区| 沾益县| 平利县| 巴马| 大庆市| 卢氏县| 姚安县| 金川县| 体育| 宜兰县| 台北市| 苏尼特左旗| 都匀市| 岢岚县| 秀山| 根河市| 仙游县| 女性| 永康市|