Can You Tell When a Rollback Will Finish?

preview_player
Показать описание
I start a delete on a 100,000,000 row, 170GB table, kill it, and show how you can't really tell what it's up to once the rollback starts.
Рекомендации по теме
Комментарии
Автор

I once asked a forum, as a joke, "How do I ROLLBACK a COMMIT?" I was amazed how many of the giant SQL minds took it as a serious challenge and came up with ideas for what might work.

xShibboleth
Автор

Thanks so much for this Brent. Not entirely happy to be mentioned by name, but we are going to sit tight and watch as this isn't killing us just now.


The reason I killed the transaction was running out of log space and I wanted to stop further growth in the log file size! That worked really well (not).


I killed the session after about 8-12 hours and it's still running! Will update this question on Stackoverflow with the time and action to recover.

davidwoakes
Автор

Hey Brent, after 2 years, do you have any insight if this bug was taken care of?

George-izce
Автор

Isn't the FAST RECOVERY option a bit like UNDO Tablespaces in Oracle ?

HYBRIS
Автор

How about "select * into tblNew From tblOld where clause", create indexes and all that on the new table, . then rename name old and new accordingly, and when everything looks good, drop the old table?
Or, same select, but instead of renaming to purge the old table and insert/select back into the table?
I'm trying to learn.

ekhaat