最近在啃Oracle Concepts,中英文对照版,有时间我会每天到这来贴一些学习摘要与大家分享,觉得好的话就支持一把吧:)
Oracle是怎样工作的
上一篇 /
下一篇 2008-01-04 11:28:07
/ 个人分类:Concepts
以下例子大体上描述了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)。
相关阅读:
- [原创]ORACLE ERP通过接口表禁用一道工序 (ysfabm, 2007-12-15)
- Oracle数据库游标使用大全 (chenqilong, 2007-12-17)
- show_space procedure from asktom (cqubityj, 2007-12-19)
- 网格:统一管理,按需分配 (chenqilong, 2007-12-19)
- 学习笔记一:oracle体系结构组件 (focus.world, 2007-12-20)
- Oracle数据库的物理结构简介 (chenqilong, 2007-12-20)
- 监控当前数据库用户在运行什么sql语句 (ysfabm, 2007-12-22)
- oracle 学习之路 (转载) (sj04620118, 2007-12-31)
- Oracle 的入门心得(转载) (sj04620118, 2007-12-31)
- 逻辑数据库结构概述 (chenqilong, 2008-1-03)
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG:
oracle
工作流程