oracle中的DML语句从执行计划到最后的脏块写入到磁盘,这个流程具体步骤是什么样子的? 最近在学习oracleDBA 看了看书也没有个具体的了解,语句执行的过程在内存中是什么样的呢?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先是SQL语句的执行过程 1、语法检查(syntax check): 检查此sql的拼写是否语法。2、语义检查(semantic check): 诸如检查sql语句中的访问对象是否存在及该用户是否具备相应的权限。3、对sql语句进行解析(prase): 利用内部算法对sql进行解析,生成解析树(parse tree)及执行计划(execution plan)。4、执行sql,返回结果(execute and return)然后是对于如果写入磁盘 Buffer Cache是SGA的一个组件,用来缓存用户最近在数据库中访问过的段数据块的副本。这些副本和它们在磁盘上的对应块是同步的! 如果不同步,就是所谓的脏缓冲区! 从Cache往磁盘上写,我们称之为写盘。管理脏缓冲区的机制叫做Dirty List(脏列表)或Write List(写列表)。这个列表里面跟踪已经insert,update,delete但是还没有写盘的语句。最终的写盘工作由ORACLE后台进程Database Writer(DBW0)完成。关于DBWR进程的触发机制,可以百度或者GOOGLE进行详细了解 最好是能把进入哪个pool和最后出发DBWR写的过程。。 SQL Statement Processing我也坐等大神解释整个完整过程、 oracle 10g 导出遇到的问题 快照刷新不了,敬请帮忙 如何在一个表的某字段前面添加字段或者在某字段后添加一个字段? 利用触发器技术实现双机备份 求教一个筛选考核结果的问题。 请介绍下好的ORACLE的学习资料和网站 高分相送,谢谢 如何整理数据碎片 插入数据时报错?? oracle默认用户那个有什么都能干的权限? 怎么取消用户的创建视图的权限 修改最近的一条记录 oracle中修改数据文件大小时发生SQL未正确结束
1、语法检查(syntax check): 检查此sql的拼写是否语法。2、语义检查(semantic check): 诸如检查sql语句中的访问对象是否存在及该用户是否具备相应的权限。3、对sql语句进行解析(prase): 利用内部算法对sql进行解析,生成解析树(parse tree)及执行计划(execution plan)。4、执行sql,返回结果(execute and return)
然后是对于如果写入磁盘
Buffer Cache是SGA的一个组件,用来缓存用户最近在数据库中访问过的段数据块的副本。这些副本和它们在磁盘上的对应块是同步的! 如果不同步,就是所谓的脏缓冲区! 从Cache往磁盘上写,我们称之为写盘。管理脏缓冲区的机制叫做Dirty List(脏列表)或Write List(写列表)。这个列表里面跟踪已经insert,update,delete但是还没有写盘的语句。最终的写盘工作由ORACLE后台进程Database Writer(DBW0)完成。关于DBWR进程的触发机制,可以百度或者GOOGLE进行详细了解
SQL Statement Processing
我也坐等大神解释整个完整过程、