- 最后登录
- 2014-10-13
- 在线时间
- 18 小时
- 威望
- 0
- 金钱
- 98
- 注册时间
- 2012-6-27
- 阅读权限
- 10
- 帖子
- 29
- 精华
- 0
- 积分
- 0
- UID
- 539
|
6#
发表于 2012-8-2 12:59:00
1.说一下sql parse的大致过程
答:检查语法语义(编译器)->检查执行权限对象(library cache)->到share pool查找是否有些sql
->有->执行软解析(按原来的执行计划执行)
->没有->执行硬解析->生成执行计划
-->执行-->访问的对象是否在buffer cache
--->有,进行逻辑读取
--->没有,进行物理读取
---->返回结果,完成;
2.没法修改SQL语句的情况下如何调优SQL
答:1.对索引进行调整
2.对表和索引进行统计信息
3.改变执行计划环境(first_rows(10),all_rows( ))
4.调整系统参数optimizer_index_caching和 optimizer_index_cost_adj
5.考虑是否将SQL中的对象设为keep放到内存
6.增大session_cache_cursor
7......
3.出现ORA-60问题在trace无价值的情况下如何找出死锁的原因
答:1.10g好像死锁会自动解锁的,所以发生情况应该是在10前吧
2.根据SQL_id在v$active_session_history中查找blocking_session
再查找SQL_id,查看sql_id的执行计划,对比分析sql
3......
--------只有一题基础题。。。。第3题感觉朦朦胧
望刘大指导......
[ 本帖最后由 KFC 于 2012-8-2 13:01 编辑 ] |
|