03.03.2016 13:42, Dimitry Sibiryakov wrote:
> 03.03.2016 12:29, Vlad Khorsun wrote:
>>>       How will be enforced consistency between tablespaces? How to detect 
>>> and handle cases if
>>>> tablespace file is lost or is older/newer that main file?
>>      I'm afraid it will require some mark (GUID ?) stored in both tablespace 
>> (at header page ?)
>> and system dictionary (RDB$TABLESPACES ?). It will be renewed at database 
>> shutdown (last
>> disconnect) before closing of tablespace file. Mark should not be changed if 
>> there was no
>> changes in tablespace data, btw. Mark should be preserved by physical 
>> backup\restore of
>> tablespace. There should be special (emergency) way to attach tablespace 
>> with invalid mark,
>> probably in read-only mode...
>
>     Inconsistency is most likely after sudden death. In this case the mark 
> won't be
> written.

   With version mark we could set boolean flag "closed correctly". It will be 
set to "false" on
first change of tablespace data and set to "true" when file is closing

> May be transaction counters in each header written on each commit that change 
> the
> tablespace can work better?

   This will create crazy overhead

Vlad


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to