REM REM DBAToolZ NOTE: REM This script was obtained from DBAToolZ.com REM It's configured to work with SQL Directory (SQLDIR). REM SQLDIR is a utility that allows easy organization and REM execution of SQL*Plus scripts using user-friendly menu. REM Visit DBAToolZ.com for more details and free SQL scripts. REM REM REM File: REM c_dbf_trim_all.sql REM REM MAINT DBF REM REM Author: REM Vitaliy Mogilevskiy REM VMOGILEV REM (vit100gain@earthlink.net) REM REM Purpose: REM REM trims the last FREE CHUNK from ALL datafiles REM by resizing it ... Coalesces ALL tablespace prior resize. REM REM REM Usage: REM c_dbf_trim_all.sql REM REM Example: REM c_dbf_trim_all.sql REM REM REM History: REM 08-01-2001 VMOGILEV Created REM REM set pages 0 set feedback off set lines 300 set trims on col l format a300 SELECT 'ALTER TABLESPACE '||tablespace_name||' COALESCE;' l FROM dba_tablespaces spool c_dbf_trim_all.sql.run / spool off set feedback on @c_dbf_trim_all.sql.run set feedback off SELECT 'ALTER DATABASE DATAFILE '||chr(39)||dbf.file_name||chr(39)||' RESIZE '||LTRIM(TO_CHAR((dbf.bytes-free.bytes)/1024,'999999999999'))||'K ;' l , '--ALTER DATABASE DATAFILE '||chr(39)||dbf.file_name||chr(39)||' AUTOEXTEND ON NEXT 12m MAXSIZE '||LTRIM(TO_CHAR((dbf.bytes)/1024,'999999999999'))||'K ;' l FROM dba_data_files dbf , (SELECT file_id , bytes FROM dba_free_space dbf WHERE block_id IN (SELECT MAX(BLOCK_ID) FROM dba_free_space WHERE tablespace_name = dbf.tablespace_name GROUP BY file_id) ) free WHERE free.file_id = dbf.file_id spool c_dbf_trim_all.sql.run / spool off ed c_dbf_trim_all.sql.run set feedback on