segment advisor





 ----查看oracle 需要shrink space 优化的表。


 select af.task_name, ao.attr2 segname, ao.attr3 partition, ao.type, af.message


  from dba_advisor_findings af, dba_advisor_objects ao


 where ao.task_id = af.task_id


 and ao.object_id = af.object_id


 and ao.owner = 'SYS';


 


----oracle 优化任务的时间。


select * from dba_ADVISOR_LOG where task_name like 'SYS_AUTO_SPCADV%';


 


 


----oracle 每天运行的job_name任务


SELECT owner,job_name,state,last_start_date,last_run_duration,failure_count


 FROM dba_scheduler_jobs ;


 


 -----oracle运行任务的的状态


 SELECT log_id, job_name, status,


 TO_CHAR (log_date, 'DD-MON-YYYY HH24:MI') log_date


 FROM dba_scheduler_job_run_details


  WHERE job_name ='AUTO_SPACE_ADVISOR_JOB'


  


   select *  from dba_advisor_findings af;


  


   select * from  dba_advisor_objects ao;


 ----------  


   select  * from dba_scheduler_programs where PROGRAM_NAME = 'AUTO_SPACE_ADVISOR_JOB';










Oracle 内置空间管理工具 Segment Advisor 








Oracle内置空间管理工具-Segment Advisor


数据表上频繁的进行插入、更新和删除动作会产生表空间碎片。Oracle可在表或索引上执行Segment shrink。使得segment的空闲空间可用于表空间中的其它segment,可改善DML性能。


调用Segment Advisor对指定segment执行增长趋势分析以确定哪些Segment受益于Segment shrink。


执行shrink操作,Segment Advisor推荐启用表的ROW MOVEMENT


SQL> alter table wind enable row movement;


Table altered


配置Segment Advisor对表进行分析,使用如下PL/SQL块:


 variable task_id number;


declare


  name varchar2(100);


  descr varchar2(500);
 obj_id number;


  begin


 name := '';


 descr := 'Check WIND.ShrinkTable Table';


 dbms_advisor.create_task('Segment Advisor',:task_id,name,descr,NULL);


 dbms_advisor.create_object(name,'TABLE','WIND','SHRINKTABLE',NULL,NULL,obj_id);


 dbms_advisor.set_task_parameter(name,'RECOMMEND_ALL','TRUE');


 dbms_advisor.execute_task(name);


 end;


 /


PL/SQL procedure successfully completed


task_id


---------


357


dbms_advisor.create_task: 指定类型,返回唯一的作业ID并自动生成运行的程序名.


dbms_advisor.create_object: 指定分析对象信息.


dbms_advisor.set_task_parameter: 这里指定获取所有关于表的建议.


dbms_advisor.execute_task: 执行


以下为获取表建议信息:


SQL> select owner,task_id,task_name,type,messagel,more_info


  2  from dba_advisor_findings


  3  where task_id=357;


OWNER   TASK_ID TASK_NAME  TYPE        MESSAGE                                MORE_INFO


------- ------- ---------- ----------- -------------------------------------- -------------------------------------------------------------


WIND    357     TASK_357   INFORMATION 进行压缩, 估计可以省出 10655319 字节。


分配空间:226492416: 已用空间:215837097: 可回收空间:10655319:


SQL> select owner,task_id,task_name,benefit_type


  2  from dba_advisor_recommendations


  3  where task_id=357;


OWNER TASK_ID  TASK_NAME  BENEFIT_TYPE


---------- ----------- --------------- --------------------------------------


WIND     357         TASK_357    进行压缩, 估计可以省出 10655319 字节。


SQL> select owner,task_id,task_name,command,attr1


  2  from dba_advisor_actions


  3  where task_id=357;


OWNER TASK_ID TASK_NAME  COMMAND         ATTR1


---------- ---------- ---------------- ------------------- ---------------------------------------


WIND     357       TASK_357     SHRINK SPACE  alter table "WIND"."THRINKTABLE" shrink space


SQL> alter table wind.thrinktable shrink space;


注意两个限制:


一. 没法在基于Oracle 10g上的LOB Segment上工作.


二. 不允许在包含任何函数索引规则的表进行操作,不管是使用10g或11g.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29677883/viewspace-1170247/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29677883/viewspace-1170247/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值