用于计算oracle中users表空间中的可用空间的Pl / sql脚本

时间:2011-10-07 21:27:22

标签: oracle plsql oracle11g tablespace

SELECT tablespace_name, sum(bytes)/1024/1024 "MB Free"
  FROM dba_free_space 
 WHERE tablespace_name = 'USERS'
 GROUP BY tablespace_name;

大家好,以上查询是我用来显示用户表空间中的可用空间但是如何编写单独的 PL / SQL 脚本将其存储在具有表空间名称和时间的单独表中邮票。

请帮助我,因为我需要每小时运行一次作业调度程序。

提前致谢

1 个答案:

答案 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;