oracle 清除相关对象的执行计划
2010-06-30 11:08
375 查看
什么时候 shared pool 里面的 shared sql area 被 清除flush ?
几种情况:
1. 相关表 ,cluster , index 等,跟对象相关的, 执行过analyze 语句后,oracle会清除原来的缓存。
2. 相关对象被修改过,那么这个sql area 就变成无效状态,下一次读的时候会重新解析reparse
3. 数据库global database name 被修改过
4.执行alter system flush shared_pool 的时候。
就是这几种情况下, 执行计划(还有其他的信息) 都会被刷新。
上面这几种情况参考 oracle concept 第8章。
根据上面的几种情况,我们可以选择ANALYZE相关对象,修改相关对象来清除相关对象的执行计划。
另外10G以后的数据库可以通过dbms_shared_pool.purge('address,hash','C',1)清除指定的游标对象,1是清除V$SQLAREA和V$SQL中的记录。
几种情况:
1. 相关表 ,cluster , index 等,跟对象相关的, 执行过analyze 语句后,oracle会清除原来的缓存。
2. 相关对象被修改过,那么这个sql area 就变成无效状态,下一次读的时候会重新解析reparse
3. 数据库global database name 被修改过
4.执行alter system flush shared_pool 的时候。
就是这几种情况下, 执行计划(还有其他的信息) 都会被刷新。
上面这几种情况参考 oracle concept 第8章。
根据上面的几种情况,我们可以选择ANALYZE相关对象,修改相关对象来清除相关对象的执行计划。
另外10G以后的数据库可以通过dbms_shared_pool.purge('address,hash','C',1)清除指定的游标对象,1是清除V$SQLAREA和V$SQL中的记录。
相关文章推荐
- 对oracle执行计划相关概念的理解
- Oracle的优化器是CBO,所以对象的统计数据对执行计划的生成至关重要
- [转]Oracle执行计划的相关概念
- oracle执行计划相关
- Oracle执行计划的相关概念
- [Oracle] Sql优化系列--执行计划的相关概念
- ORACLE获得执行计划的相关视图
- Oracle 11g如何清除share pool中某条SQL的执行计划
- Oracle执行计划相关(待补充)
- Oracle执行计划的相关概念
- oracle执行计划相关概念
- Oracle执行计划的相关概念
- Oracle执行计划的相关概念
- 查看Oracle执行计划的几种方法 / oracle中DateTime类型的字段,建立索引后,查寻时索引如何生效?/ oracle 中sql语句怎么加多个强制索引
- Oracle中的执行计划
- oracle执行计划
- oracle中查看sql语句的执行计划
- Oracle中获取执行计划的几种方法分析
- Oracle 执行计划(Explain Plan) 说明
- oracle间断性走错执行计划