Circulation logger: z309 not written because tablespace for Oracle index is full
- Article Type: General
- Product: Aleph
- Product Version: 18.01
Our staff noticed yesterday that not all recent transactions are appearing in the circulation log. In particular, things that were loaned in the past few days are not there. (I could not remember for sure whether an active loan appears in the log before it is overdue, returned, etc...). Then we found today an item that was both loaned and returned yesterday, with no activity in the circulation log (item key 000733717000020). But you can see in loan history that this loan/return did happen.
I found Oracle had run short on tablespace for TS2X. I corrected this problem, and then rebuilt indexes for Z309.
Does Oracle not write any data to the table in TS2D if there is no space in TS2X for the indexes? It seems that can't be completely true, since I do see some activity in Z309 over the past few days. (The tablespace problem started about 2 weeks ago. )
Data components of Aleph Oracle tables are typically written with 10% freespace and the index components with 5%. This is the case with the z309 table.
When an update encounters a no-space condition in writing to a tablespace -- because the freespace in that extent has been filled in and there is no room for the tablespace to get additional space, you will get the "Failed to allocate an extent" message. But at the same time there can be other record ranges where there *is* still freespace and records will continue to be successfully written to those ranges.
I believe that is what happened in the case you describe.
I have it on good authority that, when the updating of an Oracle index fails, the updating of the underlying table also fails (is backed out).
- Article last edited: 10/8/2013