Oracle服务器结构详解(最新推荐) |
一、Oracle服务器主要组成
二、系统全局区SGA1.高速数据缓冲区用来存放Oracle系统最近访问过的数据块,经常或者最近被访问的数据块会被放置到高速数据缓冲区的前端,不经常被访问的会被放置到后端 2.共享池存储最近执行过的SQL语句和最近使用过的数据定义 共享池的大小由 共享池包含: 库高速缓冲区:包含SQL语句文本,分析代码和执行计划 字典高速缓冲区:包含表,列和其他对象定义和权限 3.Redo buffer(重做日志缓冲区)跟踪服务器和后台进程对数据库所做的更改,它的字节大小由LOG_BUFFER 参数定义 。记录被更改的块、更改位置以及重做条目中的新值;重做条目不区分被更改块的类型,它只记录块中哪些字节发生了更改 。重做日志缓冲区连续使用,而且一个事务处理所做的更改可能会与其它事务处理的更改交叉存取;它是在已满后可以重新使用的循环缓冲区,但是只有在所有旧的重做条目都记录在重做日志文件之后才能使用 。 服务器进程随同系统更改号(SCN)一起在重做日志缓冲区中放置一个提交记录 。 4.大共享区存储不与SQL语句处理直接相关的大型内存结构,如在备份和还原操作中复制的数据块 。 5.固定SGA存储Java代码 三、用户进程全局区-PGA又称程序全局区,可以把代码、全局变量和数据结构都存储在其中,每个Oracle服务器进程只拥有自己的那部分PGA资源 PGA包含: 私有SQL区 会话区 四、服务器进程处理用户会话过程中的SQL语句和SQL Plus命令 五、后台进程1.数据库写入程序(DBW0)
2.日志写入程序(LGWR)将重做日志缓冲区中注册的更改写入重做日志文件 。 当提交事务处理时 3.系统监控程序(SMON)检查数据库的一致性.果Oracle 实例失败,那么SGA 中尚未写入磁盘的所有信息都会丢失 。实例丢失后,后台进程SMON 在数据库重新打开时自动执行实例恢复 。恢复实例需要进行以下步骤: 前滚以恢复尚未记入数据文件但已经记入联机重做日志中的数据 。由于实例失败过程中SGA 的丢失,这些数据尚未写入磁盘 。在这个进程中,SMON 读取重做日志文件并将重做日志中记录的更改应用到数据块中 。由于所有提交的事务处理都已被写入重做日志,因此该进程完全恢复这些事务处理 。 SMON 也执行一些空间维护功能: 联合或合并数据文件中空闲空间的邻近区域 。 4.过程监视器(PMON)负责在一个Oracle 进程失败时清理资源,进程失败后,后台进程PMON 通过下面的方法进行清理:
5.检查点进程(CKPT)负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息 。 到此这篇关于Oracle--服务器结构详解的文章就介绍到这了,更多相关Oracle服务器结构内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持! |