我有一个大量加载的数据库。当我打开连接并触发工作/查询时,它需要大量时间完成(超过15分钟)。在那个时间之前,我与数据库的联系开放,但是超时和其他问题发生在10分钟后。
有什么方法可以从Java或其他东西触发Oracle的工作:
- 我打开连接。
- 我触发了"某物"。
- 我关闭连接。
使这3个步骤花费更少的时间,1分钟左右。
您可以使用DBMS_SCHEDULER
软件包:
exec DBMS_SCHEDULER.CREATE_JOB(
'myjob',
'PLSQL_BLOCK',
'BEGIN do_something(); END;'
);
请注意,显然您无法从作业返回查询结果。如果需要结果集,则需要将其写入文件(例如使用UTL_FILE),外部表或常规数据库表。