![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
i try to distribute SQL data objects - stored in a TABLE OF <SQL object-Type> - to MULTIPLE (parallel) instances of a table function, by passing a select CURSOR(...) to the table function, which selects from the SQL TABLE OF storage via "select * from TABLE(CAST(<storage> as <storage-type>)". But oracle always only starts a single table function instance :-( - whatever hints i provide or setting i use for the parallel table function (parallel_enable ...) Could it be, that this is due to the fact, that my data are not globally available, but only in the main thread data? Can someone confirm, that it's NOT possible to start multiple parallel table functions for selecting on SQL data type TABLE OF <object storages? (It will take some time to create an example for that - but might be necessary to post such here. Let me try without first). - thanks! rgds, Frank |
#3
| |||
| |||
|
|
"Frank Bergemann" <FBergem... (AT) web (DOT) de> a écrit dans le message de news: 25996c2b-6765-4781-ac87-f581ba705... (AT) k16g2000yqm (DOT) googlegroups.com... |i try to distribute SQL data objects - stored in a TABLE OF <SQL | object-Type> - to MULTIPLE (parallel) instances of a table function, | by passing a select CURSOR(...) to the table function, which selects | from the *SQL TABLE OF storage *via "select * from | TABLE(CAST(<storage> as <storage-type>)". | | But oracle always only starts a single table function instance :-( - | whatever hints i provide or setting i use for the parallel table | function (parallel_enable ...) | | Could it be, that this is due to the fact, that my data are not | globally available, but only in the main thread data? | Can someone confirm, that it's NOT possible to start multiple parallel | table functions for selecting on SQL data type TABLE OF <object | storages? | | (It will take some time to create an example for that - but might be | necessary to post such here. Let me try without first). | | - thanks! | | rgds, | Frank Waiting for your example/test case... Regards Michel |
|
| ', c = ' || list(i).c); end loop; |
#4
| |||
| |||
|
|
"Frank Bergemann" <FBergem... (AT) web (DOT) de> a écrit dans le message de news: 25996c2b-6765-4781-ac87-f581ba705... (AT) k16g2000yqm (DOT) googlegroups.com... |i try to distribute SQL data objects - stored in a TABLE OF <SQL | object-Type> - to MULTIPLE (parallel) instances of a table function, | by passing a select CURSOR(...) to the table function, which selects | from the *SQL TABLE OF storage *via "select * from | TABLE(CAST(<storage> as <storage-type>)". | | But oracle always only starts a single table function instance :-( - | whatever hints i provide or setting i use for the parallel table | function (parallel_enable ...) | | Could it be, that this is due to the fact, that my data are not | globally available, but only in the main thread data? | Can someone confirm, that it's NOT possible to start multiple parallel | table functions for selecting on SQL data type TABLE OF <object | storages? | | (It will take some time to create an example for that - but might be | necessary to post such here. Let me try without first). | | - thanks! | | rgds, | Frank Waiting for your example/test case... Regards Michel |
#5
| |||
| |||
|
|
i try to distribute SQL data objects - stored in a TABLE OF <SQL object-Type> - to MULTIPLE (parallel) instances of a table function, by passing a select CURSOR(...) to the table function, which selects from the *SQL TABLE OF storage *via "select * from TABLE(CAST(<storage> as <storage-type>)". Could it be, that this is due to the fact, that my data are not globally available, but only in the main thread data? Can someone confirm, that it's NOT possible to start multiple parallel table functions for selecting on SQL data type TABLE OF <object storages? |
#6
| |||
| |||
|
|
On Jun 8, 9:00*am, Frank Bergemann <FBergem... (AT) web (DOT) de> wrote: i try to distribute SQL data objects - stored in a TABLE OF <SQL object-Type> - to MULTIPLE (parallel) instances of a table function, by passing a select CURSOR(...) to the table function, which selects from the *SQL TABLE OF storage *via "select * from TABLE(CAST(<storage> as <storage-type>)". Could it be, that this is due to the fact, that my data are not globally available, but only in the main thread data? Can someone confirm, that it's NOT possible to start multiple parallel table functions for selecting on SQL data type TABLE OF <object storages? It is very likely that Oracle requires a "parallelized" source for the parallel_enabled table function to be executed in parallel, so a "serial" to "parallel" distribution is probably not supported out of the box in such a case. I have kind of a deja-vu - haven't we discussed a similar issue raised by you not too long ago on this list? Hope this helps, Randolf Oracle related stuff blog:http://oracle-randolf.blogspot.com/ Co-author of the "OakTable Expert Oracle Practices" book:http://www.apress.com/book/view/1430...Administration... |
#7
| |||
| |||
|
|
On Jun 8, 9:00*am, Frank Bergemann <FBergem... (AT) web (DOT) de> wrote: i try to distribute SQL data objects - stored in a TABLE OF <SQL object-Type> - to MULTIPLE (parallel) instances of a table function, by passing a select CURSOR(...) to the table function, which selects from the *SQL TABLE OF storage *via "select * from TABLE(CAST(<storage> as <storage-type>)". Could it be, that this is due to the fact, that my data are not globally available, but only in the main thread data? Can someone confirm, that it's NOT possible to start multiple parallel table functions for selecting on SQL data type TABLE OF <object storages? It is very likely that Oracle requires a "parallelized" source for the parallel_enabled table function to be executed in parallel, so a "serial" to "parallel" distribution is probably not supported out of the box in such a case. I have kind of a deja-vu - haven't we discussed a similar issue raised by you not too long ago on this list? Hope this helps, Randolf Oracle related stuff blog:http://oracle-randolf.blogspot.com/ Co-author of the "OakTable Expert Oracle Practices" book:http://www.apress.com/book/view/1430...Administration... |
#8
| |||
| |||
|
|
Pls. see my 'sqlplus' example for entry #4 of this thread. |
|
This then resulted in delay for starting up the worker sessions (i didn't find a way to get rid of this). |
|
But: i also need to do an update of the primary driving data! So the stage #1 select is a 'select ... for update ...'. But you can't use such in CURSOR for table functions (which i can understand, why it's not possible). So i have to do my stage #1 selection in two steps: |
![]() |
| Thread Tools | |
| Display Modes | |
| |