数据库基本架构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 通过设置共享池来决定它的大小
数据库高速缓冲区
数据库高速缓冲区储存了从数据文件中检索到的 数据块的镜像拷贝
• 这让你在获取和修改数据的时候大大地提高 了性能
• 通过LRU算法管理 • DB_BLOCK_SIZE
决定了主块大小
Data buffer cache
数据库高速缓冲区
• 由独立的子缓冲组成: – DB_CACHE_SIZE – DB_KEEP_CACHE_SIZE – DB_RECYCLE_CACHE_SIZE
Oracle结构组件
目标
在完成本节课后,你应该能够: 描述Oracle服务器的体系结构及其主要组件 列出在用户连接到Oracle实例涉及的结构
User process
Server process
PGA
概述
Instance
Shared pool Library cache
Data dict. cache
Oracle服务器
一个Oracle服务器
• 以一个提供了一套开放的、完 整的、综合的信息管理方式的 数据库管理系统
• 由一个Oracle实例和一个 Oracle数据库组成
Oracle 实例
一个Oracle 实例: 是访问Oracle 数据库的一种方法 总是打开一个并且仅仅一个数据库 包括内存和进程结构 V$bgprocess
Database
Archived log files
物理结构
Oracle数据库的物理结构是由为数据信息提供实际物 理存储的操作系统文件来决定的:
• 控制文件 • 数据文件 • 重做日志文件
联机重做 日志文件
文件头
数据文件 (包括数 据字典)
控制 文件
内存结构
OrFra Baidu bibliotekcle的内存结构有两个区域组成: • 系统全局区(SGA):在实例启动的时候分配,是
• 大小由SHARED_POOL_ SIZE确定
ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;
Shared pool
Library cache
Data dictionary
cache
库缓存
库缓存储存最近执行过的SQL和PL/SQL语句信息。 库缓存:
• 允许共享常用的语句 • 由LRU算法管理 • 由两个结构组成
JAVA池
JAVA池为JAVA命令的解析要求服务
• 如果安装了和使用JAVA的话就需要JAVA池 • 储存的方式跟PL/SQL储存在数据库表中十
分相似 • 由参数JAVA_POOL_SIZE指定大小
程序全局区 (PGA)
PGA是为每个连接到Oracle数据库的用户进程所保 留的内存空间
PGA 服务器进程
Memory structures
Background processes
Oracle数据库
一个Oracle数据库包括: • 是作为一个单元的数据集合 • 有三种文件类型
Parameter file
Password file
Data files
Control files
Redo log files
的时候开始 • 服务器进程:当一个用户建立一个会话的时
候启动并连接到数据库实例 • 后台进程:数据库实例启动的时候同时启动
用户进程
用户进程是请求与Oracle服务器进程进行交互 的程序 • 必须首先建立连接 • 并不是直接跟Oracle服务器交换信息
服务器进程
用户进程
专有服务器进程
堆栈 空间
会话信息、 游标信息、 排序区
SGA
共享服务器进程
堆栈 游标信息、 空间 排序区
SGA
会话信息
共享SQL区
共享SQL区
进程结构
一个Oracle进程是一个基于某种类型的程序, 能够收集信息、执行一系列的步骤或完成一个 特定的任务。 Oracle得益于各种类型的进程: • 用户进程:在用户请求连接到Oracle服务器
– 共享SQL区 – 共享PL/SQL区 • 通过设置共享池来决定它的大小
数据字典缓存
数据字典缓存收集了最近使用过的数据库中的定义。
• 它的信息包括数据库文件、表、索引、列、用 户、权限和其它数据库对象
• 在分析阶段,服务进程查询数据字典解析对象 命名和验证访问的有效性
• 把数据字典信息缓存进内存可以提高检索的响 应速度
SGA
Data buffer cache
Redo log buffer
SMON DBW0 PMON CKPT LGWR Others
Parameter file
Password file
Data Control Redo files files log
files
Database
Archived log files
• 数据库高速缓冲可以用ALTER SYSTEM命令来动 态设置大小尺寸
ALTER SYSTEM SET DB_CACHE_SIZE = 96M;
• DB_CACHE_ADVICE可以设置来收集预设的不同 缓冲的行为统计
重做日志缓冲区
重做日志缓冲区记录了数据库数据块的所有改变 • 主要是为了恢复 • 修改记录在这里叫重做条目 • 重做条目包含了重构和重做修改信息 • 由LOG_BUFFER
定义大小
Redo log buffer
大池
大池在SGA中是一个可选的内存区域,只有在共 享服务器环境才会配置
• 它为共享池减轻负担 • 这个内存区域主要用于会话内存(UGA),
I/O子进程,备份和恢复操作 • 不像共享池,大池不使用LRU列表 • 由LARGE_POOL_SIZE定义大小
ALTER SYSTEM SET LARGE_POOL_SIZE = 64M;
• SGA是动态的,大小由SGA_MAX_SIZE指定 • SGA内存由SGA的组件以细粒为单位进行分
配和跟踪 – 连续的内存分配 – 基于SGA_MAX_SIZE分配尺寸
共享池
共享池用来储存最近执行过的SQL语句和最近使用 过的数据定义
• 它包含两个关键的和性能有关的内存结构
– 库缓存
– 数据字典缓存
Oracle实例的基本结构 • 程序全局区(PGA):当服务器进程启动的时候分配
系统全局区(SGA)
• SGA有几个内存结构组成: – 共享池 – 数据库高速缓存 – 重做日志缓存 – 其它结构(例如锁和闩锁,数据状态)
• 在SGA中有两个可选的内存结构: – 大池 – JAVA池
系统全局区(SGA)
相关文档
最新文档