Oracle体系结构培训课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Oracle体系结构培训课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 体系结构 培训 课件
- 资源描述:
-
1、1第3章 Oracle体系结构2数据库和实例o Oracle数据库服务器由数据库和实例组成。o 在Oracle中,数据库是静态的,是以文件的形式存在的,是文件的集合。o 实例是有关数据库管理和控制的一系列进程,以及他们共享的系统全局区SGA3Oracle结构图Oracle数据库服务器实例数据库Oracle进程SGA区后台进程物理存储逻辑存储数据文件控制文件日志文件初始化文件密码文件归档文件表空间段区块服务进程4访问Oracle数据库o 当客户应用或工程程序要访问Oracle数据库时,必须首先连接到Oracle Server,然后才能访问数据库数据。o 当在Sql*Plus中键入用户名、口令和网
2、络连接串之后,就可以连接到Oracle Server了,此时会在客户端启动对应于Sql*Plus应用进程,该进程称为“用户进程”,同时在服务器端Oracle Server会自动为该用户进程派生一个新的进程,该进程为服务器进程。5 当客户端运行SQL语句时,用户进程会通过网络将该SQL语句发送到对应的服务器进程,并且由服务器进程执行该SQL语句,服务器进程在执行了SQL语句之后,会将SQL语句的结果通过网络发送到用户进程。客户端的所有SQL操作都是由服务器进程来执行的。后台进程6数据库操作模式o 专用服务器n 为每个连接到实例的用户进程启动一个专门的服务进程。o 共享服务器n 当用户程序向系统发
3、出请求时,监听器分配一个负荷最轻的调度进程来处理用户请求。7Oracle结构图Oracle数据库服务器实例数据库Oracle进程SGA区后台进程服务进程物理存储逻辑存储数据文件控制文件日志文件初始化文件密码文件归档文件表空间段区块8请大家看一下书上2.2 Oracle内存结构9Oracle内存结构o 内存是Oracle重要的信息缓存和共享区域,主要存储执行的程序代码、连接的会话信息以及程序执行期间所需数据和共享的信息等。o Oracle使用的主要内存结构包括系统全局区SGA和程序全局区PGA。10SGA区11数据高速缓存o 保存最近从数据文件中读取的数据块。分为脏缓存块、空闲缓存块和命中缓存块
4、三类。o 脏缓冲块:当执行INSERT、UPDATE以及DELETE操作时,服务器进程修改数据高速缓存的相应数据,此时缓冲区的内容与数据文件中的内容不一致。12o 当用户第一次提出数据查询请求时,Oracle会首先在数据高速缓存中寻找该数据。如找到,系统就直接对它们进行处理。o 如找不到,系统首先在数据高速缓存中查找空闲数据块,然后将数据库文件中的数据读入空闲块处理,如搜索了一定的数据块后仍找不到空闲块,由后台进程DBWR将内存中部分修改过的数据写入文件,以腾出空间。数据高速缓存13重做日志缓冲区o 重做日志缓冲区用于缓存数据库重做日志记录,以便数据库损毁时可以进行必要的恢复。o 重做日志缓存
5、是一个循环缓存区,在使用时从顶端向低端写入数据,然后再返回到缓冲区的起点循环写入。14共享池o 共享池相当于程序高速缓冲区,所有的用户程序都放在共享池中。o 当用户将SQL指令发送至Oracle,系统首先解析语法是否正确。解析时所需的系统信息,以及解析后的结果将存放在共享池内。所以当不同用户执行相同SQL指令时,可以共享已解析好的结果。15共享池o 共享池库缓存数据字典缓存o 库缓存共享SQL区PL/SQL域锁闩o 数据字典缓冲区存放数据字典信息。16程序全局区 PGA:Program Global Areao PGA是单个Oracle进程(包括服务器进程和后台进程)使用的内存区域,不属于实例
6、的不属于实例的内存结构。内存结构。o PGA含有单个进程工作时需要的数据和控制信息,PGA是非共享的,只有服务进程本身才能够访问它自己的PGA区。17PGAo PGA为指定进程专用.o 当用户连接服务器并建立会话时,Oracle为其分配一个PGA。18PGAo PGA包括n 私有SQL区n 会话内存区n 排序区19Oracle结构图Oracle数据库服务器实例数据库Oracle进程SGA区后台进程服务进程物理存储逻辑存储数据文件控制文件日志文件初始化文件密码文件归档文件表空间段区块20后台进程o 数据库写进程DBWR(Datebase Writer)o 日志写进程LGWR(Log Writer
7、)o 检查点进程CKPT(Checkpoint Process)o 系统监控进程SMON(System Monitor)o 进程监控进程PMON(Process Monitor)21请大家看一下书上2.3 Oracle进程22数据库写进程(DBWn/DBWR)o DBWn进程负责将数据库缓存中的脏缓存块写入数据文件中。o 在出现以下情况时,DBWn开始工作n 系统发出检查点(checkpoint)。n 脏缓冲区个数达到指定阈值。n 服务器进程不能找到自由缓冲区。23DBWnDBWR24日志写进程(LGWR)o 当运行DML(INSERT、UPDATE、DELETE)或DDL(CREATE、AL
8、TER、DROP)语句时,服务器进程首先将事务变化记载到重做日志缓冲区,然后才会将数据写入到数据高速缓存的相应缓冲区,并且重做日志缓冲区的内容将会被写入到重做日志文件中,以避免系统出现意外所带来的数据损失。25LGWR重做日志缓存循环使用。LGWR在以下几种情况下发生:o 在DBWR将脏数据写入数据文件之前。o 重做日志缓冲区已有三分之一填满。o 每隔3秒钟。o 提交事务。o 重做日志记录大小到126思考o Oracle总是尽量将用户“最常使用的数据”保留在缓冲区内,以提高数据存取的效率。那么,如果仅将最不常用的数据写至数据文件,那么这些“经常使用”的数据反而没机会存回硬盘?Oracle系统使
9、用检查点进程(CKPT)定时触发一次更新数据文件的操作。27检查点进程(CKPT)o CKPT进程负责向数据库发出检查点,检查点用于同步数据库的所有数据文件、控制文件和重做日志。28SCN(System Change Number)o 当运行Insert、Update、Delete以及其他涉及到数据库变化的语句时,Oracle会针对任何修改生成顺序递增的SCN值,并将该SCN值连同事务变化一起记载到重做日志缓冲区。SCN是用于记载数据库变化的唯一标识号,永远不会用尽。o 假定Update之前的SCN为100000,当执行了Update之后有三个数据块发生变化,则SCN会增加为100003。29
10、CKPT工作原理o 当Oracle发出检查点时,系统会将检查点时刻的SCN值写入到控制文件和数据文件头部,同时还会促使DBWR进程将所有脏缓冲区写入到数据文件中。30检查点工作机制o 在DBWR进程工作之前,LGWR进程首先将重做日志缓冲区内容写入到重做日志文件,即该时刻的SCN值会被写入重做日志。o 当CKPT进程工作的时候,会将当前时刻的SCN值写入数据文件和控制文件。o 在发出检查点时刻,数据文件、控制文件和重做日志的SCN值完全一致。31系统恢复o 当运行Oracle Server时,在访问数据文件、控制文件和重做日志时,Oracle会定期检查并比较每种文件的SCN值,确定文件是否损坏
11、、系统是否出现异常,最终确定系统是否需要进行恢复。32思考o 假定某用户执行了“insert into DEPT values(50,SALES,BeiJing)”和”COMMIT”操作后,突然意外断电,那么n 事务变化记载到了哪种文件中?n 控制文件和数据文件的SCN值是否一致?n 控制文件和重做日志的SCN值是否一致?33分析o 在执行COMMIT操作时,后台进程LGWR要开始工作,所以事务变化被记载到重做日志中。因为只有在发出检查点时,才会将SCN值写入控制文件和数据文件头部,所以控制文件和数据文件的SCN值保持一致,并且存放的是先前检查点的SCN值。o 控制文件和数据文件的SCN值一致
12、,与重做日志不一致!34SMONo 如果数据库未正常关闭,文件中数据不同步。o 因为最近检查点SCN到COMMIT时间点SCN之间的事务变化都被记载到了重做日志中,所以在重新打开数据库之前,Oracle会自动执行这两个时间点之间的事务操作,并同步所有数据文件、控制文件和重做日志文件,然后才会打开数据库。o 该过程被称为应急恢复,正是由SMON完成的,SMON还负责在启动实例时清理临时段和合并区碎片。35一致性处理o 如果数据文件、控制文件、重做日志的当前SCN值完全一致,则系统会直接打开所有数据文件和重做日志。o 如果控制文件和数据文件的当前SCN值完全一致,并小于重做日志的当前SCN值,则需
展开阅读全文