电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Oracle表碎片的监控与清理VIP免费

Oracle表碎片的监控与清理_第1页
1/10
Oracle表碎片的监控与清理_第2页
2/10
Oracle表碎片的监控与清理_第3页
3/10
利用DBMS_SPACE包对Oracle 表碎片进行监控与清理 如果经常进行频繁的insert与delete操作,将会使表的HWM(高水位)变高,这样在作全表扫的操作时,将花费更多的成本。一般而言,当实际含有行数据的数据块只占 HWM的50%时,我们一般认为表中数据块存在较大的浪费,出现这样的情况,一般建议对表进行重建。 对于查询某张表的空间使用情况,Oracle提供了一个包DBMS_SPACE来完成。关于该包的使用方法可以参见其说明。这里主要提供了一种快速布署的方法,来对数据库中的相关表进行监控,对浪费空间比较大的表进行表的重建,统计信息收集。其思路是,首先对数据库中所有用户的表作调查,确定哪些表需要监控,创建一张表来维护监控信息,碎片情况的收集通过 Procedure来完成,如果有需要重建的表,则生成相关的语句,并将语句以邮件的方式发出。相关的脚本在HP-UX上运行,如果是其它平台,可作相应的修改。 一. 在Oracle用户下创建相关的目录 mkdir /oracle/u tils/tb_monitor mkdir /oracle/u tils/tb_monitor/log mkdir /oracle/u tils/tb_monitor/mail_resu lt 二. 创建 TB_MONITOR表,由于这里是通过 perfstat用户来进行监控,所以还需要显示的进行授权,方能在后面的procedure中查询 dba_segments数据字典 TB_MONITOR表结构说明如下: TABLE_NAME:需要监控的表的名称。 OWNER:表所属用户。 SIZE_THRESHOLD:表的大小阈值 WASTE_THRESHOLD:浪费率的大小阈值,默认值为 70%。 SGM_SPACE_MANAGEMENT:段管理方式,分为 MANUAL和 AUTO CURRENT_SIZE:表当前的大小。 CURRENT_WASTE:表当前的浪费率。 脚本如下: grant select on dba_segments to perfstat; conn perfstat/perfstat CREATE TABLE "PERFSTAT"."TB_MONITOR" ( "TABLE_NAME" VARCHAR2(200) NOT NULL ENABLE, "OWNER" VARCHAR2(20) NOT NULL ENABLE, "SIZE_THRESHOLD" NUMBER, "WASTE_THRESHOLD" NUMBER, "SGM_SPACE_MANAGEMENT" VARCHAR2(6), "CURRENT_SIZE" NUMBER, "CURRENT_WASTE" NUMBER, CONSTRAINT "PK_TAB_NAME" PRIMARY KEY ("TABLE_NAME","OWNER") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 ); 完成表的创建后,赋予Public的查询权限,创建公共同义词。以方便查询: grant select on "PERFSTAT"."TB_MONITOR" to public; create public synonym TB_MONITOR for "PERFST...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Oracle表碎片的监控与清理

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部