何要触发数据库中的作业并断开连接,而不是长时间保持连接打开?

时间:2016-12-09 11:58:27

标签: java database oracle jdbc

我的数据库负载很重。当我打开连接并触发作业/查询时,它需要花费大量时间才能完成(超过15分钟)。在此之前,我与数据库的连接已打开,但超时和其他问题在10分钟后发生。

我有什么方法可以用Java或其他东西在Oracle中触发一个工作:

  1. 我打开连接。
  2. 我触发了#34;某事"。
  3. 我关闭连接。
  4. 所以这3个步骤花费的时间更少,1分钟左右。

1 个答案:

答案 0 :(得分:0)

您可以使用DBMS_SCHEDULER package

exec DBMS_SCHEDULER.CREATE_JOB(
 'myjob',
 'PLSQL_BLOCK',
 'BEGIN do_something(); END;'
); 

请注意,显然您无法从作业返回查询结果。如果需要结果集,则需要将其写入文件(例如,使用UTL_FILE),外部表或常规数据库表。