sql的处理过程描述如下:
1.检查是否有打开的光标。如果有,直接通过光标链接到位于pga中的私有sql区(privatesqlarea),转到步骤11。否则,执行步骤2。
2.检查是否设置了初始化参数session_cached_cursors。如果设置了,还可以通过光标指向位于pga中的私有sql区域,转到步骤11。否则,转到步骤3。
3.检查保持光标和释放光标的设置。如果release_cursorno(缺省no)和hold_cursoryes(缺省no),当oracle执行完sql语句后,为私有sql区分配的内存空间被保留,游标和私有sql区之间的链接也被保留,预编译器将不再使用它。同样,可以通过这个指针直接在privatesql区域获取语句,并转到步骤11。
以上三种情况,实际上没有parse,语句直接从位于pga的私有sql区域获取,直接执行。这是快速解析。
当这三个条件都不存在时,oracle执行第4步。
4.创建一个光标。
5.语法检查:检查语法书写是否正确,是否符合sql参考手册中给出的sql语法。
6.语义分析:查找数据字典,检查表和列是否正确,获取所需对象的解析锁,使这些对象的定义在句子解析过程中不会改变,验证是否满足访问所涉及的schema对象所需的权限。
7.将语句转换成ascii等价的数字代码,然后通过哈希算法得到哈希值。
8.检查库缓存中是否存在具有相同哈希值的语句。如果是,请转到步骤11。否则,转到步骤9。这是软解析。
9.选择执行计划。从可用的执行计划中选择一个最佳执行计划,包括与存储的大纲或实体化视图相关的决策。
10.生成语句的编译代码(p代码)。
11.执行语句。
当一个会话执行一个语句时,该语句的解析结果将被保存在库缓存中,并且在pga的私有sql区域。铜rsor总是通过一个链接直接链接到私有sql区域。如果在private中没有找到这个副本,您需要解析sql,然后匹配库缓存中的哈希值。所以一般来说,您可以使用cursor而不进行任何解析,因为您直接从当前的私有sql区域获得了与语句相关的信息,包括执行计划。一旦需要在库缓存中进行匹配,就必须进行解析。
softppars
在virtualbox虚拟机软件上安装win7虚拟系统,需要先下载virtualbox进行安装;下载win7iso镜像。软件工具:oraclevmvirtualbox5.0.20,win7系统镜像。
1.在计算机上下载oraclevmvirtualbox5.0.20虚拟机安装。然后下载一个win7的系统镜像,保存到电脑上。打开vmbox并单击菜单上的新建。
2.在名称中输入系统的名称,可以自定义和修改。在类型中,选择系统类型,然后选择windows。在版本中选择系统的版本,与下载使用的win7镜像一致。这里用的是64位,所以选择win764。最后,单击下一步。
3.设置内存大小。拉动模块1调整尺寸。内存不能超过实际物理内存。建议使用少于一半的物理内存。内存大小应该与4对齐,这意味着大小应该是4的倍数。然后单击下一步。
4.选择"创建虚拟硬盘现在点击"创造"。
5.选择vmdk格式,然后单击下一步。
6.选择一个固定大小,然后单击下一步。
7.单击标记1选择该win7虚拟系统的存储位置。在标签2中输入该系统的硬盘大小。建议25g以上。然后单击创建。
8.然后开始创建这个虚拟win7使用的硬件大小。看完进度条需要一点时间。
9.完成进度条后,返回vbox窗口,然后单击开始。准备开始安装win7。
10.点击选择启动盘中的文件夹符号,需要选择iso系统镜像。
11.在计算机上选择下载的win7系统映像,然后单击打开。
12.选择后,点击"开始"。
13,然后开始在虚拟机上安装系统。这和平时的电脑安装系统是一样的。按默认设置,然后单击下一步。然后单击开始安装。
14.单击接受许可条款,然后单击下一步。。接下来,选择自定义安装,然后开始复制系统文件进行安装。期间会多次重启,不需要操作。在你出来设置windwos之前,输入你的用户名,点击next。
15.输入密钥(如果有),然后单击下一步。如果没有,请单击跳过。进入或使用其他工具激活后。
16、下一步是下一步,根据提示选择一些升级、网络,然后最后进入桌面。