1

我有一个 shell 脚本,它调用一个在 Oracle DB 中插入数据的存储过程。我需要 4-5 小时来运行该程序。我想在存储过程中添加一个日志,它会显示编号。在特定时间间隔(例如每 20 分钟)后插入数据库的记录数。有没有办法在存储过程中添加日志?

4

1 回答 1

0

这取决于你是怎么做的。如果你只是做一个直接的插入insert into ... select ...,那么没有,没有办法。但是,如果您在那里有某种循环,您可以使用该dbms_application_info包在 V$SESSION 视图中记录您的操作。

我通常会这样做:

dbms_application_info.set_module('Updating Blah','Total: ' || <index var>);

第一个参数是module_name,可以在module列上查看,第二个参数是action_name,即actionV$SESSION中的列。

或者,您始终可以插入或更新一个较小的表,该表跟踪您正在做的事情,因此可以通过异步查询。

于 2012-09-13T06:55:45.877 回答