Oracle数据库原理与应用 姚世军 第2章 Oracle实例.pdf
文本预览下载声明
第2章 Oracle实例
2015年5月17日星期日 1
ORACLE实例
实例概念及实例结构
实例的内存结构
SGA(System Global Area)
PGA(Program Global Area)
实例的进程结构
用户进程
ORACLE进程
后台进程
2015年5月17日星期日 2
ORACLE实例结构
数据库实例 (instance)是用来访问数据库文件集的内存结构
及ORACLE进程的集合。一个数据库可以被多个实例访问。
2015年5月17日星期日 3
用户、实例和数据库的关系
一个数据库至少有一个与之对应的实例。启动数据库时先创建
一个实例,然后由实例加载(即将数据库与实例联系起来)并打
开数据库。用户连接连接到实例中,然后由实例负责与数据库
通信,将处理结果返回给用户
2015年5月17日星期日 4
ORACLE内存结构
内存结构主要记录如下数据:
解析后的SQL或PL/SQL程序代码。
用户连接会话信息。
缓存的数据。
程序运行时所需的各种信息。
SGA (System Global Area)和PGA (Program Global Area)。SGA是
由所有服务进程和后台进程所共享的内存段。PGA区是存放每个服务进
程和后台进程所私有的数据和控制信息。Oracle中每个进程都拥有自
己的PGA区。
2015年5月17日星期日 5
ORACLE内存结构
2015年5月17日星期日 6
系统全局区SGA
每个Oracle实例只有一个SGA,SGA区中的信息能够被所有
Oracle进程共享使用。
在SGA中保存着Oracle系统与所有数据库用户的共享信息,包
括在进行数据管理、重做日志管理以及 SQL程序分析时所必需的
共享信息。
显示SGA的大小:
SQLSHOW SGA;
动态性能视图V$SGA,V$SGASTAT。
2015年5月17日星期日 7
SGA的组成
1.数据库缓存:它保存的是最近从数据文件中读取的数据(脏缓存块、空闲块、
命中块)
大小:DB_BLOCK_SIZE和DB_BLOCK_BUFFERS
2.重做日志缓存:它是存储对数据库所做修改信息的缓存区。重做记录形式存
储。
大小:LOG_BUFFER
3.共享池:包括库缓存、数据字典缓存和用于存储并行操作信息和控制结构的
缓存。库缓存用于存放已经解析并执行过的SQL语句、PL/SQL程序代码。
SHARED_POOL_SIZE
4.Java池:SGA中专门为所有Java代码或JVM 中的数据而分配的内存。主要存
储每个会话中每个类的共享部分,包括代码向量、类的方法等只读内存。
大小:JAVA_POOL_SIZE
5.大型池:主要用于共享服务的会话内存、I/O服务进程、ORACLE备份和恢
复操作和并行执行的消息缓存。
大小:LARGE_POOL_SIZE。
2015年5月17日星期日
显示全部