ORACLE学习笔记之体系结构篇

以上这个复杂的体系结构主要包括Oracle服务器(sever)(而服务器又由Oracle实例

instance)和Oracle数据库(database)组成),还包括一些其他的关键文件、用户进程

和服务器进程。服务器中的一些结构并不在处理SQL语句时使用,它们是为了改进数据库

系统的效率或数据恢复等而设计的。

 
用户进程与服务器的连接方式

1  基于主机的方式:通信通过OS内部进程通信(inter porcess communication, ICP)来完成.

2  客户端-服务器(cilent-server)(两层模型)方式:通信通过网络协议(TCP/IP)来完成.

3  客户端-应用服务器-服务器(cilent-application server- server)(三层模型)

4  多线程连接(MTS)/ 共享服务器连接(shared server)

     用户进程通过以一一对应的服务器进程与服务器建立连接.

     服务器进程拥有一个程序全局区(program global area, PGA, 属于服务器进程私有,生命周期与服务器进程相同。 

Oracle实例(instance)

Oracle实例(instance)是一种数据库访问机制,它是由内存结构和一些后台进程组成的.

 

     Oracle执行SQL查询语句的步骤

         编译(parse):在进行编译时,服务器进程会将SQL语句的正文放入共享池(shared pool)的库高速缓存(library cache)中并将完成以下处理:

   〉首先在共享池中搜索是否有相同的SQL语句(正文),如果没有就进行后续的处理。

   〉检查该SQL语句的语法是否正确。

    〉通过查看数据字典来检查表和列的定义。

    〉对所操作的对象加编译锁(parse locks)以便在编译语句期间这些对象的定义不能被改变。

    〉检查所引用对象的用户权限。

    〉生产执行该SQL语句所需要的优化的执行计划。

    〉将 SQL语句和执行计划装入共享的SQL区。

        以上的每一步操作是在处理正确时才进行后续的处理。如果不正确,就返回错误。

         执行(execute):Oracle服务器进程开始执行SQL语句是因为它已获了执行SQL语句所需的全部资源和信息。

         提取语句(fetch):Oracle服务器进程选择所需的数据行,并在需要时将其排序,最后将结果返回给用户(进程)。

执行其他SQL语句时返回执行成功或失败的信息。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值