一、我们先通过一个例子具体说明“ALTER INDEX MONITORING USAGE”的使用方法:
1、建测试表
create table test(id number(3),name varchar2(10));
insert into test values(1,'aaaaaaaa');
insert into test values(2,'www.ncn.cn');
insert into test values(3,'aadfaaaa');
insert into test values(4,'gototop');
insert into test values(5,'shenzhen');
insert into test values(6,'china');
commit;
alter table test add (constraint test_pk primary key (id));
2、查询v$object_usage(因为没有监视,所以还看不到内容)
column index_name format a12
column monitoring format a10
column used format a4
column start_monitoring format a19
column end_monitoring format a19
select index_name,monitoring,used,start_monitoring,end_monitoring from v$object_usage;
SQL> l
1* select index_name,monitoring,used,start_monitoring,end_monitoring from v$object_usage
SQL> /
no rows selected
Elapsed: 00:00:00.00
3、开始监控索引的使用情况
SQL> alter index test_pk monitoring usage;
Index altered.
Elapsed: 00:00:00.05
4、查询v$object_usage(可以看到正监视中)
SQL> select index_name,monitoring,used,start_monitoring,end_monitoring from v$object_usage;
INDEX_NAME MONITORING USED START_MONITORING END_MONITORING
------------ ---------- ---- ------------------- -------------------
TEST_PK YES NO 05/15/2003 13:28:22
Elapsed: 00:00:00.00
5、使用索引进行查询
SQL> set autotrace on explain
SQL> select * from test where id = 2;
ID NAME
---------- ----------
2 www.ncn.cn
Elapsed: 00:00:00.00
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST'
2 1 INDEX (UNIQUE SCAN) OF 'TEST_PK' (UNIQUE)
SQL> set autotrace off
SQL> /
ID NAME
---------- ----------
2 www.ncn.cn
Elapsed: 00:00:00.00
SQL>
从上我们可以看到确实使用了索引。
6、查询v$object_usage(可以看到索引被使用过,但目前还处于被监视过程中)
SQL> select index_name,monitoring,used,start_monitoring,end_monitoring from v$object_usage;
INDEX_NAME MONITORING USED START_MONITORING END_MONITORING
------------ ---------- ---- ------------------- -------------------
TEST_PK YES YES 05/15/2003 13:28:22
Elapsed: 00:00:00.00
7、停止监视,并查询v$object_usage
SQL> alter index test_pk nomonitoring usage;
Index altered.
Elapsed: 00:00:05.03
SQL> select index_name,monitoring,used,start_monitoring,end_monitoring from v$object_usage;
INDEX_NAME MONITORING USED START_MONITORING END_MONITORING
------------ ---------- ---- ------------------- -------------------
TEST_PK NO YES 05/15/2003 13:28:22 05/15/2003 13:40:00
Elapsed: 00:00:00.64
到此为止,监视结束,MONITORING为NO,END_MONITORING给出了时间戳。
分享到:
相关推荐
Oracle数据库跟踪工具是一种高效且实用的软件,专用于监控那些基于Oracle数据库运行的应用程序。它可以帮助开发者、DBA(数据库管理员)以及系统管理员深入了解应用程序如何与数据库交互,从而优化SQL查询性能,排查...
SQL Oracle跟踪器是一种强大的工具,专门用于监测和分析Oracle数据库中的SQL语句执行情况。它在数据库性能优化、问题诊断和资源管理等方面扮演着至关重要的角色。SQL Monitor 2.4.3.6是该工具的一个版本,它提供了一...
"Statement Tracer for Oracle"是一个专门针对Oracle数据库的代码跟踪工具,它帮助开发者和DBA深入分析SQL语句的执行情况,从而提高数据库性能和解决问题。 Statement Tracer for Oracle的主要功能包括: 1. **...
"OraTracer"是一款专为Oracle数据库设计的跟踪工具,它帮助用户深入理解数据库的运行机制,找出性能瓶颈,并提供解决方案。下面我们将详细探讨OraTracer的功能、使用方法以及它在数据库管理中的重要性。 OraTracer...
Oracle数据库SQL语句跟踪器,通常被称为SQL Monitor,是一种强大的工具,用于监控和分析数据库中的SQL语句执行情况。在Oracle环境中,理解SQL语句的行为是优化数据库性能的关键。SQL Monitor提供实时视图,帮助DBA...
Oracle 跟踪事件 Oracle 跟踪事件是 Oracle 数据库中的一种诊断工具,用于跟踪和分析数据库的内部结构和运行情况。该事件可以将 Oracle 各类内部结构中所包含的信息转储(dump)到跟踪文件中,以便用户能根据文件内容...
Oracle事件跟踪器,也被称为SQL Trace或10046事件,是Oracle数据库提供的一种强大的诊断工具,用于收集关于数据库操作的详细信息。这个功能对于性能优化、问题排查以及理解数据库内部工作流程至关重要。在Oracle环境...
在Oracle中,事件探查器通过启用特定的跟踪事件来工作,这些事件包括但不限于10046(用于跟踪执行计划和调用堆栈)、10053(用于跟踪优化器决策过程)和10040(用于跟踪服务器进程)。通过设置这些事件,我们可以...
在日常的数据库管理和性能优化过程中,跟踪Oracle程序执行过程是非常关键的步骤,它可以帮助我们定位问题、理解查询执行的细节以及优化SQL语句。"Oracle程序跟踪软件"即为实现这一目标的工具,例如"Statement_Tracer...
SQLTracker是一款专为Oracle数据库设计的高性能监控工具,尤其针对64位操作系统,如win7和win10,提供强大的跟踪和分析功能。在数据库管理领域,了解并掌握SQLTracker对于提升数据库性能优化和问题排查至关重要。 ...
Oracle操作跟踪软件是一种专门用于监控和分析Oracle数据库系统运行情况的工具。在数据库管理中,跟踪是诊断和优化性能的关键步骤。"Statement Tracer for Oracle"可能是这样一款工具,它可能提供详细的SQL语句执行...
总的来说,监控Oracle索引的使用是数据库性能调优的重要一环。从Oracle 8i到9i的改进,表明Oracle数据库系统不断优化其管理和分析工具,以帮助管理员更好地理解和优化数据库的运行。理解并掌握这些监控方法,将有助...
Oracle 9i引入了一个名为“监控使用”(MONITORING USAGE)的功能,使得DBA能够跟踪索引的使用情况。 要启用索引使用监控,可以使用以下SQL命令: ```sql ALTER INDEX index_name MONITORING USAGE; ``` 相反,若要...
通过这些新特性,DBA可以有效地跟踪和评估索引的效率,及时识别未使用的索引,进而进行清理或优化,以提高数据库的整体性能。定期检查并维护索引使用情况,对于避免不必要的资源浪费和提升系统响应速度具有重要意义...
SQLTracker是一款专为Oracle数据库设计的跟踪工具,它以绿色版的形式提供,无需安装,解压后即可直接运行,极大地便利了用户的使用。尤其适用于那些希望快速、便捷地对Oracle数据库中的SQL语句进行监控和分析的IT...
SQLTracker是一款专为监视在Oracle数据库上运行的应用程序而设计的高效工具,尤其适用于64位Windows操作系统,如Win7和Win10。这款工具旨在帮助数据库管理员(DBA)和开发人员深入理解SQL查询的执行性能,从而优化...
Oracle跟踪工具是数据库管理员和开发人员在排查性能问题、诊断错误以及优化SQL语句时的重要辅助工具。在Oracle数据库环境中,这些工具可以帮助我们收集关于数据库操作的详细信息,包括SQL语句、执行计划、资源使用...
3. 空间管理:跟踪索引占用的空间,避免过度增长导致空间不足。 4. 索引冗余:避免创建不必要的索引,过多的索引会增加维护成本且可能影响写操作性能。 总的来说,理解和有效维护Oracle中的B-tree索引是确保数据库...
本篇文章将探讨如何通过自定义脚本来监控Oracle索引的使用率,并以此评估索引的有效性,以决定是否需要移除或优化。 首先,Oracle数据库提供了内置的统计信息收集功能,如DBMS_STATS包,用于跟踪索引的使用。然而,...