- 浏览: 599292 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
SGA 系统全局区
SGA是Oracle用来为实例村粗数据和控制信息的共享内存区。 SGA在启动Oracle实例时被分配,在关闭Oracle实例时被释放。
每个启动的Oracle实例都有自己的SGA。 SGA中的信息由数据库缓冲区、重做日志缓冲区和共享池(shared pool)等部分构成,每个部分都在实例启动时创建,而且大小都是固定的。
1. 数据库缓冲区高速缓存
缓冲区高速缓存(buffer cache )保存了最近使用过的数据库、或者是修改后已经写回的数据块(干净的数据块). 因
为缓冲区高速缓存在保存数据块时使用了最近最多使用(most-recently-used)算法,因此最活跃的数据块儿可以驻留在
内存中,从而减少IO、提高性能。
数据高速缓冲区包括三个类型的区:
1) 脏数据区( Dirty Buffers):包含有已经改变过并需要写回数据文件的数据块。
2) 自由区( FreeBuffers):没有包含任何数据并可以再写入的区, Oracle可以从数据文件读数据块该区。
3) 保留区( Pinned Buffers):此区包含有正在处理的或者明确保留用作将来用的区。
2. 重做日志缓冲区
SGA的重做日志缓冲区保存着数据库的重做条目(redo entry)或修改日志。该缓冲区的内容总是会尽快写入重做日
志。
3. 共享池 ( shared pool )
共享池是指SGA中存储共享内存结构的区域,如Library cache 中的 SQL区,以及数据字典中的内部信息等。
共享池非常重要,如果因为共享池分配的空间太小,可能导致性能降低。共享池由库缓存池( library cache),数据字
典缓冲池组成。
3.1 库缓存 Library Cache
库缓存用于存储共享的SQL语句,其中包括缓存的解析树( parse tree)和不同SQL语句的执行计划。如果多个
应用程序提交了相同的SQL语句,它们可以访问共享的SQL区,从而减少对内存的需求,并减少解析和执行计划所需
的时间。 缓存被执行的SQL和PL/SQL的相关信息,即存放SQL语句的文本,分析后的代码及执行计划
。实现常用语句的共享。
3.2 数据字典缓存
Oracle数据字典包含一组表和视图, Oracle将它们作为数据库的引用,在其中存储了与数据库的逻辑结构和物理
结构相关的信息。主要有:
用户信息
数据表定义的完整性约束
数据库表中所有列的名称和数据类型
为模式对象分配空间极其使用情况的信息
注: Oracle解析SQL语句的时候会频繁的访问数据字典,因此对数据字典的访问方式将对Oracle运行性能非常重要
,因为数据字典的性能瓶颈会影响到所有的Oracle用户。如果共享池分配了足够的空间,就可以克服这个问题。
4. 大池 (large pool)
large pool
是一种可选的存储区,能够代替共享池的某些功能。如果创建了大池,那么各种进程都会自动使用大池;否则,各种
进程就只能使用共享池中的内存。恢复管理器( RMAN)也会将大池用于其磁盘和磁盘IO从属进程。
大池可以用于 IO操作、备份还原、共享服务器进程、 XA接口使用的内存,以及并发查询中的消息队列使用的内存。
5.Java池
只有在应用程序试图 运行数据库内的Java存储过程时,才需要使用Java池( Java
Pool).Java池被用于实例化Java对象所需的堆空间。不过,由于许多Oracle选项都采用Java语言进行编写,因此Java池如今被视为一种标准的存储结构。
SGA是Oracle用来为实例村粗数据和控制信息的共享内存区。 SGA在启动Oracle实例时被分配,在关闭Oracle实例时被释放。
每个启动的Oracle实例都有自己的SGA。 SGA中的信息由数据库缓冲区、重做日志缓冲区和共享池(shared pool)等部分构成,每个部分都在实例启动时创建,而且大小都是固定的。
1. 数据库缓冲区高速缓存
缓冲区高速缓存(buffer cache )保存了最近使用过的数据库、或者是修改后已经写回的数据块(干净的数据块). 因
为缓冲区高速缓存在保存数据块时使用了最近最多使用(most-recently-used)算法,因此最活跃的数据块儿可以驻留在
内存中,从而减少IO、提高性能。
数据高速缓冲区包括三个类型的区:
1) 脏数据区( Dirty Buffers):包含有已经改变过并需要写回数据文件的数据块。
2) 自由区( FreeBuffers):没有包含任何数据并可以再写入的区, Oracle可以从数据文件读数据块该区。
3) 保留区( Pinned Buffers):此区包含有正在处理的或者明确保留用作将来用的区。
2. 重做日志缓冲区
SGA的重做日志缓冲区保存着数据库的重做条目(redo entry)或修改日志。该缓冲区的内容总是会尽快写入重做日
志。
3. 共享池 ( shared pool )
共享池是指SGA中存储共享内存结构的区域,如Library cache 中的 SQL区,以及数据字典中的内部信息等。
共享池非常重要,如果因为共享池分配的空间太小,可能导致性能降低。共享池由库缓存池( library cache),数据字
典缓冲池组成。
3.1 库缓存 Library Cache
库缓存用于存储共享的SQL语句,其中包括缓存的解析树( parse tree)和不同SQL语句的执行计划。如果多个
应用程序提交了相同的SQL语句,它们可以访问共享的SQL区,从而减少对内存的需求,并减少解析和执行计划所需
的时间。 缓存被执行的SQL和PL/SQL的相关信息,即存放SQL语句的文本,分析后的代码及执行计划
。实现常用语句的共享。
3.2 数据字典缓存
Oracle数据字典包含一组表和视图, Oracle将它们作为数据库的引用,在其中存储了与数据库的逻辑结构和物理
结构相关的信息。主要有:
用户信息
数据表定义的完整性约束
数据库表中所有列的名称和数据类型
为模式对象分配空间极其使用情况的信息
注: Oracle解析SQL语句的时候会频繁的访问数据字典,因此对数据字典的访问方式将对Oracle运行性能非常重要
,因为数据字典的性能瓶颈会影响到所有的Oracle用户。如果共享池分配了足够的空间,就可以克服这个问题。
4. 大池 (large pool)
large pool
是一种可选的存储区,能够代替共享池的某些功能。如果创建了大池,那么各种进程都会自动使用大池;否则,各种
进程就只能使用共享池中的内存。恢复管理器( RMAN)也会将大池用于其磁盘和磁盘IO从属进程。
大池可以用于 IO操作、备份还原、共享服务器进程、 XA接口使用的内存,以及并发查询中的消息队列使用的内存。
5.Java池
只有在应用程序试图 运行数据库内的Java存储过程时,才需要使用Java池( Java
Pool).Java池被用于实例化Java对象所需的堆空间。不过,由于许多Oracle选项都采用Java语言进行编写,因此Java池如今被视为一种标准的存储结构。
发表评论
文章已被作者锁定,不允许评论。
-
sql 最小化表查询次(col1,col2) = (select col1,col2 from t)
2018-01-02 16:51 555最小化表查询次数 ... -
sql 用inner join取代in和exists
2018-01-02 16:48 1155使用表连接替换EXISTS ... -
oracle HINT详解
2017-09-01 10:42 524ORACLE的HINT详解 hints是oracle提供的 ... -
oracle jdbctemplate如何优化查询速度
2017-08-21 09:33 13251.设置setFetchSize进行优化 // 可以优化 ... -
oracle Parallel模式-Parallel用法(/*+PARALLEL(n)*/)
2017-08-18 16:48 19211.用途 强行启用 ... -
oracle 存储过程学习总结
2016-08-22 08:42 362dbms_output.put_line('CONCAT ... -
oracle where条件分支查询
2016-06-30 16:16 524select * from test xx where ... -
oracle with as用法
2016-06-24 09:58 942with as语法 –针对一个别名 with tmp as ... -
oracle 重复数据处理的sql整理
2016-06-22 14:44 405Oracle 删除重复数据只留一条 1、查找表中多余的重 ... -
oracle 数据库组成部分(数据库(各种文件)+实例(SGA PGA + 后台进程))知识
2016-04-11 19:51 1276一、SQL server中的实例与 ... -
oracle expdp与impdp导入导出
2016-03-17 10:17 1286[b]数据泵工具导出的步骤:[/b] 1、创建DIRECT ... -
oracle 常用sql语句积累
2016-01-28 11:01 5721.删除重复列 delete from t t1 where ... -
oracle forall关键字进行批量操作
2014-12-12 15:26 1047两个数据操纵语言(DML)语句:BULK COLLECT和FO ... -
oracle 表中有子父关系列则使用CONNECT BY PRIOR
2014-10-27 10:08 423查询名字为xx xxx的所有子数据 SELECT re.U ... -
oracle 存储过程使用实例
2014-10-22 17:41 6111.建包 CREATE OR REPLACE PACKA ... -
oracle 删除大量数据后整理表(analyze table xxx compute statistics)
2014-10-17 18:09 22311. DELETE 后 TRUNCATE TABLE ; 然 ... -
oracle splitstr 函数
2014-10-15 17:45 1415splitstr函数 CREATE OR REPLACE ... -
oracle 高效Sql语句总结
2014-10-08 11:23 505No SQL,No cost. SQL语句是造成数据库 ... -
oracle merge 更新或插入数据
2014-09-26 14:26 500主要功能 提供有条件地更新和插入数据到数据库表中 如果该 ... -
Oracle时间去除零的问题
2014-07-17 19:48 852天碰到只要取月份和天数,如果月份前面有0要去掉0.比如说201 ...
相关推荐
在Oracle数据库系统中,SGA(System Global Area)是所有用户进程共享的一块内存区域,它为Oracle实例提供了一个公共的数据和控制信息存储区。SGA的合理配置对于数据库性能至关重要。 #### 二、SGA 的组成部分及...
SGA(System Global Area)是Oracle数据库的一个重要组成部分,它是一个共享内存区域,由多个数据库进程共享,用于存储数据库信息并加速对这些信息的访问。SGA主要包括以下几个部分: - **数据缓冲区**:用于缓存...
SGA是Oracle实例的一个重要组成部分,它是一个位于内存中的共享数据结构集合,用于存储所有用户进程共享的信息。SGA的大小是动态可变的,可以根据不同的配置参数进行调整。了解SGA的各个组件以及它们如何协同工作...
oracle11g10g安装备份基础维护
在 Windows 操作系统上运行 Oracle 数据库时,可能会遇到关于 SGA(共享全局区)大小的限制问题。特别是在早期版本的 32 位 Windows 操作系统中,由于地址空间的限制,Oracle 数据库在 SGA 大小方面受到了一定的约束...
Oracle 学习总结 Oracle 是一种关系数据库管理系统,由 Larry Ellison 和 Bob Miner 于 1977 年创立。它是一种对象关系数据库管理系统,支持多种编程语言,包括 Java、Python、C++ 等。 一、创建 Oracle 数据库...
本文将根据"oracle学习总结(适合刚学习oracle的人)"这一主题,深入探讨Oracle数据库的基础知识,帮助初学者建立起对Oracle的基本理解。 1. **Oracle简介**:Oracle数据库是由美国甲骨文公司开发的一款产品,它...
这篇笔记总结将深入探讨Oracle的核心概念、关键功能以及常见操作,旨在帮助读者理解和掌握Oracle数据库的关键知识点。 一、Oracle数据库基础 Oracle数据库采用SQL(结构化查询语言)作为其主要的数据交互方式,支持...
在32位操作系统环境下,Oracle数据库的共享全局区(SGA)大小通常被限制为1.7GB。这一限制主要源于32位系统的内存寻址能力。当尝试将SGA设置得高于1.7GB时,Oracle会抛出ORA-27102(out of memory)错误。然而,在某些...
根据给定的Oracle相关命令和描述,我们可以总结出以下关键知识点: ### Oracle系统参数与内存管理 1. **查看系统参数** - `show parameters ga;`:这应该是`show parameters`的一个错误输入,用于显示当前数据库...
以下是对"Oracle 日常巡检项总结"的详细阐述: 1. **系统资源监控**:巡检时,首先要关注的是服务器的CPU、内存、磁盘I/O和网络带宽的使用情况。过高或不稳定的资源利用率可能会影响数据库的性能,需要及时调整资源...
在 Linux 环境中,为了正确运行 Oracle,首先需要设置一系列环境变量,这些变量用于指定 Oracle 的安装目录、实例名等关键信息。具体操作如下: ```bash export ORACLE_BASE=/oracle export ORACLE_HOME=/oracle/...
Oracle 性能问题总结 Oracle 性能问题是数据库管理员和开发者经常遇到的一个棘手问题,本文总结了 Oracle 性能问题的解决方案,涵盖了物理模型优化、索引相关、SQL 相关、表设计和其他几个方面。 在物理模型优化...
### Oracle优化总结 在本文档中,我们将对提供的部分文本进行深入解读,并提炼出与Oracle数据库性能优化相关的关键知识点。这些知识点将涵盖不同层面的技术细节,包括但不限于系统架构选择、SQL执行效率提升、内存...
Oracle的内存结构分为SGA(System Global Area)和PGA(Program Global Area)。优化内存配置可以减少磁盘I/O: 1. SGA包括共享池、数据缓冲区高速缓存、重做日志缓冲区等,调整其大小以适应系统需求。 2. PGA用于每...
Oracle数据库的体系架构由物理结构、系统全局区(SGA)和进程三大部分组成。物理结构包括数据文件、重做日志文件、控制文件和参数文件。数据文件存储数据库的实际数据,重做日志文件记录所有对数据库的更改,控制...
以下是对标题"ORACLE调优文档总结"和描述中所述知识点的详细说明: 1. **数据库参数设置**: Oracle数据库的性能很大程度上取决于其配置参数。例如,`SGA (System Global Area)` 包含了共享池、数据缓冲区高速缓存...
"Oracle 10g 要点整理 之 体系结构和数据字典.doc"中,详细介绍了Oracle 10g的体系结构,包括数据字典,它是数据库内的特殊表和视图,存储了关于数据库对象的信息。通过查询数据字典视图,如DBA_OBJECTS、USER_...