1. 在数据库服务器上启动实例
2. 运行应用程序的计算机在用户进程中运行程序,用 Oracle 网络服务
驱动器与服务器建立连接 3. 服务器运行正确的 Oracle 网络服务驱动器,建立专用服务器进程执 行用户进程 4. 用户运行 sql 语句并提交事务 5. 服务器进程获得语句并检查共享池中是否有相近的 sql 语句,如果 找到共享 sql 区域,服务器进程检查用户的访问权限;否则分配新 的共享 sql 区域以使语句可以分析和执行 6. 服务器进程从实际的数据文件或 SGA 中取得需要的数据 服务器进程在 SGA 中更新数据,DBWn 进程在一定条件下写更改的块 到磁盘中。因为事务已提交,LGWR 进程马上在重做日志文件中记录 事务。 7. 如果事务成功,服务器进程发送消息到应用程序。 8. 在整个过程中,其他的后台进程在需要干涉的情况下运行。问了一下朋友DBWN和DBWR是一个东西。
刚网上了找了一些资料,提到DBWn
Database Writer(DBWn)
DBWn在以下情况将数据写入磁盘(数据文件data file):
1)发生检查点
2)达到脏缓冲区阈值
3)没有可用的缓冲区
4)超时
5)将表空间设置为脱机或只读
6)删除或截断表
7)备份表空间Database Writer(DBWn)
DBWn (Database Block Writer)
DBWn是一个负责将dirty blocks写到磁盘的后台进程,通常将dirty blocks写到磁盘是为了腾空更多的空闲空间(为了其它数据的读 而释放缓冲区), 或者advance 一个检查点事件(也就是在发生故障实例恢复时, 将联机重做日志中Oracle开始读取的位置 前移以节省实例恢复的时间)Log Switch 会触发一个Checkpoint,Oracle 需要advance这个Checkpoint以至于在实例恢复时不需要这个刚被填满的online redo log,假如在重用这个日志之前,不能完成这个advance Checkpoint的操作,则我们在alert将发现"Checkpoint not Compelete"信息,并且必须等待这个事件的完成。
看来还得多多学习
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/19003003/viewspace-578351/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/19003003/viewspace-578351/