Những gì bạn mô tả về cơ bản là cách để kiểm tra việc thực thi tập lệnh. Cho dù đó là một thời gian trôi qua, hoặc thời gian bắt đầu và kết thúc cụ thể bạn đang nắm bắt bạn muốn đăng nhập chúng đúng cách để xem mọi thứ diễn ra tốt đẹp (hay không, tại sao không).
Đây là mẫu tương tự như những gì chúng tôi sử dụng để chụp và ghi nhật ký tất cả hoạt động cơ sở dữ liệu mà chúng tôi đang triển khai. Chúng tôi sử dụng nó qua sqlplus.exe
cho tất cả các bản cập nhật DDL (ví dụ: CREATE TABLE
) và để chèn vào các bảng thiết lập.
--Beginning of all SQL scripts:
set serveroutput on feedback on echo on verify on sqlblanklines on timing on define on
col time new_v v_time
col name new_v v_name
col user new_v v_user
select name, USER, to_char(sysdate, 'YYYYMMDD-HH24MISS') time from v$database;
--Creates a new log file every time the script is run, and it's immediately
--obvious when it was run, which environment it ran in, and who ran it.
spool &v_time._&v_name._&v_user..log
--Run the select again so it appears in the log file itself
select name, USER, to_char(sysdate, 'YYYYMMDD-HH24MISS') time from v$database;
Đặt phần thân của bạn ở đây.
--End of all SQL scripts:
select name, USER, to_char(sysdate, 'YYYYMMDD-HH24MISS') time from v$database;
spool off
Nguồn
2011-12-06 16:49:51
Chỉ cần đánh bại tôi với nó .... Hoặc chạy tập lệnh của bạn trong một công cụ như Nhà phát triển SQL hoặc Nhà phát triển PLSQL sẽ tự cho bạn biết thời gian đã trôi qua. – Rene
đầu ra từ hàm này là 'thủ tục PL/SQL đã hoàn tất thành công.' và không phải là thời gian :), có thể sử dụng' systimestamp' để có ngày và vv không? Kịch bản sẽ mất vài giờ và chạy vào ban đêm, vì vậy ngày tháng sẽ rất quan trọng! – aweis
có, ngay trước lối ra của tôi; – aweis