crontab定时执行Oracle语句并追加保存到文件中

因需要间隔监控oracle的某些性能数据,需要定时抓取。

切换到oracle用户,在crontab -e增加以下:

*/30 * * * * source /home/oracle/.bash_profile && sqlplus / as sysdba @/home/oracle/a.sql

(如果不加source的话sqlplus无法执行)

a.sql内容如下(红色部分为需要执行的oracle语句):

spool /home/oracle/oracle_lun_test_0308.txt append
SET TIMING ON
SET SERVEROUTPUT ON
DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
— DBMS_RESOURCE_MANAGER.CALIBRATE_IO (, , iops, mbps, lat);
DBMS_RESOURCE_MANAGER.CALIBRATE_IO (9, 100, iops, mbps, lat);
DBMS_OUTPUT.PUT_LINE (‘max_iops = ‘ || iops);
DBMS_OUTPUT.PUT_LINE (‘latency = ‘ || lat);
dbms_output.put_line(‘max_mbps = ‘ || mbps);
end;
/
spool off
exit

发布日期:
分类:Linux-Unix