当索引的碎片过多时,会影响执行查询的速度,从而影响到我们的工作效率。这时候采取的最有利的措施莫过于重建索引了。本文主要介绍了Oracle数据库中检查索引碎片并重建索引的过程,接下来我们就开始介绍这一过程。 重建索引的步骤如下: 1. 确认基本信息 登

当索引的碎片过多时,会影响执行查询的速度,从而影响到我们的工作效率。这时候采取的最有利的措施莫过于重建索引了。本文主要介绍了Oracle数据库中检查索引碎片并重建索引的过程,接下来我们就开始介绍这一过程。

重建索引的步骤如下:

1. 确认基本信息

登入数据库,找到专门存放index 的tablespace,并且这个tablespace下所有index的owner都是tax.将index专门存放在一个独立的tablespace, 与数据表的tablespace分离,是常用的数据库设计方法。

2. 查找哪些index需要重建

通过anlyze index .... validate structure命令可以分析单个指定的index,并且将单个index 分析的结果存放到 index_stats试图下。一般判断的依据是:

height >4 pct_used < 50% del_lf_rows / lf_rows +0.001 > 0.03 g )

3. google上下载了遍历所有index脚本

发现anlyze index .... validate structure只能填充单个index分析信息,,于是google了下,从网上下了个Loop 脚本,遍历索引空间下所有的索引名字,并且可以把所有index的分析信息存放到自己建立的一个用户表中。

4. anlyze index 锁定index

发现下载的脚本不好用,应为anlyze index在分析索引前要争取独占锁,锁住index,很明显有些index正在被应用系统的使用,所以运行anlyze失败。这里吸取的教训是,尽量晚上做这种事。但是本人比较喜欢准时回家,所以在语句中添加Exception Handler,抛出anlyze index执行失败的那些index 名称,使脚本正常运行完毕。并且根据打印到前台的index name手动执行那些index分析。

5. 总结

虽然发现522个index中有160个符合上面的判断的依据。但是发现索引都不大,而那些拥有百万leaf的索引又没有符合上面的判断条件,所以结论是无需index rebuild online. 没有啥碎片。

6.什么时候可以rebuild index呢?

rebuild index online,对那些有大量DML操作的大索引是有益的。可以每个月季度做一次针对较大索引的rebuild。通常哪怕rebuild index online也会造成I/O争用,所以有无online意义不大,可以放到3-5个晚上,分批执行rebuild index,锁定index,不让用户用(没有用户等入的时候),并且加上paralle 8关键字,应为发现数据库服务器有8个cpu processors.

关于Oracle数据库检查索引碎片和重建索引的知识就介绍到这里,希望能够对您有所帮助。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

