SELECT tablespace_name, sum(bytes)/1024/1024 "MB Free"
FROM dba_free_space
WHERE tablespace_name = 'USERS'
GROUP BY tablespace_name;
大家好,以上查询是我用来显示用户表空间中的可用空间但是如何编写单独的 PL / SQL 脚本将其存储在具有表空间名称和时间的单独表中邮票。
请帮助我,因为我需要每小时运行一次作业调度程序。
提前致谢
答案 0 :(得分:2)
假设您已经创建了要存储数据的表,只需
CREATE OR REPLACE PROCEDURE snap_free_space
AS
BEGIN
INSERT INTO new_table( tablespace_name, free_bytes, collection_time )
SELECT tablespace_name, sum(bytes), sysdate
FROM dba_free_space
GROUP BY tablespace_name;
END;