Smart Large Objects Mystery?
Posted in 2016
Topics: Storage & Space Management
Informix 12.10
Solaris 10
I have been dealing with these things a lot, recently, and there is a lot
about them I don't understand.
However, I would ask about one thing in this post.
Situation: I had an sbspace that was nearly full. With some guidance from this
forum and Informix documentation, I created a new sbspace; used Mr. Renaut's
helpful query
"select tabname from systables a, syscolumns b, sysxtdtypes c
where a.tabid = b.tabid and
b.extended_id = c.extended_id
and (c.name = "clob" or c.name = "blob");"
to identify tables that contained sblobs, and then ran the SQL described in
the IBM Technote to move all the sblobs in all those tables from the old
(nearly full) sbspace to the new, larger sbspace.
These operations were successful.
However, the old sbspace is not empty. 'oncheck -pS' and 'oncheck -pe' reveal
many sblobs still remain in that sbspace. The usage declined from 96% to 8%,
but there are still sblobs remaining.
What I would like to do is to identify what those blasted things are. Like
what specific tables and columns reference them so I can figure out what they
are, and why my previous operations didn't move them (i.e., why they still
have reference counts >0).
Previous posters (in another thread) have suggested that some functions from
the "C" API could help with this. But, is there really no way to finesse it
out of command-line SQL?
After having identified all tables with blobs, and then moving to the new
sbspace (via LOCOPY) the sblobs from all rows and columns in those tables, I
really don't understand why there are any left in the original sbspace.
The frustrating thing is that, there appears to be no mechanism provided by
Informix to investigate this via SQL using system catalog, or sysmaster, or
Informix utilities, or interface functions (e.g., LOCOPY, etc.).
Is there really no way to figure this mystery out from the command line?
Thank you.
David Grove
Dave, did you run the query against ALL databases ? Mark