Oracle sga、pga介绍修改

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所指定的值。

时间: 2024-10-21 17:55:49

Oracle sga、pga介绍修改的相关文章

调整oracle sga的大小导致 ORA-00851和ORA-00844错误

今天调整了下sga的大小,结果重启数据库的时候报如下错误. SQL>alter system set sga_max_size=1024M scope=spfile; SQL> shutdown immediate SQL> startup ORA-00844: Parameter not taking MEMORY_TARGET into account ORA-00851: SGA_MAX_SIZE 1073741824 cannot be set to more than MEMO

Oracle高级队列介绍

原始链接:http://www.oracle-developer.net/display.php?id=411 oracle高级队列介绍 高级队列Advanced Queuing(AQ)在oracle多个版本都可得到.他是oracle原生消息软件并且在每一个版本都在加强. 这篇文章提供了一个AQ的高级概览.尤其是我们将看到如何启动一个队列并进行入列--出列操作,还有通过通知创建异步出列. 注意AQ支持数据库意外的消息监听(例如JMS消息队列).本文仅涉及数据库内部消息通信. 要求: 本例要求指定

Oracle SGA详解

SGA(SYSTEM Global Area )系统全局区 l 数据高速缓存 在Oracle进行数据处理的过程中,代价最昂贵的就是物理 I/O操作了.同样的数据从内存中得到要比从磁盘上读取快的多.因此,优化Oracle的一个重要的目标就是尽可能的降低物理 I/O操作. Oracle的 Buffer Cache用于缓存从磁盘中读取的数据,当 Oracle需要查找某些信息的时候,首先会在 BufferCache中寻找,如果找到了,则直接将结果返回.如果找不到,则需要对磁盘进行扫描, Oracle将在

Linux操作系统下Oracle主要监控工具介绍

Oracle监控包括有效且完全地监控Oracle数据库的性能.可用性和使用率等统计量,还包括即时的错误通知和纠正措施,并提供全面的报表和图表.本文中主要介绍几种Linux操作系统下Oracle主要监控工具. top top命令可实时地显示Linux系统的进程.CPU.内存.负载等的信息.它是我们了解系统整体状态最好的工具. top命令的运行状态是一个实时的显示过程,我们可在这个界面监控系统运行情况.我们可通过几个按键来控制top命令,如按q可退出top命令状态,按s可输入信息的更新频率等.这些命

SQL Server和Oracle数据库索引介绍

SQL Server和Oracle数据库索引介绍 1 SQL Server中的索引 索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度.索引包含由表或视图中的一列或多列生成的键.这些键存储在一个结构(B 树)中,使 SQL Server 可以快速有效地查找与键值关联的行. 表或视图可以包含以下类型的索引: 聚集索引 聚集索引根据数据行的键值在表或视图中排序和存储这些数据行.索引定义中包含聚集索引列.每个表只能有一个聚集索引,因为数据行本身只能按一个顺序排序. 只有当表包含聚集索引

Oracle的游标介绍

Oracle的游标介绍 Oracle中的PL/SQL的游标是指把数据库中查询出来的数据以临时表的形式存放在内存中,游标可以对存储在内存中的数据进行操作,返回一条或者一组数据,或者一条数据也不返回.PL/SQL中的记录和表类型虽然也能用来存储数据,但对一组存储在内存中的数据进行操作,还是不太方便,游标恰好是这方面的工具. PL/SQL包含隐含游标和显示游标,其中隐含游标用于处理SELECT INTO和DML语句,而显示游标则专门用于处理SELECT语句返回的多行数据,游标的基本操作有: - 声明游

oracle的环境配置-oracle的相关介绍

Oracle的相关介绍: 1.Oracle数据库软件--安装OS上的2.软件的获取路径,商务销售策略.3.数据库版本:9i--10%                      10g--65%                      11g--25%--新建的系统常见               12c--最新版本 8i--Internet   9i   10g--gird compute--10gR2-oracle 10g relaease 10.2.0.x   11g           

Oracle字符集的查看查询和Oracle字符集的设置修改

本文主要讨论以下几个部分:如何查看查询oracle字符集. 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题. 一.什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系.ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据.它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台. 影响Oracle数据库字符集最重要的参数是NLS_LANG参数.

oracle查看字符集和修改字符集

oracle查看字符集和修改字符集 : 查看数据库服务器的字符集: select userenv('language') from dual ; 登陆用dba: 停掉数据库 : shutdown immediate; 启动数据库到mount状态下 : STARTUP MOUNT; ALTER SESSION SET SQL_TRACE=TRUE; ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER SYSTEM SET JOB_QUEUE_PROCESSE