Is Segment Advisor Inaccurate?

Based on a few tests I've been running, I haven't been able to reproduce space savings that Segment Advisor reports. For example, the top segment in terms of space reclamation that Segement Advisor lists has *1019.16MB* of reclaimable space. When I execute the commands:
alter table <owner>.<table_name> enable row movement;
alter table <owner>.<table_name> shrink space;
... the space savings listed in the tablespace before and after are only a difference of *138MB*.
Why the difference? This has occurred for every segment that I have executed the statements above for; the space savings are considerably less than Segment Advisor claims.
Anybody else experiencing this?

I've experienced something similar with the versions I use: 10.2.0.1 and 10.2.0.4 (linux 32 bits). I've found that executing "alter table ... shrink space" twice finally releases the space.
Segment Advisor:
Tablespace: Users, Segment: Scott.T,
Reclaimable space: 19.39,
Allocated Space:27.00,
Used space: 7.61,
Segment Type: Table
SYS@orcl > execute show_space('T','SCOTT');
Unformatted Blocks .....               0
FS1 Blocks (0-25)  .....               0
FS2 Blocks (25-50) .....               7
FS3 Blocks (50-75) .....               6
FS4 Blocks (75-100).....           2,718
Full Blocks        .....             663
Total Blocks............           3,456
Total Bytes.............      28,311,552
Total MBytes............              27
Unused Blocks...........               0
Unused Bytes............               0
Last Used Ext FileId....               4
Last Used Ext BlockId...           3,465
Last Used Block.........             128
PL/SQL procedure successfully completed.
SYS@orcl > alter table scott.t shrink space;
Table altered.
SYS@orcl > execute show_space('T','SCOTT');
Unformatted Blocks .....               0
FS1 Blocks (0-25)  .....               0
FS2 Blocks (25-50) .....               1
FS3 Blocks (50-75) .....               0
FS4 Blocks (75-100).....           2,724
Full Blocks        .....             669
Total Blocks............           3,456
Total Bytes.............      28,311,552
Total MBytes............              27
Unused Blocks...........               0
Unused Bytes............               0
Last Used Ext FileId....               4
Last Used Ext BlockId...           3,465
Last Used Block.........             128
PL/SQL procedure successfully completed.
SYS@orcl > alter table scott.t shrink space;
Table altered.
SYS@orcl >  execute show_space('T','SCOTT');
Unformatted Blocks .....               0
FS1 Blocks (0-25)  .....             193
FS2 Blocks (25-50) .....               1
FS3 Blocks (50-75) .....               0
FS4 Blocks (75-100).....               0
Full Blocks        .....             476
Total Blocks............             696
Total Bytes.............       5,701,632
Total MBytes............               5
Unused Blocks...........               6
Unused Bytes............          49,152
Last Used Ext FileId....               4
Last Used Ext BlockId...             777
Last Used Block.........              50
PL/SQL procedure successfully completed.Initial size: 3456 blocks
Final size : 696 blocks -- but after two consecutive shrinks
Space Saving= 21MB, Segment Advisor predicted 19.39MB.
Enrique

