-- Create the monitoring Table create table ztbl_temp_monitor (snap_time date default sysdate, Total_Size_MB int, Used_Size_MB int, Free_Size_MB int, Tablespace_name varchar(30) ); -- Insert command for data insert into ztbl_temp_monitor(Tablespace_name, Total_Size_MB, Used_Size_MB, Free_Size_MB) select b.tablespace_name, b.SizeMB, nvl(a.UsageMB, 0) as UsageMB, b.SizeMB - nvl(a.UsageMB, 0) as FreeMB from (select sum(BLOCKS) * b.VALUE / 1024 / 1024 as UsageMB, tablespace as tablespace_name from v$tempseg_usage a, v$parameter b where b.name = 'db_block_size' group by TABLESPACE, b.VALUE) a, (select sum(bytes) / 1024 / 1024 as SizeMB, tablespace_name from dba_temp_files group by tablespace_name) b where a.tablespace_name(+) = b.tablespace_name; -- Create a procedure to incorporate the insert command CREATE OR REPLACE PROCEDURE zproc_temp_usage_monitor IS BEGIN insert into ztbl_temp_monitor(Tablespace_name, Total_Size_MB, Used_Size_MB, Free_Size_MB) select b.tablespace_name...