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