Similar Messages

  • Error when running Oracle provided Segment Advisor

    Can anyone tell me how to fix this error. The Automatic Segment Advisor job which is provided by default by oracle is failing with this error. I am not able to edit this job.
    Errors in file c:\oracle\product\10.2.0\admin\devptc6\bdump\devptc6_j000_3312.trc:
    ORA-12012: error on auto execute of job 8887
    ORA-20000: ORA-20000: Content of the tablespace specified is not permanent or tablespace name is invalid
    ORA-06512: at "SYS.PRVT_ADVISOR", line 1624
    ORA-06512: at "SYS.DBMS_ADVISOR", line 186
    ORA-06512: at "SYS.DBMS_SPACE", line 1338
    ORA-06512: at "SYS.DBMS_SPACE", line 1554
    -Nags

    The issue has been resolved finally i can able to run the seeded page.
    Thank you all.
    Regards,
    CSK

  • Grid Control and Segment Advisor

    I ran the segment advisor (within Grid Control) against a 10.1.0.4 target (picked a few tablespaces) and it ended up generating a 7 gigabyte tracefile in bdump of that target database. I did not turn on any kind of tracing. Is this expected behavior?!?
    The header of the trace file, if you're curious...
    /usr2/app/oracle/admin/GMWM/bdump/gmwm_j001_17425.trc
    Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    ORACLE_HOME = /usr2/app/oracle/product/10.1.0/db_1
    System name: SunOS
    Node name: web440-1
    Release: 5.9
    Version: Generic_118558-06
    Machine: sun4u
    Instance name: GMWM
    Redo thread mounted by this instance: 1
    Oracle process number: 134
    Unix process pid: 17425, image: oracle@web440-1 (J001)
    *** 2005-11-30 10:48:36.596
    *** ACTION NAME:() 2005-11-30 10:48:36.571
    *** MODULE NAME:() 2005-11-30 10:48:36.571
    *** SERVICE NAME:(SYS$USERS) 2005-11-30 10:48:36.571
    *** CLIENT ID:([email protected]@Mozilla/4.0 (compatible; MSIE 6.0; Win) 2005-11-3
    0 10:48:36.571
    *** SESSION ID:(471.58192) 2005-11-30 10:48:36.571
    9ir2 HEAP BLOCK FORMAT
    Block header dump: 0x01455008
    Object id on Block? Y
    seg/obj: 0x17bce csc: 0x28c.2ec02c6 itc: 3 flg: E typ: 1 - DATA
    brn: 0 bdba: 0x1455005 ver: 0x01 opc: 0
    inc: 0 exflg: 0
    Itl Xid Uba Flag Lck Scn/Fsc
    0x01 0xffff.000.00000000 0x00000000.0000.00 C--- 0 scn 0x028c.02ec02c6
    0x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
    0x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
    data_block_dump,data header at 0x3fd6f007c
    ===============
    tsiz: 0x3f80
    hsiz: 0x2be
    pbl: 0x3fd6f007c
    bdba: 0x01455008

    I have the same problem

  • Object name, segment advisor and db sequential read

    oracle 10.2.0.4:
    I am looking at our ADDM and AWR report. It's complaining about db file sequential read waits and also "Segment Advisor" on LOB SYS_LOB.... I have couple of questions:
    1. When select is fired (from JDBC/hibernate) with the column that is of type BLOB does the blob gets extracted at that point or just the reference is returned to the BLOB. And only when that column is accessed then the blob is fetched. Or does it get fetched right away in the "Select statemement"?
    2. I see Sedgment Advisor on object name LOB SYS_LOB000000012511C000006$$. How do I know which column/table it's referring to.
    3. db file sequential read waits means that something is wrong with disk layout?
    4. Even though our IO is not that high ADDM keeps complaining about increasing SGA to 64G. Currently as it is 32G and it's huge. Could it be because of above reasons that it thinks that it needs larger SGA?

    We are expecting a very high load in coming days. So I was looking at the system to check if somethings needs to be improved beforehand. I see things like 'User I/O waiting on Hot Objects", "db file sequential read waits". I read about it but I am not sure how to really see if it's going to be a problem or if it's a problem. We have indexes but one of the queries selects blob and is not always used so I was wondering if db file sequential read is being caused by that. I am not sure why we would have waiting on Hot objects because currently our system in not very busy. Hot object is a LOB and it's partitioned. It says database object with id XXXX, 0 full object scansm 25336 physical and direct reds. I know the table by looking up in DBA_LOBS.

  • Dbms Advisor - Segment Advisor Task over db links

    Good morning to everybody, i'm wondering why if is it possible to execute dbms advisor (segment advisor) task from a database to others one with PL SQL. My problem is that i have 13 Databases on different Servers and i have 13 db links. Now i have to call dmbs_advisor package from the first database on these 13 different databases and put the advisor returned data to the first one. I'm looked for the solution on internet but nobody solved this. Is there a way to achieve this goal?
    Thanks in advance,
    cheers
    Alberto
    Edited by: user1631132 on 21-feb-2012 1.42
    Edited by: user1631132 on 21-feb-2012 1.46

    It is complex when you are doing it from database.
    Try it from back-end using OS commands with SQLPLUS.
    Spool the output in 13 different files to categorise the output by instances.
    Assuming , you have a procedure or anonymous block of code in an SQL file for Segment advice.
    Shell$ sqlplus -s user/password@instance1 @<sqlfile.sql>
    Shell$ sqlplus -s user/password@instance2 @<sqlfile.sql>
    Shell$ sqlplus -s user/password@instance3 @<sqlfile.sql>
    Shell$ sqlplus -s user/password@instance4 @<sqlfile.sql>
    Shell$ sqlplus -s user/password@instance5 @<sqlfile.sql>
    Shell$ sqlplus -s user/password@instance13 @<sqlfile.sql>
    Note: You must have the TNS configurations set up on the database for all instances from where you are executing SQLPLUS
    Edited by: Susil Kumar Nagarajan on Feb 22, 2012 1:31 AM

  • Manual segment space management / want to shrink through segment advisor

    I am trying to free space from table space , but i can't check the manual segment space manageme tablespaces, only auto segment space management allow me to do so. How i can do that?
    any suggestions.

    sybrand_b wrote:
    Confusion can best be resolved by referring to the official documentation (as opposed to cluttering up this forum full of doc questions with further doc questions).
    Is there any particular reason (your boss beats you up when he sees you reading documentation) why you can't be bothered to visit http://tahiti.oracle.com, or do you -mistakingly- think this is an online chatroom, instead of an offline forum?
    Sybrand Bakker
    Senior Oracle DBAwhat kind of an answer is that? I mean, what is the points of books if docs were everything one ever needed? I have read something in a book that confuses me, and I disagree with, but maybe my understanding is wrong, so that is why I am come here to ask others for their opinion. What is wrong with that?

  • Segment Shrink Space Compact option in Oracle 10g

    Dear All,
    1. Is it Compulsory to run the Segment Shrinking Jobs advised by Segment Advisor?
    2. Running online will it affect the perfomance
    3. Is this same as table re organization
    Thanks in Advance

    1. NO. As with any "Advisor" it is your discretion and decision as to what action to take and when. I would schedule shrinks / rebuilds / reorgs during/without maintenance/outages. But first, I would evaluate the advice. In many cases, it wouldn't be worth the effort to rebuild/shrink. Also, you have to consider that the table/index may/will grow again.
    I do a shrink/rebuild only as part of any archival job which deletes a significant portion of the data. Not otherwise.
    2. Running it online will impact performance. Furthermore, the SHRINK actually generates a lot of Undo (as it runs as if it is normal DML) and, consequently, Redo and ArchiveLog.
    3. It is different. However, the "it" also depends on what you mean to be a "table reorganization". A reorganization that is done with an ALTER TABLE MOVE (and ALTER INDEX REBUILD) is quite a different operation from a SHRINK. A DBMS_REDEFINITION is also a very different operation.

  • Segment space for Manual tablespace management

    Hi,
    wanted to know if 10g segment advisor can advise on segments that exsists in a tablespaces that is set to manual extent management.
    thanks,
    Ven.

    From the
    Oracle® Database Administrator's Guide
    10g Release 2 (10.2)
    Part Number B14231-01
    14 Managing Space for Schema Objects
    Understanding Reclaimable Unused Space
    You use the Segment Advisor to identify segments that would benefit from online segment shrink. Only segments in locally managed tablespaces with automatic segment space management (ASSM) are eligible. Other restrictions on segment type exist. For more information, see "Shrinking Database Segments Online".

  • Reorgnize a segment

    Hi I have Recived an alert in my Oracle Segment Advisor which recommands to shrink a segment in one of my tablespace.
    i followed the recommandation and implement them,But it doesn't make any difference.The
    Alert doesn't disappear from Enterprise Manager Segment Advisor center.
    What should Be a problem?
    I did the same procedures for other Segments and The alert did disappear from the advisor.but for these segments ...NOT!!

    Some alerts clear fairly soon, others clear only after sacrificing a Windows administrator on a burning pyre and chanting a prayer to software spirits. If you can't clear it manually, it may persist for quite some time. Of course, this is not a bug, but a feature of this component.
    Other thread on this:
    Clear the Alert list
    I wrote an article about clearing alerts, and about five months later, someone from Oracle Corp chastised me for saying what I said, yet, the problem still exists.
    http://www.databasejournal.com/features/oracle/article.php/3694541

  • SYSAUX - SM/Advisor objects

    Oracle Database 10.1
    We have a SYSAUX tablespace that has grown to nearly 15GB - approx 14.5GB of this is being used by SM/Advisor. Originally the underlying WRI$_ADV_OBJECTS table had 78+ million rows, but I have managed to reduce this to 2500 rows using DBMS_ADVISOR.DELETE_TASK to delete rows consumed for a segment advisor task. I have set the relevant snapshot + retention settings to a minumum and also taken off AUTO_EXTEND on the tablespace. The problem I have is that SYSAUX is still retaining the 14.5GB used by SM/Advisor.
    How can I reduce SYSAUX back down to 1-2GB and release this space?
    The SYSAUX Occupants view shows that there is no Move Procedure for SM/Advisor objects - does this mean that the underlying table and index (WRI$_ADV_OBJECTS + WRI$_ADV_OBJECTS_PK) cannot be moved into a different tablespace, or can they just be moved using "Alter Table" like any other table/index in a normal tablespace? Would this reduce the size of the SYSAUX tablespace anyway if I moved the objects back into SYSAUX afterwards?
    SQL> select occupant_name, space_usage_kbytes, move_procedure_desc
    2 from v$sysaux_occupants where occupant_name like 'SM%';
    OCCUPANT_NAME SPACE_USAGE_KBYTES MOVE_PROCEDURE_DESC
    SM/AWR 43648 *** MOVE PROCEDURE NOT APPLICABLE ***
    SM/ADVISOR 14431360 *** MOVE PROCEDURE NOT APPLICABLE ***
    SM/OPTSTAT 72576 *** MOVE PROCEDURE NOT APPLICABLE ***
    SM/OTHER 7872 *** MOVE PROCEDURE NOT APPLICABLE ***
    If anyone has any recommendations on how reduce SYSAUX back down to its original size I would be grateful for the advice.
    Thanks.

    Hi,
    You could check what segments consume space in SYSAUX tablespace using DBA_SEGMENTS view. After you see big segments, you could try to shrink segments using alter table statement. You must ensure however that you freed space within these segments using appropriate procedures like DBMS_ADVISOR.DELETE_TASK or AWR delete data procedures.

  • 'Implement' Button of Segement Advisor Recommendations not responding in

    In Grid Control I created a Segment Advisor Task at the tablespace level and got the
    recommendations to rebuild th indexes
    Now When I select few objects to reorganise and try to implement..it waits for indefinite time period
    and doesnt respond.Not sure whats the problem.
    Its 10g Grid Control
    If anybody have faced this problem ...Plz share
    Thanks in Advance
    Gagan

    Can anybody plz help me on this....
    Thanks in Advance
    Gagan

  • 'Implement' Button of Segement Advisor Recommendations not responding

    In Grid Control I created a Segment Advisor Task at the tablespace level and got the
    recommendations to rebuild th indexes
    Now When I select few objects to reorganise and try to implement..it waits for indefinite time period
    and doesnt respond.Not sure whats the problem.
    If anybody have faced this problem ...Plz share
    Thanks in Advance
    Gagan

    Can anybody plz help me on this....
    Thanks in Advance
    Gagan

  • Database is slow

    Hi,
    we have migrated database from single instance to 2 node RAC recently and since then we have been observing degardation of perfromance.The mostly observed wait events on the database are buffer busy waits and db file sequential read.another observation is that library cache miss rate always hangs above 60%.
    It'a documentum application.
    The application is using only two tablespaces one for data and another for indexes.Kindly suggest the way in whch i can boost up the perfromance.
    vamsi

    Hello,
    Well moving from single install to RAC is more then just high availability. You need to do some tuning, and I mean serious tuning.
    The are huge amounts of resources out on the web about this. In short here is what you are facing:
    "The main way to reduce buffer busy waits is to reduce the total I/O on the system. This can be done by tuning the SQL to access rows with fewer block reads (i.e., by adding indexes). Even if we have a huge db_cache_size, we may still see buffer busy waits, and increasing the buffer size won't help.
    The resolution of a "buffer busy wait" events is one of the most confounding problems with Oracle. In an I/O-bound Oracle system, buffer busy waits are common, as evidenced by any system with read (sequential/scattered) waits in the top-five waits."
    Hope this helps you get on your way. Check in the database forums for more help, or just have your local DBA tune the database. If he you are running enterprise edition then you should have access to the performance tools, including SQL Tuning advisor, Segment advisor.
    When you generate an snapshot report, check if you don't have any ITL waits, see what segments and block the database is hot for. see what SQL statement are hot(meaning how many times its been executed, and how many buffer is reads every time).
    Hope this helps.
    Jan

  • To check weather JAVAVM being used or not?

    Hi,
    We are in the process of cleaning up unnecessary components. As a part of this, first of all we are checking weather JAVAVM is being used or not?  How to confirm weather JAVAVM is being used or not?
    I gone through Database Feature Usage but could not find any entry related to JAVAVM, for rest of the components i was able to. Any hints on this.
    DBA_REGISTRY
    COMP_ID
    COMP_NAME
    VERSION
    STATUS
    MODIFIED
    CATALOG
    Oracle Database Catalog Views
    10.2.0.5.0
    VALID
    23-JUN-2013 06:16:06
    CATPROC
    Oracle Database Packages and Types
    10.2.0.5.0
    VALID
    23-JUN-2013 06:16:06
    JAVAVM
    JServer JAVA Virtual Machine
    10.2.0.5.0
    VALID
    23-JUN-2013 06:16:07
    CATJAVA
    Oracle Database Java Packages
    10.2.0.5.0
    VALID
    23-JUN-2013 06:16:07
    And features usage is as follows.
    Database Feature Usage
    NAME
    DETECTED_USAGES
    ASO native encryption and checksumming
    0
    AWR Report
    17
    Advanced Replication
    0
    Advanced Security
    0
    Audit Options
    41
    Automatic Database Diagnostic Monitor
    6
    Automatic SQL Execution Memory
    41
    Automatic Segment Space Management (system)
    41
    Automatic Segment Space Management (user)
    41
    Automatic Storage Manager
    0
    Automatic Undo Management
    41
    Automatic Workload Repository
    1
    CSSCAN
    0
    Change Data Capture
    0
    Change-Aware Incremental Backup
    0
    Character Semantics
    0
    Character Set
    41
    Client Identifier
    0
    Data Guard
    0
    Data Guard Broker
    0
    Data Mining
    0
    Database Replay: Workload Capture
    0
    Diagnostic Pack
    0
    Dynamic SGA
    0
    EM Database Control
    0
    EM Grid Control
    0
    Extensibility
    41
    File Mapping
    0
    Flashback Database
    0
    Internode Parallel Execution
    0
    LOB
    41
    Label Security
    0
    Locally Managed Tablespaces (system)
    41
    Locally Managed Tablespaces (user)
    41
    Locator
    0
    MTTR Advisor
    0
    Materialized Views (User)
    41
    Messaging Gateway
    0
    Multiple Block Sizes
    0
    OLAP - Analytic Workspaces
    0
    OLAP - Cubes
    0
    Object
    41
    Oracle Database Vault
    0
    Oracle Managed Files
    0
    PL/SQL Native Compilation
    0
    Parallel SQL DDL Execution
    24
    Parallel SQL DML Execution
    0
    Parallel SQL Query Execution
    35
    Partitioning (system)
    41
    Partitioning (user)
    0
    Protection Mode - Maximum Availability
    0
    Protection Mode - Maximum Performance
    41
    Protection Mode - Maximum Protection
    0
    Protection Mode - Unprotected
    0
    RMAN - Disk Backup
    0
    RMAN - Tape Backup
    0
    Real Application Clusters (RAC)
    0
    Recovery Area
    0
    Recovery Manager (RMAN)
    0
    Resource Manager
    0
    SQL Access Advisor
    0
    SQL Tuning Advisor
    7
    SQL Tuning Set
    41
    Segment Advisor
    40
    Server Parameter File
    5
    Shared Server
    37
    Spatial
    0
    Standby Archival - ARCH
    0
    Standby Archival - LGWR
    0
    Standby Transmission
    0
    Streams (system)
    0
    Streams (user)
    0
    Transparent Gateway
    0
    Tuning Pack
    0
    Undo Advisor
    0
    Virtual Private Database (VPD)
    0
    XDB
    0
    D
    Regards
    DBA.

    We are in the process of cleaning up unnecessary components. As a part of this, first of all we are checking weather JAVAVM is being used or not?  How to confirm weather JAVAVM is being used or not?
    Yes - if you have an Oracle database the JVM is being used.
    There is NOTHING to 'clean up' as far as the internal JVM that is part of Oracle.
    You can NOT modify it or upgrade it. And if you remove it Oracle will also remove your database.
    See the Database Installation Guide
    http://docs.oracle.com/cd/B28359_01/install.111/b32002/remove_oracle_sw.htm#CCHBABDE
    In the Inventory screen, select the Oracle home and the products that you want to remove, then click Remove.
    Note:
    If you choose to remove Oracle JVM, Oracle Universal Installer removes all installed products that depend on Oracle JVM, including Oracle Database 11g.

  • How to change a timezone for job

    Windows Server 2008 64 bits - Oracle 11g (11.02.0).
    In Oracle Enterprise Manager, in Space summary, there are some Segment Advisor Recomendations.
    When I try to use the option Shrink for some of them, I have errors ORA-01878 and ORA-06512.
    I discovered that the problem happens because the time zone in the screen for schedulling this shrink is not correct. Even if I use the option "immediately", I have the same errors.
    So everytime I want to schedule a shrink, I have to change the time zone in this screen...
    Does anybody know how to change this time zone for these particular tasks (shrink) permanentely ?
    And what does this change affect the rest of the system ? I don't think that the database works under this time zone...
    Thanks in advance,
    Eduardo

    Hello Ramya,
    Did you check in [SCN|How to color a row of  alv grid]
    Thanks!

Maybe you are looking for

  • Problem in displaying data using Radiobuttons?

    Hi All, I have a requirement where along with some input fields in have three radiobuttons and under each of the radiobuttons there are date fields, now when i click on the first radiobutton the second date field has to be disabled and the a report o

  • ITunes 11.1.5 Update - Highly Recommended

    For the last few months, I've, along with many others experienced issues with my devices either not being recognized in iTunes or more specifically, being able to sync via Wifi.  I even spent hours with higher level technical support trying to isolat

  • Unable to send mail in Apple Mail

    I have 2 Macs in the same house, one on 10.8, adn Mail 6.2, and the second on 10.7, and Mail 5.3 The first is sending mail fine. But the second will not send mail, giving the message that the SMTP server is offline. I have been through all the settin

  • 5530 - google voice search?

    The link for it is popping up on my 5530 when I'm on Google, but clicking on the link for the voice search application just takes me straight back to the normal google search page?  I've seen videos of the application working on a 5580 and so assume

  • Button in a nested movie clip-Help!

    Hello! I have an issue that I have never been able to solve and need to now since I am on a tight deadline. I have a movie clip button on my main timeline. The code works fine (up, over and out). Inside that movie I have an animation where a bubble a