日期:2014-05-16  浏览次数:20496 次

oracle 存储过程--查询和记录每日的表空间情况
create or replace PROCEDURE PROTABLESPACE IS
  v_name         VARCHAR2(30);
  v_bytes        NUMBER;
  v_free         NUMBER;
  BEGIN
  SELECT a.tablespace_name,a.bytes,sum(nvl(b.bytes, 0))
  INTO v_name,v_bytes,v_free
  FROM dba_data_files a  , dba_free_space b
  where a.file_id = b.file_id(+) and a.tablespace_name ='USERS'
  group by a.tablespace_name,a.bytes;
  INSERT INTO TABLESPACEINFO VALUES(SYSDATE,v_name,v_bytes,v_free);
  COMMIT;
  END PROTABLESPACE;

在此基础上,可以新建一个定时任务。
我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html