索引监控
索引监控 在某个OLTP系统中某张表上建立了10个索引,由于不确定索引是否有在各程序中被使用,不能随意删除,因此,需要监控已有的索引是否在使用, 官方文档描述: Monitoring Index Usage Oracle Database provides a means of monitoring indexes to deter
索引监控
在某个OLTP系统中某张表上建立了10个索引,由于不确定索引是否有在各程序中被使用,不能随意删除,因此,需要监控已有的索引是否在使用,
官方文档描述:
Monitoring Index Usage
Oracle Database provides a means of monitoring indexes to determine whether they are being used. If an index is not being used, then it can be dropped, eliminating unnecessary statement overhead.
To start monitoring the usage of an index, issue this statement:
ALTER INDEX index MONITORING USAGE; //开启索引监控
Later, issue the following statement to stop the monitoring:
ALTER INDEX index NOMONITORING USAGE; //关闭索引监控
The view V$OBJECT_USAGE can be queried for the index being monitored to see if the index has been used. The view contains a USED column whose value is YES or NO, depending upon if the index has been used within the time period being monitored. The view also contains the start and stop times of the monitoring period, and a MONITORING column (YES/NO) to indicate if usage monitoring is currently active.
Each time that you specify MONITORING USAGE, the V$OBJECT_USAGE view is reset for the specified index. The previous usage information is cleared or reset, and a new start time is recorded. When you specify NOMONITORING USAGE, no further monitoring is performed, and the end time is recorded for the monitoring period. Until the next ALTER INDEX...MONITORING USAGE statement is issued, the view information is left unchanged.
开启索引监控后,可以从v$object_usage中查询到数据(即使索引还没有被使用),START_MONITORING 字段会写入开始监控的时间;当某条SQL使用了相关的索引以后,其“USED”字段就会更新为’YES‘。监控索引结束后最好关闭监控,以提高效率。
注意:v$object_usage 要去每个USERS 中查询,即使用SYS权限开启的其他USER索引的监控,也无法从SYS用户的V$OBJECT_USAGE 中插到相关的记录。 下面有验证
实验: 测试一个索引
[oracle@tyger ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Mar 28 16:19:01 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SYS@ORCL>create user tyger identified by tyger; // 创建测试用户 tyger
User created.
SYS@ORCL>grant connect,resource to tyger; // 赋予tyger connect,resource 权限
Grant succeeded.
SYS@ORCL>grant select on dba_objects to tyger; // 授予 dba_objects 查询权限给 tyger
Grant succeeded.
SYS@ORCL>conn tyger/tyger
Connected.
TYGER@ORCL>create table test_monitor as select * from dba_objects; // 创建测试表
Table created.
TYGER@ORCL>select * from user_indexes; // 查看当前用户下的索引
no rows selected
TYGER@ORCL>create index test_monitor_idx on test_monitor(object_id); // 基于 object_id 字段创建索引
Index created.
TYGER@ORCL>col INDEX_NAME for a20
TYGER@ORCL>col TABLE_NAME for a20
TYGER@ORCL>col TABLE_OWNER for a20
TYGER@ORCL>l
1 select index_name,table_name,table_owner
2* from user_indexes
TYGER@ORCL>/ // 查看当前用户下的索引
INDEX_NAME TABLE_NAME TABLE_OWNER
-------------------- -------------------- --------------------
TEST_MONITOR_IDX TEST_MONITOR TYGER
TYGER@ORCL>
TYGER@ORCL>alter index TEST_MONITOR_IDX monitoring usage; // 开启索引监控
Index altered.
TYGER@ORCL>select * from v$object_usage; // 查看视图 object_usage 索引监控和使用情况
INDEX_NAME TABLE_NAME MON USE START_MONITORING
-------------------- -------------------- --- --- -------------------
END_MONITORING
-------------------
TEST_MONITOR_IDX TEST_MONITOR YES NO 03/28/2014 16:22:46 // MONITORING 为 'YES' 代表已经监控
// USAGE 为 ’NO‘ 代表索引未被使用
TYGER@ORCL>conn / as sysdba
Connected.
SYS@ORCL>
SYS@ORCL>select * from v$object_usage; // 无法从SYS用户的V$OBJECT_USAGE 中插到相关的记录
no rows selected
TYGER@ORCL>set autotrace on // 开启自动跟踪
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled // 出现这个错误,暂时可以略过,不影响接下来的实验
SP2-0611: Error enabling STATISTICS report
TYGER@ORCL>select * from TEST_MONITOR where object_id=111;
OWNER
------------------------------
OBJECT_NAME
--------------------------------------------------------------------------------
SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE
------------------------------ ---------- -------------- -------------------
CREATED LAST_DDL_ TIMESTAMP STATUS T G S
--------- --------- ------------------- ------- - - -
SYS
I_ARGUMENT1
111 111 INDEX
30-JUN-05 30-JUN-05 2005-06-30:19:10:18 VALID N N N
Execution Plan
----------------------------------------------------------
Plan hash value: 2240611133
--------------------------------------------------------------------------------
----------------
| Id | Operation | Name | Rows | Bytes | Cost (%
CPU)| Time |
--------------------------------------------------------------------------------
----------------
| 0 | SELECT STATEMENT | | 1 | 177 | 2
(0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| TEST_MONITOR | 1 | 177 | 2
(0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | TEST_MONITOR_IDX | 1 | | 1 // 上面执行的语句 走的是索引 TEST_MONITOR_IDX
(0)| 00:00:01 |
--------------------------------------------------------------------------------
----------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("OBJECT_ID"=111)
Note
-----
- dynamic sampling used for this statement
TYGER@ORCL>select * from v$object_usage;
INDEX_NAME TABLE_NAME MON USE START_MONITORING
-------------------- -------------------- --- --- -------------------
END_MONITORING
-------------------
TEST_MONITOR_IDX TEST_MONITOR YES YES 03/28/2014 16:22:46 // MONITORING 为 'YES' 代表已经监控
// USAGE 为 ’YES‘ 代表索引已经被使用
Execution Plan
----------------------------------------------------------
ERROR:
ORA-01039: insufficient privileges on underlying objects of the view
SP2-0612: Error generating AUTOTRACE EXPLAIN report
TYGER@ORCL>set autotrace off;
TYGER@ORCL>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

通用矩阵乘法(GeneralMatrixMultiplication,GEMM)是许多应用程序和算法中至关重要的一部分,也是评估计算机硬件性能的重要指标之一。通过深入研究和优化GEMM的实现,可以帮助我们更好地理解高性能计算以及软硬件系统之间的关系。在计算机科学中,对GEMM进行有效的优化可以提高计算速度并节省资源,这对于提高计算机系统的整体性能至关重要。深入了解GEMM的工作原理和优化方法,有助于我们更好地利用现代计算硬件的潜力,并为各种复杂计算任务提供更高效的解决方案。通过对GEMM性能的优

7月29日,在AITO问界第四十万台新车下线仪式上,华为常务董事、终端BG董事长、智能汽车解决方案BU董事长余承东出席发表演讲并宣布,问界系列车型将于今年8月迎来华为干昆ADS3.0版本的上市,并计划在8月至9月间陆续推送升级。 8月6日即将发布的享界S9将首发华为ADS3.0智能驾驶系统。华为干昆ADS3.0版本在激光雷达的辅助下,将大幅提升智驾能力,具备融合端到端的能力,并采用GOD(通用障碍物识别)/PDP(预测决策规控)全新端到端架构,提供车位到车位智驾领航NCA功能,并升级CAS3.0全

苹果16系统中版本最好的是iOS16.1.4,iOS16系统的最佳版本可能因人而异添加和日常使用体验的提升也受到了很多用户的好评。苹果16系统哪个版本最好答:iOS16.1.4iOS16系统的最佳版本可能因人而异。根据公开的消息,2022年推出的iOS16被认为是一个非常稳定且性能优越的版本,用户对其整体体验也相当满意。此外,iOS16中新功能的添加和日常使用体验的提升也受到了很多用户的好评。特别是在更新后的电池续航能力、信号表现和发热控制方面,用户的反馈都比较积极。然而,考虑到iPhone14

4月11日,华为官方首次宣布HarmonyOS4.2百机升级计划,此次共有180余款设备参与升级,品类覆盖手机、平板、手表、耳机、智慧屏等设备。过去一个月,随着HarmonyOS4.2百机升级计划的稳步推进,包括华为Pocket2、华为MateX5系列、nova12系列、华为Pura系列等多款热门机型也已纷纷展开升级适配,这意味着会有更多华为机型用户享受到HarmonyOS带来的常用常新体验。从用户反馈来看,华为Mate60系列机型在升级HarmonyOS4.2之后,体验全方位跃升。尤其是华为M

Linux和Windows是两种常见的操作系统,分别代表了开源的Linux系统和商业的Windows系统。在这两种操作系统中,都存在着命令行界面,用于用户与操作系统进行交互。在Linux系统中,用户使用的是Shell命令行,而在Windows系统中,用户使用的是cmd命令行。Linux系统中的Shell命令行是一个非常强大的工具,可以完成几乎所有的系统管理任

Oracle数据库中修改系统日期方法详解在Oracle数据库中,修改系统日期的方法主要涉及到修改NLS_DATE_FORMAT参数和使用SYSDATE函数。本文将详细介绍这两种方法及其具体的代码示例,帮助读者更好地理解和掌握在Oracle数据库中修改系统日期的操作。一、修改NLS_DATE_FORMAT参数方法NLS_DATE_FORMAT是Oracle数据

系统字体在哪个文件夹在现代的计算机系统中,字体起着至关重要的作用,它影响着我们的阅读体验和文字表达的美观程度。而对于一些热衷于个性化设置和自定义的用户来说,了解系统字体的存储位置就显得尤为重要。那么,系统字体究竟保存在哪个文件夹呢?本文将为大家一一揭晓。在Windows操作系统中,系统字体存放在一个名为“Fonts”的文件夹里。这个文件夹默认位于C盘的Win

在Laravel监控错误方面,是提升应用稳定性的重要一环。在开发过程中,难免会遇到各种错误,而如何及时发现并解决这些错误,是保障应用正常运行的关键之一。Laravel提供了丰富的工具和功能来帮助开发者监控和处理错误,本文将介绍其中一些重要的方法,并附上具体的代码示例。一、使用日志记录日志记录是监控错误的重要手段之一。Laravel内置了强大的日志系统,开发者
