1、查看segment advisor

方法一:

select * fromtable(dbms_space.asa_recommendations('TRUE','FALSE','FALSE'));

dbms_space.asa_recommentdations的三个参数:

all_runs      TURE返回历次运行的结果,FALSE则返回最近一次运行的结果

show_manual   TURE返回手工执行segment advisor的执行结果,FALSE返回自动执行的segment advisor的执行结果

show_finding  TURE仅显示结果不显示建议,FALSE显示结果和建议

方法二:

select f.task_name,

execution_start,

o.attr2,

o.type,

o.attr3,

f.message,

f.more_info

from dba_advisor_executions e,

dba_advisor_findings   f,

dba_advisor_objects    o

where o.task_id = f.task_id

and o.object_id = f.object_id

and f.task_id = e.task_id

and e.advisor_name = 'Segment Advisor'

order by f.task_name;

segment advisor会自动的定期执行,查看其执行情况的视图是dba_auto_segadv_summary

查看ora advisor的视图

dba_advisor_executions

dba_advisor_findings

dba_advisor_objects

2、手工生成segment advisor

查看advisor name

select * fromdba_advisor_definitions;

ADVISOR_IDADVISOR_NAME                     PROPERTY

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

1 ADDM                                    1

2 SQL Access Advisor                    271

3 Undo Advisor                            1

4 SQL Tuning Advisor                    935

5 Segment Advisor                        67

6 SQL Workload Manager                    0

7 Tune MView                             31

8 SQL Performance Analyzer              935

9 SQL Repair Advisor                    679

10 Compression Advisor                     3

生成segmentadvisor

DECLARE

my_task_id  number;

obj_id      number;

my_task_name varchar2(100);

my_task_desc varchar2(500);

BEGIN

my_task_name := 'BIG_TABLE Advice';

my_task_desc := 'Manual Segment Advisor Run';

-- Step 1创建一个任务

dbms_advisor.create_task(advisor_name =>'Segment Advisor',

task_id      => my_task_id,

task_name    => my_task_name,

task_desc    => my_task_desc);

-- Step 2为这个任务分配一个对象

dbms_advisor.create_object(task_name   => my_task_name,

object_type =>'TABLE',

attr1       => 'SYSTEM',

attr2       => 'AL_APPLY',

attr3       => NULL,

attr4       => NULL,

attr5       => NULL,

object_id   => obj_id);

-- Step 3设置任务参数

dbms_advisor.set_task_parameter(task_name=> my_task_name,

parameter=> 'recommend_all',

value     => 'TRUE');

-- Step 4执行这个任务

dbms_advisor.execute_task(my_task_name);

END;

/

说明:

Table 14-2 DBMS_ADVISOR packageprocedures relevant to the Segment Advisor

Package Procedure Name

Description

CREATE_TASK

Use this procedure to create the Segment Advisor task. Specify 'Segment Advisor' as the value of the ADVISOR_NAME parameter.

CREATE_OBJECT

Use this procedure to identify the target object for segment space advice. The parameter values of this procedure depend upon the object type. Table 14-3 lists the parameter values for each type of object.

Note: To request advice on an IOT overflow segment, use an object type of TABLE, TABLE PARTITION, or TABLE SUBPARTITION. Use the following query to find the overflow segment for an IOT and to determine the overflow segment table name to use with CREATE_OBJECT:

select table_name, iot_name, iot_type from dba_tables;

SET_TASK_PARAMETER

Use this procedure to describe the segment advice that you need. Table 14-4 shows the relevant input parameters of this procedure. Parameters not listed here are not used by the Segment Advisor.

EXECUTE_TASK

Use this procedure to execute the Segment Advisor task.

Table 14-3 Input forDBMS_ADVISOR.CREATE_OBJECT

Input Parameter

OBJECT_TYPE

ATTR1

ATTR2

ATTR3

ATTR4

TABLESPACE

tablespace name

NULL

NULL

Unused. Specify NULL.

TABLE

schema name

table name

NULL

Unused. Specify NULL.

