我有一个shell脚本,它调用一个在Oracle DB中插入数据的存储过程。我需要4-5个小时来运行这个过程。我想在存储过程中添加一个日志,它将显示no。在特定时间间隔(例如每隔20分钟)后插入到数据库中的记录的数量。有没有办法在存储过程中添加日志?
发布于 2012-09-13 14:55:46
这取决于你是怎么做的。如果你只是做一个只插入insert into ... select ...
的直接插入,那么就没有办法。但是,如果您在其中执行了某种循环,则可以使用dbms_application_info
包来记录V$SESSION视图中的操作。
我通常会这样做:
dbms_application_info.set_module('Updating Blah','Total: ' || <index var>);
第一个参数是module_name
,您可以在module
列上查看它,第二个参数是action_name
,它是V$SESSION中的action
列。
或者,您可以始终插入或更新一个较小的表,该表跟踪您正在做什么,因此可以通过异步查询来实现。
https://stackoverflow.com/questions/12400898
复制相似问题