Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103759880
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-12 13:28:13

   来源:赛迪网技术社区    作者:xl-rao

13.怎么样能固定我的执行计划

可以使用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

14.v$sysstat中的class分别代表什么

统计类别

1 代表事例活动

2 代表Redo buffer活动

4 代表锁

8 代表数据缓冲活动

16 代表OS活动

32 代表并行活动

64 代表表访问

128 代表调试信息

15.怎么杀掉特定的数据库会话

Alter system kill session 'sid,serial#';

或者

alter system disconnect session 'sid,serial#' immediate;

在win上,还可以采用oracle提供的orakill杀掉一个线程(其实就是一个Oracle进程)

在Linux/Unix上,可以直接利用kill杀掉数据库进程对应的OS进程

阅读(142) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~