INDEX

schema name

index name

NULL

Unused. Specify NULL.

TABLE PARTITION

schema name

table name

table partition name

Unused. Specify NULL.

INDEX PARTITION

schema name

index name

index partition name

Unused. Specify NULL.

TABLE SUBPARTITION

schema name

table name

table subpartition name

Unused. Specify NULL.

INDEX SUBPARTITION

schema name

index name

index subpartition name

Unused. Specify NULL.

LOB

schema name

segment name

NULL

Unused. Specify NULL.

LOB PARTITION

schema name

segment name

lob partition name

Unused. Specify NULL.

LOB SUBPARTITION

schema name

segment name

lob subpartition name

Unused. Specify NULL.

Table 14-4 Input forDBMS_ADVISOR.SET_TASK_PARAMETER

Input Parameter

Description

Possible Values

Default Value

time_limit

The time limit for the Segment Advisor run, specified in seconds.

Any number of seconds

UNLIMITED

recommend_all

Whether the Segment Advisor should generate findings for all segments.

TRUE: Findings are generated on all segments specified, whether or not space reclamation is recommended.

FALSE: Findings are generated only for those objects that generate recommendations for space reclamation.

TRUE

Example:

variable id number;
begin
  declare
  name varchar2(100);
  descr varchar2(500);
  obj_id number;
  begin
  name:='Manual_Employees';
  descr:='Segment Advisor Example';

dbms_advisor.create_task (
    advisor_name     => 'Segment Advisor',
    task_id          => :id,
    task_name        => name,
    task_desc        => descr);

dbms_advisor.create_object (
    task_name        => name,
    object_type      => 'TABLE',
    attr1            => 'HR',
    attr2            => 'EMPLOYEES',
    attr3            => NULL,
    attr4            => NULL,
    attr5            => NULL,
    object_id        => obj_id);

dbms_advisor.set_task_parameter(
    task_name        => name,
    parameter        => 'recommend_all',
    value            => 'TRUE');

dbms_advisor.execute_task(name);
  end;
end;
/

查看segmentadvisor结果

SELECT

'Segment Advice --------------------------'||chr(10) ||

'TABLESPACE_NAME  : ' || tablespace_name   || chr(10) ||

'SEGMENT_OWNER    : ' || segment_owner     || chr(10) ||

'SEGMENT_NAME     : ' || segment_name      || chr(10) ||

'ALLOCATED_SPACE  : ' || allocated_space   || chr(10) ||

'RECLAIMABLE_SPACE: ' || reclaimable_space ||chr(10) ||

'RECOMMENDATIONS  : ' || recommendations   || chr(10) ||

'SOLUTION 1       : ' || c1                || chr(10) ||

'SOLUTION 2       : ' || c2                || chr(10) ||

'SOLUTION 3       : ' || c3 Advice

FROM

TABLE(dbms_space.asa_recommendations('TRUE','TRUE', 'FALSE'));

或者:

SELECT

'Task Name        : ' || f.task_name  || chr(10) ||

'Segment Name     : ' || o.attr2      || chr(10) ||

'Segment Type     : ' || o.type       || chr(10) ||

'Partition Name   : ' || o.attr3      || chr(10) ||

'Message          : ' || f.message    || chr(10) ||

'More Info        : ' || f.more_info TASK_ADVICE

FROMdba_advisor_findings f

,dba_advisor_objects  o

WHERE o.task_id =f.task_id

AND o.object_id =f.object_id

AND f.task_name like'BIG_TABLE Advice'

ORDER BYf.task_name;

删除segmentadvisor

execdbms_advisor.delete_task('BIG_TABLE Advice');

释放未使用的表的空间

alter tabletablename enable rowmovement;

alter tabletablename shrink spcace;

alter table tablename shrink spcace cascade;(级联收缩索引空间)

alter table tablename shrink spcace compact;(只整理碎片,不调整高水位线)--如果整理碎片和降低高水位话费时间会很长,用于分开操作

