Oracle的 工作过程(更新update)

Oracle的 工作过程(更新update)

1、在运行Oracle的计算机(主机/数据库服务器)上启动一个实例。

2、运行应用程序的计算机(客户端)中启动了用户进程。客户端应用进程使用与所在网络环境相匹配的Oracle网络服务驱动与服务器建立连接。

3、数据库服务器也运行与网络环境相匹配的Oracle网络服务驱动。当服务器监听到应用程序的请求后,就建立专用服务器进程为对应的用户进程提供服务。

4、用户执行SQL语句、提交事务(transaction)。例如,用户改变数据表内某一行的数据。

5、服务进程收到用户提交的语句后,先在共享池(shared pool)中查找是否存在于此语句相同的SQL区(shared SQLarea)。如果存在,服务进程就检查用户是否有访问所请求数据的权限,满足权限要求的话,就使用已有的共享SQL区来处理SQL语句。如果共享sql区不存在,服务进程要为用户提交的SQL语句创建新的共享SQL区,用来解析、处理此语句。

6、服务进程从数据文件(数据表)或SGA中获得所需的数据。

7、服务进程修改SGA中的数据,由于事务已经提交,LGWR进程立即在重做日志文件中记录此事务,而DBWN进程则在适当的时机将修改过的数据块写入磁盘。

8、如果事务成功,服务进程通过网络通知应用程序。如果不成功,则向应用程序提交错误信息。

9、在整个过程中,还有一些未提到的后台进程在运行,它们对整个过程进行监控,在需要时参与进来。此外数据库服务器还要管理其他用户的事务,防止请求相同数据的事务之间产生竞争contention。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值