虽说差不多每天都在研习,但是总有无数知识盲点。

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)。


TAG: oracle 工作流程

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar