- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle体系结构 Oracle体系结构概述 Oracle物理存储结构 数据库文件 回滚段 Oracle存储结构 数据缓冲区 重做日志缓冲区 大小由LOG_BUFFER确定 记录实例做出的修改 顺序使用 是循环缓冲区 COMMIT处理 共享池 DML 语句的处理 数据库实例 一个Oracle 实例: 是访问Oracle 数据库的一种方法 总是打开一个并且仅仅一个数据库 日志写 (LGWR) LGWR 在下列情况下写日志: 提交 重做日志缓冲区三分之一满 重做超过1 MB 在DBW0写之前 其它实例进程 其它需要的进程: 数据库写(DBW0) 进程监测(PMON) 系统监测(SMON) 检查点(CKPT) 在产品数据库中通常需要创建归档进程 (ARC0) 数据库写 (DBW0) DBW0写的时机: 脏缓冲区多 空闲缓冲区很少 超时 发生检查点 SMON: 系统监测 自动恢复实例 前滚重做日志中的修改 打开数据库允许用户访问 会滚未提交的事务 合并空闲空间 释放临时段 PMON: 进程监测 在进程失败后执行清除工作: 回滚事务 释放锁 释放其他资源 归档 数据库归档模式 对于磁盘失败后不需要恢复的数据库使用NOARCHIVELOG模式 对于产品数据库使用ARCHIVELOG ARC0 进程 自动归档联机重做日志 保留对数据库做出的所有修改 Thank you! 数据字典 数据字典的结构 数据字典的用途 数据字典是Oracle数据库的核心组件,它是对用户来说为只读类型的表和视图组成。在其中保存着关于数据库系统本身以及其中存储的所有对象的基本信息。 数据库对象所有的框架对象的定义(表、视图、索引、群集、同义词、序列、过程、函数、包、触发器等) 为框架对象如何分配和使用空间 列的默认值 完整性约束信息 数据库安全信息,包括用户、权限、角色等 审计信息 数据库块也称逻辑块或Oracle块,它对应磁盘上一个或多个物理块,它的大小由初始化参数db_block_size(在文件init.ora中)决定,典型的大小是8k。 数据库块 Pckfree和Pctused两个参数用来优化数据块空间的使用。 ? PCTFREE:块中保留用于UPDATE操作的空间百分比,当数据占用的空间达到此上限时,新的数据将不能再插入到此块中; ? PCTUSED:指定块中数据使用空间的最低百分比; Oracle数据库的模式对象包括表、视图、序列、同义词、索引、触发器、存储过程等。 模式对象 内存结构 系统全局区 程序全局区 排序区 系统全局区(SGA,System Global Area.)是内存结构的主要组成部分,是Oracle为一个实例分配的一组共享内存缓冲区,保存着Oracle系统与所有数据库用户的共享信息,包括数据维护、SQL语句分析,重做日志管理等。是实例的主要部分。 系统全局区 数据块缓冲区中存放着Oracle系统最近从数据文件中读取的数据块。 数据块缓冲区又称用户数据高速缓冲区,为所有与该实例相链接的用户进程所共享。 1.数据块缓冲区 存储最近使用的块,包括 DB_CACHE_SIZE、DB_KEEP_CACHE_SIZE以及DB_BK_CACHE_SIZE Data buffercache 数据块缓冲区的容量受物理容量限制。 在Oracle9i中,数据库缓存的大小可以直接由初始化参数DB_ACHESIZE指定,该参数可以直接以K字节或M字节为单位来设置数据库缓存的大小。 字典缓冲区用于保存数据字典中的行。 数据字典缓冲区也通过最近最少使用(LRU)算法来管理。大小由数据库内部管理。字典缓存区是SQL共享池的一部分,共享池的大小(以字节为单位)由数据库文件init.ora中的SHARED_POOL_SIZE参数来设置。 2.字典缓冲区 对数据库进行修改的任何事务(Transaction)在记录到重做日志之前都必须首先放到重做日志缓冲区(Redo Log Buffer.)中。重做日志缓冲区是专为此开辟的一块内存区域,重做日志缓存中的内容将被LGWR后台进程随时写入重做日志文件。 3.重做日志缓冲区 Redo log buffer 重做日志缓存是一个循环缓存区,在使用时从顶端向底端写入数据,然后再返回到缓冲区的起始点循环写入。重做日志缓冲区的大小(以字节为单位)由init.ora文件中的LOGBUFFER参数决定。 数据库 数据库实例 LGWR SGA Redo logbuffer Data buffercache Shared pool 1 2 3 4 用户进程 服务进程 Control files Data fil
文档评论(0)