- 浏览: 579527 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (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 531最小化表查询次数 ... -
sql 用inner join取代in和exists
2018-01-02 16:48 1116使用表连接替换EXISTS ... -
oracle HINT详解
2017-09-01 10:42 495ORACLE的HINT详解 hints是oracle提供的 ... -
oracle jdbctemplate如何优化查询速度
2017-08-21 09:33 12801.设置setFetchSize进行优化 // 可以优化 ... -
oracle Parallel模式-Parallel用法(/*+PARALLEL(n)*/)
2017-08-18 16:48 18121.用途 强行启用 ... -
oracle 存储过程学习总结
2016-08-22 08:42 333dbms_output.put_line('CONCAT ... -
oracle where条件分支查询
2016-06-30 16:16 505select * from test xx where ... -
oracle with as用法
2016-06-24 09:58 917with as语法 –针对一个别名 with tmp as ... -
oracle 重复数据处理的sql整理
2016-06-22 14:44 376Oracle 删除重复数据只留一条 1、查找表中多余的重 ... -
oracle 数据库组成部分(数据库(各种文件)+实例(SGA PGA + 后台进程))知识
2016-04-11 19:51 1240一、SQL server中的实例与 ... -
oracle expdp与impdp导入导出
2016-03-17 10:17 1267[b]数据泵工具导出的步骤:[/b] 1、创建DIRECT ... -
oracle 常用sql语句积累
2016-01-28 11:01 5471.删除重复列 delete from t t1 where ... -
oracle forall关键字进行批量操作
2014-12-12 15:26 1019两个数据操纵语言(DML)语句:BULK COLLECT和FO ... -
oracle 表中有子父关系列则使用CONNECT BY PRIOR
2014-10-27 10:08 402查询名字为xx xxx的所有子数据 SELECT re.U ... -
oracle 存储过程使用实例
2014-10-22 17:41 5901.建包 CREATE OR REPLACE PACKA ... -
oracle 删除大量数据后整理表(analyze table xxx compute statistics)
2014-10-17 18:09 21791. DELETE 后 TRUNCATE TABLE ; 然 ... -
oracle splitstr 函数
2014-10-15 17:45 1384splitstr函数 CREATE OR REPLACE ... -
oracle 高效Sql语句总结
2014-10-08 11:23 488No SQL,No cost. SQL语句是造成数据库 ... -
oracle merge 更新或插入数据
2014-09-26 14:26 470主要功能 提供有条件地更新和插入数据到数据库表中 如果该 ... -
Oracle时间去除零的问题
2014-07-17 19:48 819天碰到只要取月份和天数,如果月份前面有0要去掉0.比如说201 ...
相关推荐
Oracle 学习总结 Oracle 是一种关系数据库管理系统,由 Larry Ellison 和 Bob Miner 于 1977 年创立。它是一种对象关系数据库管理系统,支持多种编程语言,包括 Java、Python、C++ 等。 一、创建 Oracle 数据库...
1. 本文系作者的学习总结总(参考文档来自ORACLE官方文档) 2. 介绍了ORACLE中SGA的基本概念与样关内存区的的分配基本原则
仅对服务器只存在OS + ORACLE 为例,如果存在其他应用请酌情考虑 写这个也是因为近来这种重复性的问题发生的太多所导致的
Oracle Tuning (Oracle 性能调整)的一些总结关于Oracle的性能调整,一般包括两个方面,一是指Oracle数据库本身的调整,比 如SGA、PGA的优化设置,二是连接Oracle的应用程序以及SQL语句的优化。做好这两个方面的 优化...
oracle性能问题总结笔记。文本 数据库参数配置 合理分配SGA及其内部参数(经验值如下): SGA=phy*(60%-80%) Share pool=SAG*45% DB Cache=SGA*45% Log Buffer: 1~3M
oracle 的内存可以按照共享和私有的角度分为系统全局区和进程全局区,也就是 SGA和 PGA(process global area or private global area)。
本文总结了 Oracle 考试试题及答案,涵盖了数据库管理技术、数据结构、关系代数、PL/SQL 等多个方面的知识点,旨在帮助读者更好地理解 Oracle 数据库管理系统。 一、数据库管理技术 * 数据库管理技术经历了三个...
关于Oracle的性能调整,一般包括两个方面,一是指Oracle数据库本身的调整,比如SGA、PGA的优化设置,二是连接Oracle的应用程序以及SQL语句的优化。做好这两个方面的优化,就可以使一套完整的Oracle应用系统处于良好...
本文通过对 Oracle 缓存执行原理和过程的研究,总结出缓存性能调整和优化的规则。 一、引言 数据库性能调整和优化是数据库应用的重要课题。Oracle 数据库利用 SGA 的主内存来管理用户间的数据共享,数据通过一组...
针对数据库的启动和关闭、控制文件与数据库初始化、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等待事件、性能诊断与SQL优化等几大Oracle热点主题,...10.7 总结 525
以下是 Oracle SQL 性能优化 40 条的知识点总结: 一、SQL 语句执行步骤 * 语法分析:检查 SQL 语句的语法正确性 * 语义分析:分析 SQL 语句的逻辑含义 * 视图转换:将 SQL 语句转换为视图 * 表达式转换:将视图...
oracle 10g大部分视图的总结。 This poster displays the V$ views of Oracle database 10g categorized by major function. The V$(dynamic performance) views are supplement of views to the data dictionary ...
作者通过总结各自多年的软件开发和教学培训经验,与大家分享了掌握Oracle SQL所独有的丰富功能的技巧所在,内容涵盖SQL执行、联结、集合、分析函数、子句、事务处理等多个方面。读者可以学习到以下几个方面的技巧:...
1. 系统全局区(SGA):实例启动时分配该内存区,是 ORACLE 实例的一个基本组件。包含共享池、数据缓冲区及日志缓冲区。 2. 程序全局区(PGA):服务器进程启动时分配该内存区,PGA 为非共享区,只能单个进程使用,...
同时,也可以通过设置 SGA_TARGET,实现自动管理。 Buffer Cache 的优化 为了提高 Buffer Cache 的命中率,可以通过以下方法: * 设置 db_block_checksum 参数为 true,为每个 block 添加一个校验码,防止磁盘...
用户对数据库的操作如果产生日志信息,則该日志信息首先被存储在日志缓冲区中,随后由 LGWR 进程保存到日志文件。一个表空间物理上对应一个或多个数据文件。 逻辑存储结构 在 Oracle 的逻辑存储结构中,根据存储...
Employees 表用于存储员工的基本信息,Department 表用于存储部门信息,Salary 表用于存储员工的薪水情况。 二、插入、修改和删除数据 在 ORACLE 数据库中,插入、修改和删除数据是最基本的操作。使用 PL/SQL 语句...
下面是该课程的详细知识点总结: 一、Oracle数据库的安装 * Oracle数据库的安装环境要求:操作系统(Windows 2000/XP/2003 Server)、磁盘空间(> 1G)、内存(> 256M)、CPU(P4 1.6G)、Java 运行环境(JRE) * ...
ORACLE 数据库实验报告总结 本资源总结了太原理工大学 ORACLE 数据库实验报告,总共分为两个实验项目。第一个实验项目是创建数据库和表,第二个实验项目是表数据插入、修改和删除。 实验一:创建数据库和表 * ...