gluent / goe

GOE: a simple and flexible way to copy data from an Oracle Database to Google BigQuery.
Apache License 2.0
8 stars 2 forks source link

Current CELL_OFFLOAD_PROCESSING=FALSE transport setting should be refined #172

Closed nj1973 closed 4 months ago

nj1973 commented 5 months ago

Offload Transport

We added CELL_OFFLOAD_PROCESSING=FALSE in Offload Transport for Exadata systems due to Oracle bugs:

1) Incorrect rows returned via thin JDBC driver when using Smart scan and rowid ranges, we saw this on Oracle Exadata 12.1.0.2 and 11.2.0.4 (bug reference 18684802, fixed in 12.2.0.1) 2) ORA-7445 crash. Seen on Oracle Exadata 11.2.0.4 (bug 2386334 but we saw this on 11.2 and bug should be fixed in that version)

We should look at removing this for any versions where the bug is no longer relevant. This setting will really hamper PBO offloads or offloads that use ID ranging. Perhaps version 18 upwards is a safe threshold.

Data type sampling

We added CELL_OFFLOAD_PROCESSING=FALSE for data type sampling because Smart Scan mixed with a SAMPLE BLOCK clause on 11g Oracle performs really slowly. When we tested on Exadata 12.1 Smart Scan was not used regardless of any CELL_OFFLOAD_PROCESSING settings. Therefore we decided to disable Smart Scan explicitly.

In hindsight we should probably have only disabled it on 11g where we knew there was a problem.