Oracle工作大概流程

以下例子大体上描述了Oracle进行更新(update)时操作的主要步骤。在例子所描绘的Oracle配置中,用户和相关的服务进程处在不同的计算机 中,通过网络连接

 


  1. 在运行Oracle的计算机上启动一个实例 (这台计算机也被称为主机 (host)或数据库服务器 (database server))。

  2. 运行应用程序的计算机(也被称为本地计算机 (local computer)或客户端工作站 (client workstation))中启动了用户进程 (user process)。客户端 应用程序使用与所在网络环境相匹配的Oracle网络服务驱动 与服务器建立连接。
  3. 数据库 服务器 也运行与网络环境相匹配的Oracle网络服务驱动 。当服务器监听到应用程序的请求后,就建立专用服务器进程为对应的用户进程提供服务。
  4. 用户执行SQL语句、提交事务(transaction)。例如,用户改变数据表内某一行的数据。
  5. 服务进程收到用户提交的语句后,先在共享池 (shared pool)中查找是否存在与此语句相同的共享SQL区(shared SQL area)。如果存在,服务进程就检查用户是否有访问所请求数据的权限 ,满足权限要求的话,就使用已有的共享SQL区来处理SQL语句。如共享SQL区不存 在,服务进程要为用户提交的SQL语句创建新的共享SQL区,用来解析、处理此语句。
  6. 服务进程数据文件 (逻辑上看就是数据表)或SGA 中获得所需的数据。
  7. 服务进程修改SGA中的数据。由于事务已经提交,LGWR进程 立即在重做日志文件(redo log file)中记录此事务。而DBWn进程 则在适当的时机将修改过的数据块写入磁盘。
  8. 如事务成功,服务进程通过网络通知应用程序。如不成功,则向应用程序提交错误信息。也就是说,服务进程在事务处理完毕后,向用户返回处理的结果或是处理出错的信息。
  9. 在整个过程中,还有一些未提到的后台进程 在运行,它们对整个过程进行监控,在需要时参与进来。此外数据库服务器还要管理其它用户的事务,防止请求相同数据 的事务之间产生竞争(contention)。

 

摘自《oralce concept》第一章“1 Introduction to the Oracle Database

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值