我有一个Oracle数据库表,其中有一些记录,应由2个应用程序实例提取,以对数据执行某些操作。两个实例将同时查询同一个表。如何确保2个实例不会获取相同的记录。
我试图通过它来实现高可用性解决方案,因此如果1个实例失败,其他将继续工作。
答案 0 :(得分:0)
提供有关提取行的信息。例如,您可以在某些进程之间使用update分配行(在获取任何进程的数据之前设置进程号)。您也可以通过某些条件使用update子句。
答案 1 :(得分:0)
我必须承认我还没有(还)测试过这个,但是做了类似的事情:
select blah..
from table
for update of ...
skip locked rows