Hi, I was wondering if the community could help my understanding of smart blob spaces.
Firstly, the problem I am actually trying to solve and why I am dabbling in this: a smart blob space (named cdr_qdata_sbspace) has been created on a primary instance to support enterprise replication and specified in the
CDR_QDATA_SBSPACE parameter. We do external backups on an RSS server and the existence of an unlogged sbspace stops us blocking the RSS server. I wish to fix this.
So I need to make the space logged, right?
My understanding is that it is not the space itself which is logged or not but it is a property of every object that may be in it. The space itself has a set of attributes which gets applied to objects when they are created, once of which is "LO_LOG".
Logging can be set as an attribute on the primary like so:
onspaces -ch cdr_qdata_sbspace -Df "LOGGING=ON"
or
EXECUTE FUNCTION task("set sbspace logging on","cdr_qdata_sbspace");
Doing this seems to update all the smart large objects to reflect the new status.
If I set this on the primary the property does not get replicated to the RSS. To my surprise I can also change the logging mode on the RSS independently of the primary. Once the property has got changed on the RSS I have fixed my problem: the space no longer prevents 'onmode -c block' working.
My questions are:
* is this how it is supposed to work?
* if I can alter the logging states, am I creating a potential problem when an object tries to replicate from primary to RSS and cannot be stored without overwriting something not present on the primary?
Ben.
------------------------------
Benjamin Thompson
------------------------------
#Informix