Since I get a chance to study Oracle about every six months or a year, I keep forgetting things that I've either figured out or read in books. This page will hopefully help me keep specific problems and their fixes documented so I can look them up.
| Symptom/Error
| Cause
| Fix
|
| ORA-1555: snapshot too old (rollback segment too small)
| The scenario outlines a long running batch query running against a database that is actively being manipulated. Once the data manipulation starts, any modified rows get sent to a rollback segment. Now, if a long running batch query starts, it'll use the rollback segments to get the read consistent view of the database. Once the data manipulation command is finished, those rollback extents are marked as usable. Should the extents be reused before the batch query is finished, it will fail because data that it's relying on is no longer there. T
|
- Add more space to rollback segments
- Schedule long running queries for other times
- Up the optimal setting for the rollback segment.
|
| RBS Segs won't come up online when dbase starts.
| Databases keep track of which private RBS segments to start in the init.ora file.
| Update the init${SID}.ora file to reflect private rollback segments.
|
| ORA-00054: resource busy and acquire with NOWAIT specified
| One cause, at least, is you're trying to alter/drop a table when someone is busy updating the thing.
| Run show_locks.sql, then beat the miscreant into submission (or kill his session....)
|
|
|
|
|