[Q]怎么样能固定我的执行计划 [A]可以使用OUTLINE来固定SQL语句的执行计划 用如下语句可以创建一个OUTLINE Create oe replace outline OutLn_Name on Select Col1,Col2 from Table where …… 如果要删除Outline,可以采用 Drop Outline OutLn_Name; 对于已经创建了的OutLine,存放在OUTLN用户的OL$HINTS表下面 对于有些语句,你可以使用update outln.ol$hints来更新outline 如update outln.ol$hints(ol_name,'TEST1','TEST2','TEST2','TEST1) where ol_name in ('TEST1','TEST2'); 这样,你就把Test1 OUTLINE与Test2 OUTLINE互换了 如果想利用已经存在的OUTLINE,需要设置以下参数 Alter system/session set Query_rewrite_enabled = true Alter system/session set use_stored_outlines = true
[Q]怎么杀掉特定的数据库会话 [A] Alter system kill session 'sid,serial#'; 或者 alter system disconnect session 'sid,serial#' immediate; 在win上,还可以采用oracle提供的orakill杀掉一个线程(其实就是一个Oracle进程) 在Linux/Unix上,可以直接利用kill杀掉数据库进程对应的OS进程