Interesting Oracle techniques and investigations

Alberto Dell’Era has some very interesting Oracle techniques and investigations at:
http://www.adellera.it/

Particularly, his idea of using partition table exchange to replace all rows of a table may be the answer to race condition in MV complete refresh. Essentially, you build another table on the side, commit, and then partition exchange. This is probably the best of two MV refresh approaches as explained by Alberto

<quote>
The exchange table will make the new rows appear instantaneously (same effect of the commit in a conventional delete+insert+commit) and, most importantly, readers that are currently reading when the exchange is issued will keep reading the old version of the rows until the last fetch of the current statement (ie, the “multiversion read consistency” will be preserved).
</quote>

Until Oracle implements this type of MV refresh, I have to do it manually. No wonder, partition table exchange is all the rage and buzz in DW now.

Leave a comment