PCT_USED Column Not getting updated in DBA_TABLES View?

Hi,

pctused and pctfree are the oracle block properties which decides the performance of the queries on tables.

By defination,

PCTFREE is percent of the space which is reserved free for the future updates on the rows contained in the oracle block. default value being PCTFREE=10

PCTUSED is the maximum percent of the space which should be occupied or filled in an oracle block so that the block is included in the freelist.

Generally while creating tables or objects the values of pctfree and pctused are declared.
However,Once the object is created you can change the value of pctfree or pctused as shown

SQL> alter table
pctused 50 pctfree 5;

Table altered.

To verify whether this change is reflected in u need to query dba_tables view as shown

SQL> select table_name,pct_used,pct_free from dba_tables;

However it is observed many a times this value of pct_used is not reflected in dba_tables view and the column shows null value.

So, in order to view that the actual value of pctused for a particular table u need to view base table called as tab$.

SQL> select pctfree$,pctused$ from tab$ where obj#= ;

3 Responses to “PCT_USED Column Not getting updated in DBA_TABLES View?”

  1. sri ram kumar on May 30th, 2008 at 7:00 am

    i tried this and giave me an error saying table or view doesnt exists
    please let me know if tab$ is correct

    select pctfree$,pctused$ from tab$ where obj#= ;

  2. Hi sri ram,

    the tab$ table had to exist in the system tablespace but please make sure that you are using the above query as sys as sysdba user.The tab$ table exist in sys schema

  3. Hi,

    Thanks!!!! i am able to see the changes in tab$.

Leave a Reply


Close
E-mail It