This entry was posted on Thursday, December 20th, 2007 at 9:01 pm and is filed under FAQ. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Why a Transaction Log space when logging is disabled?
Q: “I’m not using transaction logging, why do I need to designate a Transaction Log Space?”
A: One virtual space in each disjoint set of virtual spaces used in an application must be designated as the location for the Transaction Log (flagged as ‘TL’ in the Control Panel), even if transaction logging is disabled, since transactions may include objects in any of that disjoint set which are connected to the image in which the transaction exists, and the TL space co-ordinates these. If transaction logging is disabled then any space may be designated as the TL space, even if it contains application domain objects. However if logging is enabled the TL space may contain only the Transaction Log; VOSS enforces this and any transaction which attempts to commit objects into the TL space will be forced to rollback if logging is enabled.
For full data integrity in the event of random power failures etc, logging should be enabled and a separate virtual space created and designated at TL space, preferably located on a different disk drive.
Logging is enabled like this:
VOManagers logging: true.
VOManagers is a global variable holding the sole instance of VOManagerManager.
All virtual spaces connected to an image share the same TransactionLog since a transaction may include objects in any connected virtual space.
Leave a Reply
