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块:

SQL> variable task_id number;

SQL> declare

  2  name varchar2(100);

  3  descr varchar2(500);

  4  obj_id number;

  5  begin

  6  name := '';

  7  descr := 'Check WIND.ShrinkTable Table';

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

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

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

11  dbms_advisor.execute_task(name);

12  end;

13  /

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.



本文转自einyboy博客园博客,原文链接:http://www.cnblogs.com/einyboy/archive/2012/08/10/2631363.html,如需转载请自行联系原作者。

目录
相关文章
|
3月前
|
SQL Oracle 关系型数据库
关系型数据库Oracle备份工具
【7月更文挑战第19天】
68 4
|
3月前
|
存储 监控 Oracle
关系型数据库Oracle空间不足
【7月更文挑战第15天】
46 6
|
3月前
|
存储 Oracle 关系型数据库
关系型数据库Oracle 空间不足
【7月更文挑战第16天】
45 2
|
3月前
|
Oracle 关系型数据库 Java
Oracle数据库导入工具IMP详解与用法
Oracle数据库导入工具IMP详解与用法
|
4月前
|
SQL Oracle 关系型数据库
探索 Linux 命令 `db_archive`:Oracle 数据库归档日志的工具
探索 Linux 中的 `db_archive`,实际与 Oracle 数据库归档日志管理相关。在 Oracle 中,归档日志用于恢复,当在线重做日志满时自动归档。管理员可使用 SQL*Plus 查看归档模式,通过 `RMAN` 进行备份和恢复操作。管理归档日志需谨慎,避免数据丢失。了解归档管理对 Oracle 管理员至关重要,确保故障时能快速恢复数据库。
|
4月前
|
Oracle 关系型数据库 Java
Oracle数据库导入工具IMP详解与用法
Oracle数据库导入工具IMP详解与用法
|
5月前
|
存储 数据库
发现oracle10gSYSAUX空间没有了进行处理
发现oracle10gSYSAUX空间没有了进行处理
35 0
|
5月前
|
Oracle 关系型数据库
Oracle 管理诊断数据工具ADRCI
Oracle 管理诊断数据工具ADRCI
61 2
|
11月前
|
SQL Oracle 关系型数据库
Oracle常用工具
Oracle常用工具
|
12月前
|
Oracle 关系型数据库 数据库连接
Windows系统安装配置Oracle数据库连接工具PLSQL
Windows系统安装配置Oracle数据库连接工具PLSQL
105 0

推荐镜像

更多