Monday, November 25, 2013

RESIZE TEST TABLESPACE DATAFILES


SQL> alter database datafile '/test/test01.dbf' autoextend off;


SQL> column file_name format a20
SQL> column tablespace_name format a10
SQL> select
  2              tablespace_name,
  3              file_id,
  4              file_name,
  5              dfsizeMB,
  6              hwmMB,
  7              dffreeMB,
  8              trunc((dffreeMB/dfsizeMB)*100,2) "% Free",
  9              trunc(dfsizeMB-hwmMB,2) "Resizeble"
 10     from
   (
 11   12        select
 13             df.tablespace_name tablespace_name,
 14             df.file_id file_id,
 15             df.file_name file_name,
 16             df.bytes/1024/1024 dfsizeMB,
 17             trunc((ex.hwm*(ts.block_size))/1024/1024,2) hwmMB,
 18             dffreeMB
 19        from
 20             dba_data_files df,
 21             dba_tablespaces ts,
 22        (
 23             select file_id, sum(bytes/1024/1024) dffreeMB
 24             from dba_free_space
 25             group by file_id
 26        ) free,
 27        (
 28             select file_id, max(block_id+blocks) hwm
 29             from dba_extents
           group by file_id
 30   31        ) ex
 32        where df.file_id = ex.file_id
 33        and df.tablespace_name = ts.tablespace_name
 34        and df.file_id = free.file_id (+)
 35        order by df.tablespace_name, df.file_id
 36      )
 37  /

TABLESPACE    FILE_ID FILE_NAME              DFSIZEMB      HWMMB   DFFREEMB     % Free  Resizeble
---------- ---------- -------------------- ---------- ---------- ---------- ---------- ----------
SYSAUX              3 /opt/oracle/oradata/        240      237.5        2.5       1.04        2.5
                      NMS/sysaux01.dbf

SYSTEM              1 /opt/oracle/oradata/        490     481.07        9.5       1.93       8.93
                      NMS/system01.dbf

TEST                6 /test/test01.dbf         3.9375        .69     3.3125      84.12       3.24

UNDOTBS1            2 /opt/oracle/oradata/         30      26.07    18.6875      62.29       3.93
                      NMS/undotbs01.dbf

USERS               4 /opt/oracle/oradata/          5        .44     4.5625      91.25       4.56
                      test/users01.dbf




SQL> alter database datafile '/test/test01.dbf' resize 3m;

Database altered.

SQL>
SQL> alter database datafile '/test/test01.dbf' autoextend on;

Database altered.

SQL>

No comments:

Post a Comment

About the Author : Anurag Pandey | Database cloud Architect | Oracle | SQL Server | PostgreSQL | AI and Data Platform Enthusiast

Anurag Pandey is a Database Architect with expertise in Oracle, PostgreSQL, SQL Server, Linux, and enterprise database platforms and specializes in database architecture, performance tuning, high availability, disaster recovery, cloud modernization, and operational excellence. With extensive experience in enterprise-scale environments, Anurag is passionate about leveraging AI, automation, and modern data platforms to improve reliability, scalability, and business outcomes. He actively contributes to technical communities through knowledge sharing, architecture guidance, and thought leadership in database and data engineering domains.

Follow more articles at

Visit Blog

Oracle Database Deep Health Check Checklist

Oracle Database Deep Health Check Checklist Recommended assessment levels Level Purpose Typical scope L1 Operational health Availability, sp...