教学笔记-Oracle体系结构01
Oracle有自己的文件结构、缓冲区结构、进程结构以及自身的优化功能。
Oracle服务器主要有两部分组成:Oracle数据库和Oracle实例。也就是说我们的Oracle数据库只是一个数据文件和相关数据库管理系统的集合,真正为用户提供服务的是Oracle实例。Oracle实例的内存结构组织主要包含在系统全局区(SGA:System Global Area)的内存区域中,SGA可以被所有用户进程共享。
·Oracle服务器的内存结构:
Oracle服务器有两种内存结构:系统全局区(SGA)和程序全局区(PGA)
系统全局区是一组共享内存结构,存放一个Oracle数据库实例的控制信息和各个共享用户的数据。程序全局区是用户进程连接到数据库并创建会话时,有Oracle服务器进程进行分配的、专门用于当前用户会话的内存区,存储该用户连接期间与SQL语句执行相关的信息,该区域是私有的。
·Oracle服务器的进程结构:
Oracle数据库系统中的进程只要分为:用户进程和服务器端进程,服务器端进程又分为服务器进程和后台进程。
用户进程在客户端工作,它向服务器进程发出请求信息。SQL*Plus、Oracle Forms Builder等都是用户进程。
服务器进程接收用户发出的请求,并根据请求与数据库通信(通过SGA),通过这些通信完成用户进程对数据库中数据的处理请求,而具体的数据读写、日志写入等操作则是由后台进程完成。
服务器端后台进程:包括数据库写入进程(DBWn),日志写入进程(LGWR),日志归档进程(ARCn),检查点进程(CKPT),系统监控进程(SMON)和进程监控进程(PMON)等。
1, 数据库写入进程(DataBase Writer,DBWn):作用是将已经更改的数据块从内存写入到实际的数据文件。默认情况下在数据库实例启动时只启动了一个数据库写入进程,即DBW0,通过设置初始化参数DB_WRITER_PROCESSES可以最多定义20个(编号分别是0-9和a-j)数据库写入进程来执行写入操作。从而获得高度动态的数据库性能。在Oracle数据库系统中只有两种进程可以对数据文件执行写入操作:数据库写入进程和检查点进程。
2, 日志写入进程(Log Writer,LGWR):作用是将重做日志缓冲区中的内容写入到重做日志中。重做日志是对数据库进行的所有事务的一个拷贝,这样做的目的是使Oracle能从不同的错误中回复。日志写入进程是唯一一个能够读写重做日志的进程。
3, 日志归档进程(Archive Process,ARCn):作用是将重做日志的事务变化复制到归档日志文件中。重做事务日志以顺序方式记录,填满一个日志文件之后,就会通过日志切换转向另一个可用的重做事务日志。该后台进程只有在“归档日志”(ARCHIVELOG)模式下才有效。默认情况下只有2个归档日志( ARC0 和ARC1),通过初始化参数LOG_ARCHIVE_MAX_PROCESSES最多可定义30个日志归档进程。通常情况下,DBA不需要设置,日志写入进程(LGWR)会根据归档任务的需要自动启动适当数量的归档进程。
4, 检查点进程(Checkpoint Process,CKPT):作用是发出检查点,实现同步数据库的数据文件、控制文件和重做日志。通俗的讲,就是在发出检查点之后数据库写入进程和日志写入进程都会将缓存中的数据写入到对应的数据文件和重做日志,从而保证数据文件、控制文件和重做日志文件的一致性。
5, 系统监控进程(System Monitor,SMON):是在数据库系统启动时执行恢复工作的强制性进程,它负责许多内部的操作。它的作用是执行数据库实例的恢复、释放控件碎片并释放临时段。即当前一次数据库系统异常关闭,再次启动时的恢复工作。在并行服务器模式下,系统监控进程还可以恢复另一台计算机中失败的数据库。
6, 进程监控进程(Process Monitor,PMON):作用是监控服务器进程的执行,并在服务器进程失败时清楚该服务器进程。进程监控进程是用于恢复失败的数据库用户的强制性进程。
7, 锁进程(Lock,LCKn):用于并行服务器模式,帮助数据库通信。
8, 调度进程(Dispatcher,Dnnn):在使用多线程服务器时出现,负责所连接的用户进程到可用服务器进程的路由请求,并把响应返回到何时的用户进程。
9, 作业队列进程(Job Queue,Jnnn):作业队列进程和作业队列监视进程。10g引入
10, 闪回恢复进程(Recovery Writer,RVER):9i提出10g完善的闪回技术。闪回数据库是进行时
- 发表评论
-
- 最新评论 更多>>