1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
SELECT
'CREATE TABLESPACE '|| a.tablespace_name || ' DATAFILE ''c:\oracle\oradata\TEST6\' || a.tablespace_name || '01.DBF'' SIZE ' ||
(CEIL(((a.bytes-b.bytes) / 1024 / 1024) / 10 )) * 10 || 'M AUTOEXTEND ON NEXT '|| (CEIL(((a.bytes-b.bytes) / 1024 / 1024) / 10 )) * 10 || 'M'
FROM
( SELECT tablespace_name,
sum(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) a,
( SELECT tablespace_name,
sum(bytes) bytes
FROM dba_free_space
GROUP BY tablespace_name) b
WHERE a.tablespace_name=b.tablespace_name
AND a.tablespace_name in (SELECT tablespace_name
FROM dba_tablespaces
WHERE contents = 'PERMANENT'
AND tablespace_name in ( SELECT DISTINCT tablespace_name
FROM dba_segments
WHERE segment_type != 'ROLLBACK'
AND tablespace_name != 'SYSTEM') |