【问题标题】:Adding logs in stored procedure to display number of records inserted in DB在存储过程中添加日志以显示插入数据库的记录数
【发布时间】:2012-09-13 06:50:21
【问题描述】:

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

【问题讨论】:

标签: oracle stored-procedures


【解决方案1】:

这取决于您的操作方式。如果您只是直接插入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列。

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

【讨论】:

  • 快速加点; 4-5 小时是一天的 1/6,对于一项工作来说,这是相当长的时间。您可能想考虑改进程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-21
  • 1970-01-01
相关资源
最近更新 更多