科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Oracle8i数据库中索引的维护

Oracle8i数据库中索引的维护

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文只讨论Oracle中最常见的索引,即是B-tree索引。本文中涉及的数据库版本是Oracle8i。   一. 查看系统表中的用户索引   在Oracle中,SYSTEM表是安装数据库时自动建立的,它包含数据库的全部数据字典。

作者:中国IT实验室 来源:中国IT实验室 2007年10月11日

关键字: ORACLE

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共4页)

  (3)确定索引表空间还有足够的剩余空间。

  确定要把索引重建到哪个索引表空间中。要保证相应的索引表空间有足够的剩余空间。

  select round(bytes/(1024*1024),2) free(M)
  from sm$ts_free
  where tablespace_name='表空间名'
  /

  (4)重建索引。

  重建索引时要注意以下几点:

  a.如果不指定tablespace名,索引将建在用户的默认表空间。

  b.如果不指定nologging,将会写日志,导致速度变慢。由于索引的重建没有恢复的必要,所以,可以不写日志。

  c.如果出现资源忙,表明有进程正在使用该索引,等待一会再提交。

  alter index 索引名
  rebuild
  tablespace 索引表空间名
  storage(initial 初始值 next 扩展值)
  nologging
  /

  (5)检查索引。

  对重建好的索引进行检查。

  select *
  from dba_extents
  where segment_name='索引名'
  /

  (6)根据索引进行查询,检查索引是否有效

  使用相应的where条件进行查询,确保使用该索引。看看使用索引后的效果如何。

  select *
  from dba_ind_columns
  where index_name like '表名%'
  /

  然后,根据相应的索引项进行查询。

  select *
  from '表名%'
  where ......
  /

  (6)找出有碎片的表空间,并收集其碎片。

  重建索引后,原有的索引被删除,这样会造成表空间的碎片。

  select 'alter tablespace '||tablespace_name||' coalesce;'
  from dba_free_space_coalesced
  where percent_blocks_coalesced!=100
  /

  整理表空间的碎片。

  alter tablespace 表空间名 coalesce
  /

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章