[cx-oracle-users] cursor.execute() stays blocked on a weird statement without propagating ORA-01652
Brought to you by:
atuining
From: ConcreteVitamin <con...@gm...> - 2021-05-02 05:46:04
|
Hi there, I've a weird statement that's pretty expensive. Entering this SQL statement in sqlplus eventually leads to this error: ERROR at line 1: ORA-01652: unable to extend temp segment by 128 in tablespace TEMP This is expected & good. However, using cx_Oracle, specifically using cursor.execute(same_statement) would result in the same amount of work being done, and at some point the CPU utilization on the server stopped -- which meant ORA-01652 has happened -- but the cursor.execute(...) call stays blocked without raising an exception. This makes the app stay in a stuck state. At that point it doesn't respond to Ctrl-C SIGINT. I've tried export DPI_DEBUG_LEVEL=64 and there are no messages being printed. What's wrong? Is it possible to enable an exception to be raised? Server: 19c [where sqlplus was run] cx_Oracle: 8.1 [different host from the server; using same DSN as sqlplus] Thanks. |