数据库加载批处理作业Java



使用Java编写批处理作业,每隔几分钟截断Oracle数据库中的某个表,然后加载。根据表格中的数据在网页上生成报告。当数据加载过程发生时,我想知道一种不影响报告查询部分的好方法,以便用户最终不会得到一些和/或没有数据。

如果您在单个事务中处理所有SQL语句,那么从外部总是可以看到一个有效状态。注意,TRUNCATE在事务中不起作用,因此必须使用DELETE。虽然这保证了表中总是有合理的数据,但它需要更大的回滚段,并且会相当慢。

你可以有2个表和一个元表,元表跟踪哪个表是用于查询的主表。批处理作业将截断并加载其中一个表,一旦加载完成,就可以切换主表。这样查询应用程序就能获取最近的数据然后你就可以在另一个表中加载了

我要做的是在DB表中设置一个标志,表明更新正在进行中,并让报告查找该标志并显示适当的消息,等待更新完成。更新完成后清除标志

最新更新