Smart Blob without Logging
Posted in 2012
Topics: Storage & Space Management, Logging & Checkpoints, Platform-Specific Issues
Hi all, We have to migrate a large amount of data from byte columns to blob columns (in a smartblob space). Source system is IDS 11.10FC3, destination is 11.70FC4. Both on Linux boxes (Debian). Now my question: The old blobspaces (for the byte columns) do not have a concept for logging or no logging. But smartblobs do have a concept for logging. We noticed in some tries that even when the database is in mode no logging, we get long transactions when inserting the blob values. So, is it possible modify a smartblob to no logging just for initial loading the data and then converting it back to logging mode ? (and then perform a full backup of course). And: when I would leave the smartblob to no logging state, will I be able to recover the smartblob in case of a failure with a Level 0 restore and then Logical log recovery ? Thank you for your opinion, Marcus Haarmann
When you create the smart blob space to handle the smart blobs you can indicated that this sbspace is either logged or non-logged. I think this can be modified after creating the smart blob space, but you can check the manual for this. John F. Miller III STSM, Embedability Architect miller3@us.ibm.com 503-578-5645 IBM Informix Dynamic Server (IDS) ids-bounces@iiug.org wrote on 05/10/2012 03:18:59 AM: > From: "Marcus Haarmann" <marcus.haarmann@midoco.de> > To: ids@iiug.org > Date: 05/10/2012 03:19 AM > Subject: Smart Blob without Logging [27112] > Sent by: ids-bounces@iiug.org > > Hi all, > > We have to migrate a large amount of data from byte columns to blob columns > (in a smartblob space). > Source system is IDS 11.10FC3, destination is 11.70FC4. Both on Linux boxes > (Debian). > Now my question: > The old blobspaces (for the byte columns) do not have a concept for > logging or > no logging. > But smartblobs do have a concept for logging. > > We noticed in some tries that even when the database is in mode no > logging, we > get long transactions > when inserting the blob values. > So, is it possible modify a smartblob to no logging just for initial loading > the data and then converting it back to > logging mode ? (and then perform a full backup of course). > > And: when I would leave the smartblob to no logging state, will I be able to > recover the smartblob in case of a failure > with a Level 0 restore and then Logical log recovery ? > > Thank you for your opinion, > > Marcus Haarmann > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. >
You can define the logging at the dbspace level and at the table level. Problem is that once you INSERT a sblob without logging it will be non-logging forever... This can be changed using a datablade API function... I'd need to review a few bits but it's not hard to do... There is a public available datablade or bladelet that can extrat information for a sblob (lenght etc.). It can also tell you if a specific sblob has logging or not. Creating a function to change it (SPL wrapper around the datablade API or around another C wrapper) is relatively easy... but again I'd need to check this... Regards. On Thu, May 10, 2012 at 12:41 PM, John Miller iii <miller3@us.ibm.com>wrote: > When you create the smart blob space to handle the smart blobs you can > indicated that this sbspace is either logged or non-logged. I think this > can be modified after creating the smart blob space, but you can check > the manual for this. > > John F. Miller III > STSM, Embedability Architect > miller3@us.ibm.com > 503-578-5645 > IBM Informix Dynamic Server (IDS) > > ids-bounces@iiug.org wrote on 05/10/2012 03:18:59 AM: > > > From: "Marcus Haarmann" <marcus.haarmann@midoco.de> > > To: ids@iiug.org > > Date: 05/10/2012 03:19 AM > > Subject: Smart Blob without Logging [27112] > > Sent by: ids-bounces@iiug.org > > > > Hi all, > > > > We have to migrate a large amount of data from byte columns to blob > columns > > (in a smartblob space). > > Source system is IDS 11.10FC3, destination is 11.70FC4. Both on Linux > boxes > > (Debian). > > Now my question: > > The old blobspaces (for the byte columns) do not have a concept for > > logging or > > no logging. > > But smartblobs do have a concept for logging. > > > > We noticed in some tries that even when the database is in mode no > > logging, we > > get long transactions > > when inserting the blob values. > > So, is it possible modify a smartblob to no logging just for initial > loading > > the data and then converting it back to > > logging mode ? (and then perform a full backup of course). > > > > And: when I would leave the smartblob to no logging state, will I be able > to > > recover the smartblob in case of a failure > > with a Level 0 restore and then Logical log recovery ? > > > > Thank you for your opinion, > > > > Marcus Haarmann > > > > > > > > > ******************************************************************************* > > > Forum Note: Use "Reply" to post a response in the discussion forum. > > > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > -- Fernando Nunes Portugal http://informix-technology.blogspot.com My email works... but I don't check it frequently... --002354790f5c78c5cb04bfae1d3b
Smart Blobs can be either logged or non-logged. The metadata for the s=
mart
blob is always logged. The metadata contains information about the sma=
rt
blob object such as extents and reference counts.
When you create the smart blob space, you can specify the default loggi=
ng
behavior. This is done by using the -Df option of onspaces.
(onspaces..... -Df "LOGGING=3Doff" or "LOGGING=3Don"
You can override the default logging mode of the smart blob object by u=
sing
ifx_lo_alter(), but I would suggest that for consistency reasons that a=
ll
smart blob objects within a given smart blob space use the same logging=
modes.
In all cases, however, the metadata for the smart blob object is logged=
,
even if the object itself is not.
M.P.
From: "Marcus Haarmann" <marcus.haarmann@midoco.de>
To: ids@iiug.org,
Date: 05/10/2012 05:19 AM
Subject: Smart Blob without Logging [27112]
Sent by: ids-bounces@iiug.org
Hi all,
We have to migrate a large amount of data from byte columns to blob col=
umns
(in a smartblob space).
Source system is IDS 11.10FC3, destination is 11.70FC4. Both on Linux b=
oxes
(Debian).
Now my question:
The old blobspaces (for the byte columns) do not have a concept for log=
ging
or
no logging.
But smartblobs do have a concept for logging.
We noticed in some tries that even when the database is in mode no logg=
ing,
we
get long transactions
when inserting the blob values.
So, is it possible modify a smartblob to no logging just for initial
loading
the data and then converting it back to
logging mode ? (and then perform a full backup of course).
And: when I would leave the smartblob to no logging state, will I be ab=
le
to
recover the smartblob in case of a failure
with a Level 0 restore and then Logical log recovery ?
Thank you for your opinion,
Marcus Haarmann
***********************************************************************=
********
Forum Note: Use "Reply" to post a response in the discussion forum.
=