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。
后一篇:
1.2 Oracle数据库特性