How to use segment advisor相关推荐

  1. Segment Advisor

    Segment Advisor通过分析和检查AWR中关于segments的使用和增长统计信息,以及采样分析segment中的数据,找出哪些segments有可以回收的空间. Segment Advis ...

  2. Oracle Advisor

    Segment Advisor Compression Advisor 转载于:https://www.cnblogs.com/arcer/archive/2013/06/08/3125910.htm ...

  3. oracle主目录自动检测,ORACLE ADDM数据库自动诊断测试

    一.建表 SQL> create table bigtab tablespace jerry as select rownum as id,a.* from dba_objects a; Tab ...

  4. 第五章:管理数据库存储结构

    存储结构<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 数据存 ...

  5. OCP12C题库,62数据库备份与恢复(admin,install and upgrade accelerated, backup and recovery workshop -62)(新增)

    题数:20+53 10月新增 5 examine the details of the uncompressed,non-partitioned heap table cities. 检查未压缩.未分 ...

  6. 翻译: Oralce官方文档-- Data Blocks, Extents, and Segments

    Data Blocks, Extents, and Segments                                                                   ...

  7. oracle实现分段,用Oracle分段空间管理功能改进数据库性能

    如果Oracle数据库表出现大量碎片数据,则会浪费磁盘空间和严重影响性能.这时可以使用Oracle分段空间管理功能,特别是Oracle数据库分段压缩功能. 更新或删除表的记录,会在数据块中形成许多的空 ...

  8. Oracle区概念总结

    数据区概述 数据扩展(extent)是由一组连续的数据块(data block)构成的数据库逻辑存储分配单位.而段(segment)则是由一个或多个数据扩展构成.当一个段中已有空间已经用完,Oracl ...

  9. ORACLE11G自动维护任务简析

    ORACLE 11G 自动维护任务:   自动维护任务是一种按规则自动启动的数据库维护操作任务.比如自动收集为查询优化器使用的统计信息.自动维护任务按维护窗口自动运行.所谓自动维护窗口是按照预定义的间 ...

最新文章

  1. 如何禁止灵格斯的新词锐词弹出框
  2. UidGenerator
  3. C语言gauss elimination高斯消元法算法(附完整源码)
  4. UVALive 4254 Processor(二分)
  5. Testng生成的测试报告乱码解决办法
  6. (网页)swiper.js轮播图插件
  7. java中选择排序和冒泡排序_Java选择排序就是比冒泡排序牛「具体详情,请看此文」...
  8. 51单片机c语言教程温度计,单片机课程设计-数字温度计.doc
  9. 20210422:力扣第237周周赛题解记录(上)
  10. sdhc 读写 扇区 linux,SD卡读写扇区注意事项(转)
  11. 再理解:LNode、*LinkList
  12. 置换 置换群 应用 +置换群对某些算法问题的解释
  13. 漳州可视化3d建模,智慧城市园区数字孪生可视化,数字孪生可视化工厂
  14. python软件下载对电脑配置要求-Python实现的读取电脑硬件信息功能示例
  15. LCA 天天爱跑步
  16. MyCat2分库分表的基本操作
  17. Jmeter正则表达式提取器的使用
  18. composer 2.0 报错:No composer.json present in the current directory, this may be the cause of the foll
  19. 加州大学圣芭芭拉分校计算机研究生,加州大学圣塔芭芭拉分校研究生什么专业好...
  20. CIF,D1,HALF D1,FULL D1

热门文章

  1. 初次注册知乎账号,不小心遭受系统限制,该如何解封?
  2. POJ2010 Moo University - Financial Aid
  3. JavaScript匿名函数和闭包
  4. 多线程并发在电商系统下的追本溯源-电商实战
  5. 宜人贷何林海:社交图谱在金融反欺诈产品的应用
  6. labview由于其他对话正在访问FIFO_Windows内核逻辑漏洞:IO管理器访问模式不匹配...
  7. Petalinux 2019.1 工具环境搭建与安装
  8. 在线配色网,方便实用!
  9. Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程
  10. 计算机写字的好处,喜欢写字的十大好处!