我的oracle 9i学习日志(2)--内存结构

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

oracle内存结构包括两个区域:SGA和PGA.

SGA(system global area):

1

SGA有叫共享全局区域(shared global area)。在instance启动时被分配,用来存储数据库进程共享信息,包括数据和控制信息。主要组成包括:

       – Shared Pool 
       – Database Buffer Cache 
       – Redo Log Buffer 
       – Other structures (for example, lock and latch management, statistical data)

还有两个可选项: Large Pool, Java Pool。

下面语句可以查看SGA的分配情况:

SQL> SHOW SGA; 
Total System Global Area 36437964 bytes 
Fixed Size 6543794 bytes 
Variable Size 19521536 bytes 
Database Buffers 16777216 bytes 
Redo Buffers 73728 bytes

从9i开始,可以在不关闭instance的情况下动态调整SGA的大小,这样Database Buffer Cache, Shared Pool, 和Large Pool可以动态的调整而不需要关闭instance。

SGA的大小主要由以下几个参数决定:

SGA_MAX_SIZE:规定了SGA的最大值。

DB_CACHE_SIZE:cache标准的块大小,默认Unix 48M,NT 52M。

LOGG_BUFFER:redo log buffer的大小,单位Byte。

SHARED_POOL_SIZE, LARGE_POOL_SIZE, JAVA_POOL_SIZE。

SGA有一个分配粒度称为granule,默认大小为 4 MB如果 SGA_MAX_SIZE< 128 MB,其他情况则为 16 MB 。

The minimum SGA configuration is three granules (one granule for fixed SGA 
[includes redo buffers]; one granule for Database Buffer Cache; one granule for Shared Pool).

 

各组件介绍:

shared pool

包括library cache和data dictionary cache,分别用于存储最近执行过的编译解释后的SQL语句和最近用到的数据信息(数据字典)。

可以通过这条命令ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;动态修改SHARED_POOL_SIZE的值。

Database Buffer Cache

最大的一块内存,用于缓存从数据文件里读出的数据和被更新的数据,能有效地增强数据库服务器的性能。

可以通过下面的命令动态改变它的大小:ALTER SYSTEM SET DB_CACHE_SIZE = 96M;

Buffer Cache Advisory功能,收集统计对于不同大小的Database Buffer Cache所表现出来的性能的信息,并在V$DB_CACHE_ADVICE这个视图中列出。

The Buffer Cache Advisory is enabled via the DB_CACHE_ADVICE initialization 
parameter. It is a dynamic parameter, and can be altered using ALTER SYSTEM. Three values (OFF, ON, READY) are available. 
DB_CACHE_ADVICE Parameter Values 
OFF: Advisory is turned off and the memory for the advisory is not allocated. 
ON: Advisory is turned on and both cpu and memory overhead is incurred. 
Attempting to set the parameter to the ON state when it is in the OFF state may lead to the following error: ORA-4031 Inability to allocate from the Shared Pool when the parameter is switched to ON. If the parameter is in a READY state it can be set to ON without error because the memory is already allocated. 
READY: Advisory is turned off but the memory for the advisory remains allocated. Allocating the memory before the advisory is actually turned on will avoid the risk of ORA-4031. If the parameter is switched to this state from OFF, it is possible that an ORA-4031 will be raised.

Redo Log Buffer

记录所有的数据库数据块的改变记录,主要目的用于恢复。

每条记录被称为重做条目,重做条目包含恢复信息或改变信息(information to econstruct or redo changes)。

Large Pool

可选项,缓解shared pool的负担,用于

– Session memory (UGA) for the Shared Server 
– I/O server processes 
– Backup and restore operations or RMAN(Recovery Manager) 
– Parallel execution(并行处理) message buffers 
               PARALLEL_AUTOMATIC_TUNING set to TRUE

Java Pool

对Java的支持,如解释执行Java编写的存储过程。

Program Global Area(PGA)

PGA是一块内存区域,包含了单个server process或单个background process信息的数据和控制信息。当进程开始运行时PGA被分配,当进程结束时PGA被回收。与共享方式的SGA相对比,PGA是一个进程一块内存。注意:oracle的server process和background process是严格区分的。










本文转自 d185740815 51CTO博客,原文链接:http://blog.51cto.com/luotaoyang/277173,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
SQL Oracle 关系型数据库
"揭秘!一键解锁Oracle日志清理魔法,让海量归档日志无处遁形,守护数据库健康,告别磁盘空间告急噩梦!"
【8月更文挑战第9天】随着Oracle数据库在企业应用中的普及,归档日志管理对保持数据库健康至关重要。归档日志记录所有更改,对数据恢复极为重要,但也可能迅速占用大量磁盘空间影响性能。利用Oracle提供的RMAN工具,可通过编写Shell脚本来自动清理归档日志。脚本包括设置环境变量、连接数据库、检查和删除指定时间前的日志,并记录执行情况。通过Cron作业定时运行脚本,可有效管理日志文件,确保数据库稳定运行。
62 7
|
19天前
|
SQL 监控 Oracle
Oracle数据误删不用怕,跟我来学日志挖掘
Oracle数据误删不用怕,跟我来学日志挖掘
17 0
|
2月前
|
存储 SQL Oracle
关系型数据库Oracle归档日志备份
【7月更文挑战第19天】
50 5
|
27天前
|
Oracle 关系型数据库
分布式锁设计问题之Oracle RAC保证多个节点写入内存Page的一致性如何解决
分布式锁设计问题之Oracle RAC保证多个节点写入内存Page的一致性如何解决
|
2月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在online模式下增量抓取Oracle数据时,在archive_log切换时,出现数据丢失的情况,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
SQL DataWorks Oracle
DataWorks产品使用合集之datax解析oracle增量log日志该如何操作
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
39 0
|
SQL 存储 关系型数据库
Oracle内存结构
Oracle内存结构 1.概述 Oracle数据库:每个Oracle都由一个数据库实例和一系列物理文件组成。  即,Oracle数据库由一系列后台进程、内存及文件组成。  当启动一个数据库时,Oracle会分配一个被称为系统全局区SGA的共享内存区,同时会启动多个后台进程,他们共同构成了一个Oracle实例。
1360 0
|
缓存 Oracle 关系型数据库
|
SQL 存储 监控
DBA_Oracle基本体系内存和进程结构(概念)
2014-08-05 Created By BaoXinjian 一、摘要 1. Oracle的内存结构 内存结构式Oracle数据库体系中最为重要的一部分,内存也是印象数据库性能的第一因素 分类 系统全局区SGA (System Global Area) 程序全局区PGA (...
1127 0

推荐镜像

更多