ORACLE单实例体系结构

上传人:206****923 文档编号:51684872 上传时间:2018-08-15 格式:PPTX 页数:14 大小:265.23KB
返回 下载 相关 举报
ORACLE单实例体系结构_第1页
第1页 / 共14页
ORACLE单实例体系结构_第2页
第2页 / 共14页
ORACLE单实例体系结构_第3页
第3页 / 共14页
ORACLE单实例体系结构_第4页
第4页 / 共14页
ORACLE单实例体系结构_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《ORACLE单实例体系结构》由会员分享,可在线阅读,更多相关《ORACLE单实例体系结构(14页珍藏版)》请在金锄头文库上搜索。

1、ORACLE单实例体系结构通过SQL语句的执行过程理解ORACLE工作原理查询语句执行过程图 例如: SELECT EMPNO,ENAME FROM SCOTT.EMP;DB SERVER客户 端LISTENERServer ProcessPGApgapgapgaSGAShare poolDictionary cachelibrary cacheBUFFER CACHEDBWRdata filepgapgapgaOracle net创建服 务器进 程查询语句执行过程描述 (1)客户端访问Oracle Server 的LISTENER服务,监听服务对客户端进行认证。 (2)认证通过后,监听进程会

2、为客户端进程创建一个Server 进程用于处理客户端请求。 (3)Server进程对SQL语进行语法检查,并通过访问SGA内存区中的share spool区域的dictionary cache进 行权限检查与语义检查。 (4)检查通过后,需要检查该SQL语句的执行计划是否在Library cahce中,如果存在,则直接拿来用, 即软解析;若不存在,则要在share pool中申请空间生成执行计划。 (5)执行计划生成后,通过执行计划在buffer cache中获取相关的数据块,若数据块已缓存在buffer cache 中并且可用,则直接从缓存中取,若缓存中无该块,则会触发DBWR进程进行数据块

3、读取。 (6)server 进程从buffer cache中获取数据块后,读取数据块中数据并进行进一步处理,然后将结果集返回client 。DML语句执行过程图 例如: update SCOTT.EMP set sal=sal+1000;DB SERVER客户 端LISTENERServer ProcessPGApgapgapgapgapgapgaSGAShare poolDictionary cachelibrary cacheBUFFER CACHEDBWRdata filePara fileContr ol fileach filelog fileLog bufferLGWRARCHCK

4、PTOracle netDML语句执行过程描述 (1)客户端访问Oracle Server 的LISTENER服务,监听服务对客户端进行认证。 (2)认证通过后,监听进程会为客户端进程创建一个Server 进程用于处理客户端请 求,客户端断开与监听进程的连接,直接与刚创建的服务器进行进行连接。 (3)Server进程对SQL语进行语法检查,并通过访问SGA内存区中的share spool区域的dictionary cache进 行权限检查与语义检查。 (4)检查通过后,需要检查该SQL语句的执行计划是否在Library cahce中,如果存在, 则直接拿来用即软解析;若不存在,则要在share

5、 pool中申请空间生成执行计划,即硬解析。 DML语句执行过程描述 (5)Server进程写该语句的回滚块日志信息至Log buffer中。 Server进程生成该语句的回滚块信息至buffer cache中。 Server进程生成该语句的数据块日志条目信息并写入Log buffer中。 Server进程在buffer cache中对满足条件的数据进行修改,若块不在缓存中,则通过 DBWR进程读入后进行修改。 (6)CKPT进程(检查点进程)按照各种算法定时将buffer cache中的脏块写入数据文 件中。 (7)server 进程收到LGWR和DBWR进程反馈的消息后,将操作结果通知cl

6、ient 。ORACLE多实例体系结构ORACLE RAC 工作原理图ORACLE RAC 工作原理描述 (1)ORACLE RAC 是为了解决单实例硬件资源有限不能满足多用户访 问而引入的技术,该技术提供实例级的容灾,同时提供了负载均衡的 功功能。集群中某一节点不可用时,另一节点可正常对外提供服务。 (2)集群中所有实例共享相同的数据文件和控制文件。 集群中每一节点都有自己的SGA及后台进程。 集群中每一节点都有自己的redo logs 及undo 表空间。 (3)对于开发人员来说集群数据库只是多个一些GV$开头的性能视图 ,这一类动态视图可查询整个集群中所有节点的情况。ORACLE RAC

7、 工作原理描述 (4)ORACLE RAC每个节点有三类IP地址:PUBLIC,PRIVATE,VIP PRIVATE IP:私有IP,用于心跳同步。 PUBLIC IP:公用IP,管理员或运维人员使用,保证可连接准确连接至 到集群中某节点。 VIP:虚拟IP,用户客户端应用,支持失效转移,或负载均衡。 (5)Oracle RAC数据库中所有数据库缓存作为一个共享的数据库缓存 ,并被RAC中的所有节点共享,这一技术称为缓存融合技术(cache fusion)。 Cache Fusion原理Cache Fusion相关进程介绍(1)每个节点都运行一个数据库实例。(2)每个实例包含一组Oracle

8、进程和用于缓存的系统全局区(SGA)。(3)除了这些集群中的每个节点都还运行着一组特殊的进程:全局缓存服务进程(Global Cache Service ,GCS)负责协调不同实例间对数据块的访 问。全局队列服务进程(Global Enqueue Service,GES)负责维护字典缓存和库缓存内的一致 性(4)通过Global Resource Directory(GRD)来维护和记录每个数据块的状态,使其在群集 中的各个节点之间同步和串行处理对数据的访问。ORACLE RAC存在问题 (1)当数据库中数据文件或、日志文件、控制文件损坏时,只能通过恢复 来修复数据库,恢复时间长短取决于备份策略。不能满足实时性要求,为此 ORACLE公司又研发了DATAGUARD技术 ,分为物理和逻辑备库,其中物理备 库用于数据库级的容灾,逻辑备库常用于查询统计或是实时性要求不高的业 务应用。 (2)由于并发用户增多,带来了锁资源争用严重、磁盘争用严重的情况。 需要进一步对应用进行监控确认系统慢的原因。前者可通过优化应用及SQL 语句来解决,若瓶劲在磁盘上需要更换更快的磁盘,若是SQL语句导致的则 需要优化SQL语句以减少不必要的磁盘访问。谢谢大家 !

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号