oracle 11g 重建索引,oracle数据库如何重建索引相关推荐

  1. oracle 11g 组合分区,Oracle数据库

    数据库分区是每种数据库都需具备的关键功能之一.几乎所有的Oracle数据库都使用分区功能来提高查询的性能,Oracle 11g分区功能可以简化数据库的日常管理维护工作,大大减轻了DBA(数据库设计和管 ...

  2. oracle 11g 硬件需求,ORACLE 11g R2数据库装配硬件环境要求

    ORACLE 11g R2数据库安装硬件环境要求 物理内存要求:最小1G,在windows7,windows8,windows8.1上最小2G. 虚拟内存(或分页空间)容量要求: Available ...

  3. xorm oracle,Golang + Oracle 11g + XORM + go-oci8 的数据库驱动测试(超详细)

    一.系统环境介绍: Windows 10 Oracle 11g 64bit OCI -> instantclient-basic-windows.x64-12.2.0.1.0 OCI SDK - ...

  4. oracle 11g重新安装配置,Oracle 11g数据库安装和卸载教程

    Oracle11g的安装教程 同时解压缩两个zip文件,生成一个database文件夹,进入到database文件夹,点击setup 去掉安全更新的选项,直接下一步 选择创建和配置数据库,点击下一步 ...

  5. oracle 11g rman catalog,Oracle 11g RMAN复制数据库的测试

    RMAN支持两种类型复制:活动数据库复制和基于备份的复制,主要用来建立测试库.分别进行测试 我们把要复制的数据库称为源数据库(SOURCE DB=orcl),复制后的数据库成为目标数据库(TARGET ...

  6. Oracle 11g 使用RMAN备份数据库

    使用Oracle自带的备份恢复工具RMAN(Recovery Manager)具有以下几种优势: 支持增量备份 能自动管理备份文件 自动化备份与恢复 备份的文件有效性检查 配置快闪恢复区(flash ...

  7. mac osx 装oracle 11g,macOS 安装Oracle数据库

    一.docker部署: 首先,你需要在Mac中部署Docker,也就是安装Docker.安装Docker分了两种途径,一种是通过terminal终端并下载相关依赖包进行安装,另一种是通过下载dmg格式 ...

  8. oracle 11g system01.dbf,oracle数据文件system01.dbf上有坏块,如何修复

    问题:数据库被一同事shutdown abort后,无法启动,报错如下: ksedmp: internal or fatal error ORA-00600: internal error code, ...

  9. oracle 11g 大小,修改oracle 11GR2归档模式和归档目录及大小-Oracle

    环境:Win 7 旗舰版+Oracle 11GR2 64bit 1.修改数据库为归档模式: C:\Users\Administrator>sqlplus / as sysdba SQL*Plus ...

  10. 在Oracle 11g中用看Oracle的共享内存段---------IPCS

    很早之前,在一次讲课了,用了命令ipcs,发现oracle的共享内段好小,如下: oracle@mydb ~]$ ipcs -a------ Shared Memory Segments ------ ...

最新文章

  1. 亚洲最大的元宇宙平台,体验在豪宅里开party
  2. 思路拓展,如果是用2D的方式去做切割
  3. Intel Realsense D435 composite_frame类 frame类 video_frame类 depth_frame类的关系
  4. 毕设开发总结-3D游戏框架及网络对战游戏的开发(1)
  5. bootstrap bootstrapTable 隐藏列
  6. 人们常说的微型计算机简称为 机,(精华版)国家开放大学电大专科《计算机文化基础》网络课单项选择题题库及答案...
  7. linux加密框架 crypto 算法管理 - 算法查找接口 crypto_alg_lookup函数
  8. android 開發人員模式,Android
  9. 不小心执行了 rm -rf,除了跑路还有其他办法吗?
  10. iPhone8已跌至三千元档,迫不及待的入手了一部
  11. flashBuilder安装Subclipse与XMLBuddy插件
  12. nginx 命令_MAC 操作nginx命令
  13. hadoop 3.x 关闭安全模式
  14. 【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
  15. Linux dirname、basename 指令
  16. catia二次开发:结构树文档,录制宏编程思路,遍历结构树,catia根对象窗体属性,打开导出文件,cameras工具条,viewer对象和截图,catia发送命令
  17. 解决pip pandas 安装提示time out
  18. 前嗅教你大数据:采集金融界论坛数据
  19. 100句永久珍藏的人生格言
  20. SQLTableSource

热门文章

  1. 最详细前端vue框架实现结束日期大于开始日期以及计算两个日期天数差
  2. linux less退出,Linux命令学习----less命令
  3. 城乡携手助农 助力乡村振兴
  4. 使用python爬取奥特曼图片
  5. c语言select函数头文件,简述select函数的功能与调用方法
  6. linux使用 source etc/profile
  7. 制作销售属性的组合的集合为哈希表,根据用户点击的属性组合判断某个skuId并跳转到对应的页面
  8. Footprint周报:动荡的周末,BTC跌破5万美金,数字货币全线下跌
  9. 微信小程序发放红包+领取红包(PHP)
  10. excel怎么把重复项合并(excel快速合并相同单元格技巧)