I have been load testing an application and when I logged into the enterprise console I noticed that my UNDOTBS table space is full.
I know that the UNDOTBS table space is used to keep a copy of data that exists before a transaction starts. I thought that this data would be transient and expire once a transaction completes/rolls back?
Do I simply delete the table space, expand it, or is there a way of purging it?
UPDATE: The db has had no activity overnight. Can someone explain why oracle still needs this data?
Leave it. That’s how it’s supposed to be. Oracle will manage and re-use it as necessary.
Response to update:
THe UNDOTBS doesn’t behave like other tablespaces… the data is left in there and marked as unused when it’s no longer needed rather than being explicitly deleted.
You generally don’t need to worry about it unless you’re doing pretty sizeable DML and start getting errors, at which time you can look at increasing the UNDOTBS size, lowering your undo retention etc.