0-在运行oracle上启动一个instance
1-客户端计算机启动用户进程user process,客户端应用使用与所在网络环境相匹配的oracle网络服务驱动,与服务器建立连接.
2-数据库服务器也运行于网络环境相匹配的oracle网络服务驱动,当服务器监听到应用程序的请求后,建立专用服务器进程为对应的用户进程服务
3-用户执行SQL语句,提交事务,比如update一行
4- 服务器进程收到用户提交的语句后,先在shared pool中查找是否存在与此语句相同的共享SQL区,如果存在,服务器进程就检查用户是否有访问所请求数据的权限,如果有,就使用共享SQL区来处理SQL语句,如果共享SQL区不存在,服务进程要为用户提交的SQL语句创建新的SQL共享区,用来解析,处理此语句.
5-服务进程从数据文件或SGA中获得所需的数据.
6-服务进程修改SGA中的数据,由于事务已提交,LGWR立即在重做日志文件中记录此事务,而DBWn则在适当的时机将修改过的数据块写入磁盘.
7- 如果事务成功,服务进程通过网络通知应用程序,不成功则提交错误信息.
8-在整个过程中,还有一些后台进程在运行,它们对整个过程进行监控.在需要时参与进来,此外数据库服务器还要管理其他用户的事务,防治请求相同数据的事务之间产生竞争.
1-客户端计算机启动用户进程user process,客户端应用使用与所在网络环境相匹配的oracle网络服务驱动,与服务器建立连接.
2-数据库服务器也运行于网络环境相匹配的oracle网络服务驱动,当服务器监听到应用程序的请求后,建立专用服务器进程为对应的用户进程服务
3-用户执行SQL语句,提交事务,比如update一行
4- 服务器进程收到用户提交的语句后,先在shared pool中查找是否存在与此语句相同的共享SQL区,如果存在,服务器进程就检查用户是否有访问所请求数据的权限,如果有,就使用共享SQL区来处理SQL语句,如果共享SQL区不存在,服务进程要为用户提交的SQL语句创建新的SQL共享区,用来解析,处理此语句.
5-服务进程从数据文件或SGA中获得所需的数据.
6-服务进程修改SGA中的数据,由于事务已提交,LGWR立即在重做日志文件中记录此事务,而DBWn则在适当的时机将修改过的数据块写入磁盘.
7- 如果事务成功,服务进程通过网络通知应用程序,不成功则提交错误信息.
8-在整个过程中,还有一些后台进程在运行,它们对整个过程进行监控.在需要时参与进来,此外数据库服务器还要管理其他用户的事务,防治请求相同数据的事务之间产生竞争.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25025926/viewspace-1070409/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25025926/viewspace-1070409/