首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux数据库>oracle>正文

Oracle9i中如何监视索引并清除监视信息

http://www.oklinux.cn  2007-12-05  赛迪网 31619  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

一般情况下,相对于DML操作,索引对于数据库是一个性能的负担。假如索引没有被合理有效的使用,那么它的存在性就必须重新考虑。

1. Oracle9i开始,Oracle答应监视索引的使用:

SQL> connect scott/tiger@conner
Connected to Oracle9i Enterprise Edition Release 9.2.0.4.0 
Connected as scott

SQL> select index_name from user_indexes;

INDEX_NAME
------------------------------
PK_DEPT
PK_EMP

开始监视pk_dept索引:

SQL> alter index pk_dept monitoring usage;

Index altered

在此过程中,假如查询使用索引,将会记录下来:

SQL> select * from dept where deptno=10;

DEPTNO DNAME          LOC
------ -------------- -------------
    10 ACCOUNTING     NEW YORK

停止监视:

SQL> alter index pk_dept nomonitoring usage;

Index altered

查询索引使用情况,YES表示在监视过程中索引被使用到:

SQL> select * from v$object_usage;

INDEX_NAME        TABLE_NAME         MONITORING USED START_MONITORING    END_MONITORING
----------------- ------------------ ---------- ---- ------------------- -------------------
PK_DEPT           DEPT               NO         YES  10/28/2004 10:55:19 10/28/2004 10:55:47

SQL>

2.Oracle9i的"Bug"

9205之前,假如你不慎监控了SYS.I_OBJAUTH1索引,而且不幸在重起数据库之前没有停止它,那么你的数据库将会无法启动,并且不会给出任何的错误信息。

下面的这条语句可以很轻易的再现这个问题:

'ALTER INDEX SYS.I_OBJAUTH1 MONITORING USAGE'

假如有了足够好的备份,我们可以尝试一下:

注重:(请不要拿你现在的生产数据库来进行测试)。

[oracle@jumper oradata]$ sqlplus "/ as sysdba
"SQL*Plus: Release 9.2.0.4.0 - Production on Sat Dec 4 10:09:30 2004

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production

SQL> alter index SYS.I_OBJAUTH1 monitoring usage ;

Index altered.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 80811208 bytes
Fixed Size 451784 bytes
Variable Size 37748736 bytes
Database Buffers 41943040 bytes
Redo Buffers 667648 bytes
Database mounted.
共3页: 上一页 1 [2] [3] 下一页

上一篇:解决Oracle非法数据库对象引起的错误   下一篇:在Oracle中使用自治事务保存日志表条目

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·在Oracle中使用自治事务保存日志表条目
·解决Oracle非法数据库对象引起的错误
·巧用Flashback database功能恢复用户错误
·如何创建访问非"Oracle文件"的外部表格
·Oracle中pfile和spfile之间的联系与区别
·如何使用RMAN和dbv检查数据文件中的坏块
·Oracle数据库中的Instance和数据库的区别
·教你如何在数据字典中修改Oracle的表列名
·了解Oracle11g的新增特性—INTERVAL分区
·实用技巧:取得指定的记录与使用外关联查询
·设置CURSOR_SHARING为SIMILAR后产生的bug
·三个步骤手工扩大Oracle数据库的表空间
·在 Oracle Enterprise Linux 上升级到 Oracle RAC 11g
·巧用sqlldr的WHEN判断加载数据到不同的表
·快速解决 Oracle数据库中 汉字长度的问题
·掌握Oracle数据库密码文件的使用和维护
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·关于Oracle将目标数据库设为归档模式应
·Linux下OCI基础:配置Instant Client连
·Oracle中被锁定的解决办法
·Oracle 11G 无法连接到数据库实例故障
·浅谈创建Oracle数据库连接的两种方法
·如何从Oracle技术支持获得更多
·Oracle数据库中安全知识介绍
·Oracle推出Linux服务并不成功
·Oracle专用服务器的内存结构分布原则
·如何在RAC环境下修改Oracle字符集
·Oracle过程中执行动态SQL或DDL语句
·2008年Oracle错误、备份、升级等最热门
  阅读排行
·详解远程SHELL下安装配置RedHat ES 5的
·Ubuntu上安装Oracle 10G及相关配置
·Oracle高级复制(同步复制)配置步骤详细
·如何修改遗失的MySQL的ROOT用户密码
·Redhat Linux AS4 安装Oracle 10g(包括
·Linux下OCI基础:配置Instant Client连
·解决启动数据库时发生的ORA-12528错误
·在 Oracle Enterprise Linux 上升级到
·Oracle 10g表空间创建的完整步骤
·centos 5.0中成功安装Oracle10g (1020
·如何在RAC环境下修改Oracle字符集
·Oracle数据库导入导出方法的个人总结
·巧用Oracle执行计划机制提高查询性能
·Oracle 10g 在AIX 5.3上安装过程笔记
·Linux真机环境Oracle 10gR2 RAC 安装完
网摘收藏: