- 最后登录
- 2012-5-31
- 在线时间
- 5 小时
- 威望
- 6
- 金钱
- 28
- 注册时间
- 2011-11-3
- 阅读权限
- 10
- 帖子
- 6
- 精华
- 0
- 积分
- 6
- UID
- 87
|
1#
发表于 2012-4-22 12:13:11
|
查看: 3913 |
回复: 1
Misses in library cache during parse和Misses in library cache during execute,trace文件中的,怎么在执行阶段oracle也要解析呢?没有查到详细介绍的,有没有人知道的?
The compilation of a SQL statement consists of two phases: the parse phase and the execute phase. When the time comes to parse a SQL statement, Oracle first checks to see if the parsed representation of the statement already exists in the library cache. If not, Oracle will allocate a shared SQL area within the library cache and then parse the SQL statement.
At execution time, Oracle checks to see if a parsed representation of the SQL statement already exists in the library cache. If not, Oracle will reparse and execute the statement. -- the error will come out from this step. could be various reaconsequentlyns why it was flushed out of lc.
看到这段解释,有两点不明白
第1,已经解析完的sql为什么要在执行阶段进行解析。
第2,Oracle没有理由将已经解析没多久的sql,从缓冲区移除啊 |
|