Is there a limit on query time for an Oracle linked server?
The problem turned out to be on the Oracle side:

Tue Oct 18 05:41:17 2016
ORA-01555 caused by SQL statement below (Query Duration=30945 sec, SCN: 0x0aee.4682f3e7):
Tue Oct 18 05:41:17 2016


It's the classic 'Snapshot too old' issue with a long-running transaction and MVCC.