程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oraclesga、pga介紹修改

Oraclesga、pga介紹修改

編輯:Oracle教程

oracle推薦OLTP(on-line TransactionProcessing)系統oracle占系統總內存的80%,然後再分配80%給SGA,20%給PGA。也就是
SGA=system_total_memory*80%*80%
PGA=system_total_memory*80%*20%

1、SGA系統全局區

SGA指系統全局區域(System GlobalArea),是用於存儲數據庫信息的內存區,該信息為數據庫進程所共享。

設置SGA時,理論上SGA可占OS系統物理內存的1/2——1/3
原則:SGA+PGA+OS使用內存<總物理RAM ——比例一般是2(SGA):1(PGA):1(OS系統)
SGA=((db_block_buffers*blocksize)+(shared_pool_size+large_pool_size+java_pool_size+log_buffers)+1MB

查看 desc v$sga select * fromv$sga ; select * From v$sgastat t;

序號

內存名稱

Byte

1024byte=1k

說明

大小設置

1

Fixed Size

1415972

存儲了SGA 各部分組件的信息,可以看作引導建立SGA的區域。

一般固定大小,不修改

2

Variable Size

1059677404

包含了shared_pool_size、

java_pool_size、large_pool_size

shared_pool_size 10%

java_pool_size >20M(不用java 30M)

large_pool_size 5-10M(不用MTS不該太大

3

Database Buffers

511705088

數據緩存池(緩存數據)

40%

4

Redo Buffers

4259840

日志緩存池(修改信息)

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

語句:(Oracle10服務器需要重啟)

序號

查看語句

修改語句

1

show parameter sga_max_size;

alter system set sga_max_size=2000m scope=spfile;

2

show parameter sga_target;

alter system set sga_target=2000m scope=spfile;

3

show parameter pga_aggregate_target;

alter system set pga_aggregate_target=500m scope=spfile;

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*總內存

Oracle 10g提供了PGA內存的自動管理。參數pga_aggregate_target可以指定PGA內存的最大值。當參數 pga_aggregate_target大於0時,Oracle將自動管理pga內存,並且各進程的所占PGA之和,不大於 pga_aggregate_target所指定的值。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved