oracle索引的监控
最近的研究发现 Oracle 数据库所使用的索引从来没有达到过可用索引数的1/4,
或者其用法与其开始设计的意图不相同。未用的索引浪费空间,而且还会降低 DML
的速度,尤其是 UPDATE 和 INSERT 语句;控数据库索引的使用,释放那些未被使用
的索引,从而节省维护索引的开销,优化sql性能
在 Oracle9i 之前,监控索引使用的唯一方法是执行他们的程序库缓中的所有SQL,
然后手工记下所有被使用的索引。
oracle9i中如何确定索引的使用情况
在oracle9i中,情况会简单的多,因为有一个新的字典视图V$SQL_PLAN存储了实际计划,
这些计划用于执行共享SQL区中得语句。V$SQL_PLAN视图很类似与计划表,但V$SQL_PLAN
使用ADDRESS和HASH_VALUE列 来识别语句, 而计划表使用用户提供得STATEMENT_ID来识
别语句。下面的SQL显示了在一个oracle9i数据库中,由出现在共享SQL区中语句使用的所
有索引
select object_owner, object_name, options, count(*)
from v$sql_plan
where operation='INDEX'
and object_owner!='SYS'
group by object_owner, object_name, operation, options
order by count(*) desc;
所有基于共享SQL区中的信息来识别索引使用情况的方法, 都可能会收集到不完整的信息。共享SQL区是
一个动态结构,除非能对它进行足够频繁的采样, 否则在有关索引使用的情况的信息被收集之前,SQL语
句可能就已经(因为老化)被移出缓存了。
Oracle9i提供一个简单的方法来打开和关闭索引使用跟踪,那就是MONITORING USAGE 子句:
alter index cust_name_idx monitoring usage;
alter index cust_name_idx nomonitoring usage;
这个命令使用V$OBJECT_USAGE 视图和 USAGE 字段来判断索引是否被访问过。你可能期望 USAGE 字段是一个数字值,
这样你就可以知道索引被使用的次数,但不幸的是,它的取值只为YES 或NO。但不管怎样,如果你接手一个以前开发
的数据库,而且老数据库在没有考虑到 SQL 访问表的情况下创建了索引,那么这个工具对你是很有用的。INDEX MONITORING
特性的开销非常小,而对定位和丢弃不需要的索引很有帮助
打开整个方案的索引监控的简单 SQL*Plus 脚本
set pages 999
set heading off
spool run_mon.sql
select
'alter index '||
index_name||
' monitoring usage;'
from
dba_indexes
where
owner = 'HPO5';
spool off
sql> @run_mon
oracle索引监控周期的选择,一般要覆盖对数据库所有的操作,避免漏掉
------end-----
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wyzxg/archive/2009/08/21/4471038.aspx
oracle索引的监控相关推荐
- oracle 索引_分享三个Oracle数据库索引监控脚本,值得收藏
概述 我们在维护业务系统时,可能会建立很多索引,那么这些索引的使用到底怎么样,是否有些索引一直都没有用到过,那么oracle 是如何监控索引的使用状况,是否可以清除它们? 监控索引 一般有两种方式: ...
- oracle 索引监控
oracle 索引监控 即使是一个初期设计非常优秀的数据库系统,在持续运行一段时间后,由于数据量的累加,数据库对象的变化,甚至是业务方面的改变,多可能会对数据库的性能带来影响.所以一个持续.健康的数据 ...
- 查看oracle索引状态,oracle监控索引的使用情况
1.使用monitor index来监控索引使用 监控单个索引使用情况:alter index monitoring usage; 关闭监控: alter index nomonitoring usa ...
- SQL Tuning 基础概述05 - Oracle 索引类型及介绍
一.B-Tree索引 三大特点:高度较低.存储列值.结构有序 1.1利用索引特性进行优化 外键上建立索引:不但可以提升查询效率,而且可以有效避免锁的竞争(外键所在表delete记录未提交,主键所在表会 ...
- [转载]oracle索引的简单总结
原文地址:oracle索引的简单总结作者:kindle 一.索引的概念: 数据库的索引类似于书籍的索引.在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息.在数据库中,索引也允许数据库程 ...
- 索引名 oracle,ORACLE 索引名称矫情
oracle 索引英文名称很多,翻译过来的话也很多中文名称,不过总得来说词不达意.也就是说讲中文的时候,对方无法理解你说的是啥意思,啥情况,啥原理. 比如前缀,非前缀.本地和全局,普通和分区.B树和位 ...
- Oracle索引失效问题
Oracle 索引不起作用的几种情况: 1,<> 2,单独的>,<,(有时会用到,有时不会) 3,like "%_" 百分号在前.(可采用在建立索引时用re ...
- ORACLE常用性能监控SQL【一】
目录(?)[+] 系列 ORACLE常用性能监控SQL[一] ORACLE常用性能监控SQL[二] Oracle-动态性能视图解读 系列 死锁后的解决办法 生成Kill Session语句 查看导致死 ...
- Oracle 索引扫描的五种类型
之前在讨论CBO和RBO的时候提到了索引扫描的几种类型. Oracle Optimizer CBO RBO http://blog.csdn.net/tianlesoftware/archive/20 ...
最新文章
- XP中预防U盘自动运行病毒的方法!
- (十)Centos之文件搜索命令find
- python教程是用什么博客写的-用Python和Pygame写游戏-从入门到精通(目录)
- jni releative
- 保持边缘平滑的图像(曲率)
- 操作篇 bgp协议了解与学习
- 零基础 Amazon Web Services (AWS) 入门教程图文版(二)
- python中pprint是干什么的_Python中的pprint折腾记
- Unity3D(二)游戏对象及组件
- java text类型转换_java语言实现Text格式转换成pdf文件
- h264 pps sps详解
- webUploader选择文件按钮无效
- TI C64X+通用库函数使用手册
- 常用数据库分页查询SQL汇总
- SharePoint CAML Query小结
- 基于机智云IoT开发平台的温室番茄远程监控系统
- QQ群怎么快速封群,如何举报骗子QQ群可以使之封群?
- python实现商品管理系统_商品管理系统(示例代码)
- vector访问失效的问题
- 编码——永不退色的计算机科学经典著作
热门文章
- 2015 UESTC Winter Training #6【Regionals 2010 North America - Rocky Mountain】
- (转)c++模版:包含模型、显式实例化、分离模型
- 如何设置mysql远程访问
- Redis的订阅发布功能对比RabbitMQ消息队列
- 转载:Android开发相关的Blog推荐——跟随大神的脚步才能成长为大神
- Hadoop单点安装(伪分布式)
- 坚果云 operationnotallowed webdav_妙用 NAS 服务,将你的知识库和音乐库搬上「云」...
- 松原哪家计算机学校好,松原高中学校排名2021最新排名,松原高中排名前十
- 计算机专业 职业素养论文,计算机专业本科毕业论文-20210707222739.docx-原创力文档...
- bootstrap和圣杯布局