تكنيك هاي ترميم فاجعه ها در سيستم هاي پايگاه داده

استاد : جناب آقای دکتر رهگذر
تهيه کننده : کاوه پاشايی
شماره دانشجويی : ۸۱۰۱۸۳۰۲۱

مقدمه
گسترش استفاده از كامپيوتر باعث نفوذ كاربرد كامپيوتر در جنبه هاي مختلف زندگي انسان از جمله جنبه هاي حياتي مانند كنترل ترافيك هوايي ، كنترل خودكار خطوط دريايي ، مديريت نقطه فروش و حتي سرويس فروش بليط سينما شده است. داده هاي ذخيره شده در سيستم هاي كامپيوتري با ارزش ترين دارايي يك شركت است كه بايد به هر قيمت از آن محافظت كنند.

تكنيك هاي تحمل خطا براي افزايش قابليت در دسترس بودن سيستم و كاهش خرابي هاي ناشي از بروز خطا در اجزا گسترش يافتند.[۳] داده هاي حياتي درون حافظه پايدار ذخيره شده و كپي هاي اضافي براي ذخيره در حافظه هاي پايدار تهيه مي شوند اين روش ها مناسب است ولي در برابر رخ دادن يك حادثه ممكن است نا كارآمد باشد . از جمله اين حوادث مي توان به زلزله سال ۱۹۰۶ در سان فرانسيسكو اشاره كرد كه بيش از نيمي از شهر را ويران كرد .

رويه هاي وسيع تهيه پشتيبان براي محافظت داده ها در مقابل بروز يك حادثه گسترش يافتند كه از جمله آنها مي توان به رويه هاي تهيه پشتيبان به صورت پدر بزرگ – پدر – فرزند، تكنيك¬هاي رويدادنگاري افزايشي و متد نسخه¬برداري تصوير داده¬ها اشاره كرد.[۳] به علاوه، براي نگهداري در برابر از دست رفتن داده، سيستم بايد بتواند سرويس عادي خود را پس رخ دادن حادثه ارائه كند. بنابراين همراه با داده سخت افزار كامپيوتر نيز بايد جايگزين شوند.

تعريف ترميم
پايگاه¬داده¬ها بالقوه در معرض آسيب است. انواع نقص (عيب) و در نتيجه خرابي ممكن است در پايگاه¬داده-ها بروز كند. سيستم مديريت پايگاه¬داده¬ها بايد بتواند, در صورت بروز خرابي, پايگاه¬داده¬ها را ترميم و آسيبها و خسارات وارده بر آن را جبران كند. به عبارت ديگر مي¬توان بروز خرابي در سيستم را ناشي از بروز اشتباه در سيستم دانست كه خود اشتباه ناشي از ايجاد نقص در سيستم است.[۲]
به عبارت ساده ترميم يعني بازگرداندن پايگاه¬داده-ها به وضع سازگاري كه درست قبل از بروز خرابي داشت. به بيان ديگر به آخرين وضع سازگار, به گونه¬اي كه اثري از خرابي در آن نباشد.

سلسه مراتب خطا
خطاها انواع مختلفي داشته و در منابع مختلف دسته-بندي¬هاي متفاوتي براي آنها معرفي شده است.
از جمله مي¬توان خرابي¬ها را به دو دسته عمده خرابي سيستمي و خرابي رسانه¬اي تقسيم كرد. خرابي سيستمي سبب مي¬شود تا حداقل يك و معمولاً تمام تراكنش-هاي در حال اجرا در سيستم آسيب ببينند ولي داده¬هاي ذخيره شده در حافظه جانبي دچار خرابي نمي¬شوند. مثل خرابي ناشي از قطع جريان برق. برعكس خرابي¬هاي رسانه-اي سبب ايجاد خرابي در تمام يا قسمتي از داده¬هاي ذخيره شده در حافظه مانا مي¬شود و حداقل روي آن دسته از تراكنش¬هايي كه در حال استفاده از داده¬ها هستند تأثير مي¬گذارد.

بر اساس شدت سختي خطا از كم به زياد خطاها به چند دسته تقسيم مي شوند : زودگذر، Crash، رسانه¬اي، محلي، اپراتور و خطا هاي بدخواه.[۲]
خطاهاي گذرا آنهايي هستند كه موجب از دست رفتن پيغام ها در سيستم هاي مبتني بر شبكه مي¬شوند . پروتكل¬ها در لايه داده، لايه شبكه و لايه كاربرد مي-تواننند براي رفع و كنترل اين گونه خطاها طراحي شوند.

در هنگام رخ دادن يك خطا ي Crash تمام محتويات حافظه و نيز حالات برنامه موجود در پردازنده از بين مي¬روند. مكانيسم هاي استاندارد ترميم Crash مانند عمل نقطه¬وارسي روي يك حافظه پايدار مي¬توانند براي مديريت اين مساله اتخاذ شوند.

خطاهاي رسانه¬اي به نقص داده در روش¬هاي حافظه ماندگار مربوط مي شوند. براي مقابله با خطاهاي رسانه¬اي نسخه هاي پشتبان داده وابسته به موقعيت و فرصت بايد تهيه شود. اين رويه¬هاي توليد پشتيبان ممكن است دستي يا خودكار باشند. ممكن است روي نوارها، ديسك ها و يا كارتريج¬ها ذخيره شوند. واحد پشتيبان-گيري ممكن است يك نسخه¬برداري كامل پايگاه داده يا يك ركورد ثبت ساده باشد. پس از رخ دادن يك خطاي رسانه¬اي نسخه¬هاي پشتيبان بايد براي ترميم داده¬هاي از دست¬رفته بازيابي شوند.

خطاهاي سايت يا محلي تمام پردازنده هاي موجود در يك محل را تحت تاثير قرار مي¬دهند. اين نوع خطاها ممكن است يك مجموعه از ايستگاه¬هاي كاري در يك اتاق يا يك مجموعه در يك ساختمان را تحت تاثير قرار دهند.[۲] از آنجايي كه اين خطاها ماشين¬هايي در محدوده بزرگي را تحت تاثير قرار مي¬دهند اين خطا ها مي¬توانند اولين نوع خطاهايي باشند كه به حادثه يا فاجعه مشهور مي¬باشند. طرح¬ها و تسهيلات موجود ترميم فاجعه مي¬توانند براي تحمل خطاهاي سايت طراحي شوند. داده¬ها در حافظه-هاي پايدار و كارتريج¬هاي پشتيبان ممكن است جبران ناپذير باشند. جداسازي جغرافيايي سخت افزارهاي اضافي و داده¬ها مي تواند به ترميم اين گونه از حوادث كمك كند.

اعمال بشر باعث لايه بعدي از حوادث مي شوند. به عنوان مثال ممكن است شخصي به صورت تصادفي نسخه¬هاي جاري و پشتيبان را با هم اشتباه كرده و آخرين نتيجه نوشته شده را دوباره بنويسد. بر عكس خطاهاي محلي، مشخص كردن محدوده خطاهاي اپراتور و تشخيص داده¬هاي خوب از داده¬هاي بد كار ساده اي نمي¬باشد. رويه هاي ترميم معمولاً وقت¬گير هستند. خطاهاي اپراتور را مي¬توان بوسيله محدودسازي اختيارات كاربرهاي كم تجربه و تهيه حافظه¬هاي پشتيبان كافي به حداقل رساند.[۱]

بدترين نوع خطا، خطاهاي بدخواه يا رومي است كه مي¬توانند تمام قطعات اطلاعات را نابود سازند. يك نمونه از آنها ويروس كامپيوتري مثل Michelangelo است كه قادر است پردازنده¬هاي اوليه و پشتيبان ونيز نوارهاي پشتيبان را آلوده سازد. اين نمونه از خطاها مي¬توانند بوسيله وادارسازي پروتكل¬ها به توسعه خود بوسيله كنترل¬هاي ايمني بسيار سخت و تهيه تعداد نسخه¬هاي پشتيبان كافي كاهش داد.[۱]

معماري سيستم و طبقه بندي ترميم¬ها
معماري اصلي سيستمي كه ما در نظر مي¬گيريم شامل يك سايت اوليه و يك سايت پشتيبان است (شكل ۱). سايت اوليه ممكن است يك سيستم پايگاه¬داده درست يا يك واحد ديسك تنها را ارايه كند. در موارد گذشته، يك واحد پردازش يك كامپيوتر همه منظوره همراه با چندين ديسك و نوار است و در موارد اخير، يك واحد پرداش يك كنترل كننده ديسك است كه هيچگونه نواري در سايت ندارد. به موازات سايت اوليه، سايت پشتيبان نيز شامل واحد پردازش، ديسك و نوار است كه اطلاعات كافي در آن ذخيره مي¬شود تا در صورتي كه سايت اوليه از كار افتاد اطلاعات موجود در پشتيبان براي ترميم داده¬هاي از دست رفته در سايت اوليه مورد استفاده قرار گيرد. بنابراين پشتيبان فقط هنگام خطا مورد استفاده قرار مي گيرد.[۱]

شكل ۱

بسته به اينكه سايت پشتيبان چگونه عمل مي كند ما سيستم هاي قابل ترميم را به دو دسته ترميم داده و ترميم سرويس تقسيم مي¬كنيم. يك سيستم ترميم داده هنگامي كه يكي از اجزا سيستم از كار افتاد، فقط داده ها را ترميم يا به حالتي سازگار باز مي¬گرداند. سيستم ممكن است سرويس دهي خود را تا زمان تعمير اجزا متوقف كند. در سيستم ترميم سرويس, داده¬ها در حين ارايه سرويس¬ها پيوسته ترميم مي¬شوند. تقسيم بندي بالا در شكل ۲ به صورت روشن¬تري نمايش داده شده است.[۱]

ترميم داده به همزمان سازي داده، تكرار داده و خوشه¬بندي واحدهاي عمل تقسيم مي¬شود. همزمان سازي داده كه برقراري سازگاري بين داده و پشتيبان را شامل مي-شود به دو صورت بدون تاخير و با تاخير صورت مي¬گيرد. همزمان¬سازي بدون تاخير هنگامي كه سيستم اوليه در حال ارائه سرويس است صورت مي¬گيرد

در حالي كه همزمان سازي با تاخير هنگامي كه سيستم هاي اوليه داده¬ها را تغيير نمي¬دهند صورت مي¬پذيرد. به عنوان مثال يك پايگاه¬داده بانكداري پشتيبان سازي داده¬ها را در شب هنگامي كه تراكنش¬ها در حال پردازش نيستند انجام مي دهد. به صورت مشهور، نسخه¬هاي پشتيبان سيستم¬هاي دسته¬اي به وسيله يك متد با تاخير كه سايت¬هاي داغ ناميده مي-شوند صورت مي¬پذيرد.[۲] يك سايت پشتيبان عادي پايگاه-داده را بر اساس آخرين كپي پايگاه داده بايگاني شده و با استفاده از تغييرات فايل ثبت كه تا آن زمان به پايگاه داده اعمال شده اند دوباره سازي مي نمايد.

پشتيبان بدون تاخير از كپي¬هاي پايگاه¬داده به روز شده¬تر در تهيه نسخه پشتيبان استفاده مي¬كند. تغييرات در سايت اوليه براي انجام اعمال فوري در پايگاه¬داده پشتيبان به سايت پشتيبان تحويل داده مي¬شود. براي حذف هرگونه تفاوت در سايت¬هاي اوليه وپشتيبان، هر دو سايت واحدهاي عملياتي خود را در روشLok-step انجام مي¬دهند بدين معني كه هر عملياتي در سايت اوليه بايد با عمليات متناظر خود در سايت پشتيبان همزمان شود. اين روش هزينه ارتباط بالايي مي¬طلبد و نيز پرداش واحدهاي عملياتي در سايت اوليه پايين مي¬آورد. به عنوان يك مصالحه، سايت¬هاي اوليه و پشتيبان به صورت سستي با هم هم¬زمان مي¬شوند. سايت اوليه واحدهاي عملياتي را كه بايد اجرا شود به سايت پشتيبان مي¬فرستد ولي منتظر اجراي ‌آنها بوسيله سايت پشتبان نمي¬ماند. اين عمل باعث ايجاد اختلاف اندكي بين پايگاه داده اوليه و پشتيبان مي¬شود كه بسته به تاخير ارتباط و سرعت پردازش سايت¬ها متفاوت است.[۳]

شكل ۲ – تقسيم بندي سيستم هاي ترميم پذير

تكرار داده به دو صورت انفعالي و فعال تقسيم بندي مي¬شوند. در تكرار داده انفعالي، اقلام داده اي تكرار شده به ثانويه ها ارسال شده و بدون پرداش در وسايل حافظه سخت افزاري ذخيره مي شوند. در تكرار داده فعال ، اقلام داده تكرار شده به ثانويه ها ارسال شده و سپس برخي پروتكل هاي تكرار در ثانويه ها اجرا مي شوند۳

ريزدانه¬گي واحدهاي عمليات نيز بايد در سيستم هاي ترميم پايگاه داده در نظر گرفته شوند. برخي سيستم¬ها واحدهاي كوچكي از عمليات مانند خواندن و تغيير اجزاي داده را پشتيباني مي¬كنند. عمليات به صورت ضمني اتميك هستند. [۲]اين ايده براي سسيستم هاي پردازش تراكنش كه در آنها عمليات ها به صورت يك تراكنش گروه بندي مي شوند استفاده مي شود. اتميك بودن اجراي تراكنش تضمين مي شود: تمام عمليات يا بايد به طور كامل اجرا شوند يا اصلا نبايد اجرا شوند.

در سيستم¬هاي ترميم سرويس، پشتيبان, داده¬ها را پس از رخ دادن نقص در سايت اوليه ترميم كرده و سپس يك سايت اوليه جديد مي¬گيرند. پس از اينكه سايت اوليه اصلي ترميم شد، سايت ترميم شده يا به عنوان سايت اوليه به فعاليت خود ادامه مي¬دهد يا خود را به عنوان سايت پشتيبان معرفي مي¬كند. يك سيستم ترميم داده در صورتي كه اجزاي سخت افزاري تكرار شده كافي در سايت پشتيبان با مد خرابي غير وابسته داشته باشد مي تواند به يك سيستم ترميم سرويس ارتقا يابد.

اگر سايت پشتيبان يك سيستم ترميم سرويس قبل از گرفتن سايت اوليه جديد منتظر ترميم داده باشد ، كاربر مدت زيادي معطل خواهد شد. بنابراين بعضي از سيستم ها براي پذيرفتن سرويس جديد درخواست شده از سوي كاربر در حالي كه داده¬ها در حال ترميم هستند طراحي مي¬شوند. به سيستم با اين ويژگي سيستم بدون وقفه مي گويند.يك نمونه سيستم هاي بدون وقفه جفتي هستند.[۲]

روش تكرار داده انفعالي براي مقاومت در برابر خطاهاي گذرا، خطا هاي رسانه¬اي وCrash كردن پردازنده طراحي شده است. روش هاي عادي تكرار انفعالي شامل روش ديسك منعكس شده، RAID، ديسك منعكس شده دور و روش سايت اوليه است.

روش ديسك منعكس شده فقط يك خطاي رخ داده در ديسك ها را تحمل مي كند كه اين كار را با داشتن دو ديسك يكسان كه به صورت همزمان در سرتاسر يك كنترلر ديسك عادي تغيير مي يابند انجام مي دهد. هر كدام از ديسك-هاي در حال كار براي سرويس دهي به درخواست داده كافي مي باشند. اين سيستم ديسك بسيار گران بوده و در مقابل رخ دادن يك فاجعه (disaster) غير قابل ترميم است.[۱]

روش RAID يك گروه از G ديسك داده به اضافه يك ديسك توازن كه به كنترلر ديسك عادي متصل است مي باشد. بلاك توازن ، exclusive-or G بلاك داده¬ي متناظرش را ذخيره مي¬كند. خواندن يك بلاك داده از RAID به خواندن بلاك از يك ديسك داده مناسب برگردانده مي¬شود. نوشتن يك بلاك داده به ديسك شامل نوشتن بلاك داده به ديسك به علاوه تغيير بلاك توازن متناظر آن است. روش RAID مي تواند عمل خود را با وجود رخ دادن يك خرابي ديسك ادامه دهد. عمومي ترين روش RAID سطح ۵ ناميده مي¬شود. در اين روش بلاك¬هاي داده و بلاك¬هاي توازن بين ديسك¬هايي كه بار كار را به صورت مساوي پخش كرده و تنگراه¬ها به ديسك توازن را برداشته¬اند تقسيم مي¬شوند. هم ديسك منعكس شده و هم RAID در مقابل فجايع (disaster) قابل ترميم نيستند.

روش ديسك منعكس شده دور يك بسط از روش ديسك منعكس شده است. تغييرات به ديسك منعكس شده¬اي كه در سايتي دور در طول يك شبكه قرار دارند به صورت غير همزمان اعمال مي¬شوند. اين روش در مقابل حادثه¬اي كه در سايت اوليه رخ مي دهد قابل ترميم است هر چند كه داده¬هاي منتشر نشده به سايت دور از بين مي¬روند. روش ديسك منعكس شده دور مي¬تواند با استفاده از بيش از يك نسخه پشتيبان به روش سايت اوليه تعميم پيدا كند. تغييرات در سايت اوليه انجام شده و سپس به سايت ثانويه به صورت غير همزمان منتشر مي¬شوند. براي ترميم خطاي رخ داده شده در سايت اوليه، يكي از سايت¬هاي ثانويه به عنوان اوليه جديد انتخاب مي¬شود.

در روش تكرار داده فعال ، سايت¬هاي پشتيبان به اندازه کافي قدرت پردازشي و منابع مورد نياز براي تسهيم بار كاري سايت اوليه را دارا هستند. در روش توافق اكثريت ، يك عمل تنها وقتي كه اكثريت سايت ها با انجام آن موافق باشند قابل انجام است. بازده اين روش بالاتر است ولي هزينه عمل خواندن و نيز نوشتن متوسط است. توافق اكثريت مي تواند به روش توافق حد نصاب تعميم پيدا كند . به جاي گرفتن رضايت اكثريت سايت ها براي يك عمل خاص ، فقط رضايت يكسري سايت مرتبط كه به نام حد نصاب يا quorum هستند نياز است . پروتكل هاي توافق حد نصاب در سايز quorum ها ،overhead و تحمل پذيري خطا متفاوت هستند.

روش RAID توزيع شده تعميمي از روش RAID انفعالي به يك روش فعال است.سيستم شامل G+2 سايت است . G/G+2 از كل بلاك ها براي داده ها مورد استفاده قرار مي گيرد ، ۱/G+2 از كل بلاك ها براي ذخيره سازي parity و ۱/G+2 از كل بلاك ها براي ذخيره سازي به عنوان يدكي استفاده مي شوند. اين بلاك ها در سر تا سر G+2 سايت توزيع شده اند. در هر مورد يك خطاي رخ داده در ديسك يا هر مورد از يك خرابي رخ داده در يك سايت ، نوسازي داده هاي از بين رفته با استفاده از ديسك هاي در دسترس امكان پذير است . اطلاعات ساخته شده همچنين مي توانند در بلاك هاي يدكي در ديسك هاي موجود ذخيره شوند.[۱]

مانند پروتكل توافق حد نصاب ، روش RAID توزيع شده هزينه همزماني زياي بين تمام سايت هايي كه بخش هايي از داده تكرار شده را شامل مي شوند را بايد متحمل شود. برتري روش RAID توزيع شده به پروتكل توافق حد نصاب كم بودن ميزان افزونگي داده است ولي قبل از آن معايبي دارد كه از آن جمله الگوريتم هاي پيچيده تر قرار دادن داده و ترميم پذيري كمتر سايت ها در برابر خرابي هاست.

خوشه بندي واحد هاي عمليات مي تواند به دو صورت بر اساس عمليات و بر اساس تراكنش تقسيم شود.يك سيستم بر اساس عمليات ، عمليات هاي اتميك پايه مانند خواندن و نوشتن و نيز عمليات هاي سطح بالاتر مانند افزايش و en queue را پشتيباني مي كند. بسياري از اين سيستم ها مانند سيستم ديسك منعكس شده ، Lok-step هستند و واحد هاي حافظه در سايت هاي اوليه و پشتيبان با لينك هاي سرعت بالا كه معمولا با سنجش زمان ، همزمان هستند به يكديگر متصل هستند.هر تغييري در واحد حافظه اوليه بلافاصله به واحد حافظ پشتيبان اعمال مي شود.در سيستم هاي ديگر، لينك ها بين سايت ها سست تر و غير همزمان هستند.يك مورد از اين سيستم ها ، سيستم فايل توزيع يافته است كه تغييرات رخ داده در سرور اوليه كلا به صورت غيرهمزمان به سرور پشتيبان منتقل مي شوند.

سيستم هاي بر اساس تراكنش ، تراكنش هايي را پشتيباني مي كنند كه اجراي برنامه هايي را كه به اشياء پايگاه داده دسترسي مي يابند ، شامل مي شوند. پي در پي پذيري پذيرفته شده ترين معيار صحت در پردازش تراكنش هاست. يك جدول همزماني تراكنش هاي همروند زماني پي در پي پذير است كه معادل با يك جدول هزماني سريال اجراي آن تراكنش ها باشد .[۳]هنگامي كه يك تراكنش در سايت اوليه اجرا مي شود ، عمليات هاي تغيير به سايت پشتيبان منتشر مي شوند. كمترين انشعاب به بهترين تلاش صرف شده در نگهداري پشتيباني كه شامل بيشترين تغييرات قانوني ممكن است اشاره دارد. اين عمل معمولا با حداقل كردن تفاوت بين تراكنش هاي سايت هاي اوليه و پشتيبان حاصل مي شود.

سيستم هاي ۱- ايمن و ۲- ايمن سطوح مختلفي از انشعاب را پشتيباني مي كنند. يك سيستم پردازش تراكنش زماني ۲- ايمن است كه تمام تراكنش ها موجود در سيستم اتميك باشند : چه تراكنش هايي كه تغييرات شان به سايت هاي اوليه و پشتيبان منعكس مي شود و چه تراكنش هايي كه در هيچ يك از اين سايت ها اجرا نمي شوند. با در نظر گرفتن سايت پشتيبان به عنوان بخشي از تراكنش هاي تويع شده ، پروتكل تثبيت دو فازي ممكن است براي پياده سازي سيستم ۲- ايمن مورد استفاده قرار گيرد. ولي حداقل يك تاخير round-trip اوليه – پشتيبان در تثبيت شدن تراكنش ها اجتناب نا پذير است. اين تاخير طولاني تراكنش ها را وادار مي سازد كه قفل خود را به مدت طولاني تري نگهداري كنند و در نتيجه درگيري افزايش و توان عملياتي كاهش مي يابد.

براي اجتناب از اين مساله ، اكثر سيستم ها يك روش ۱- ايمن را اتخاذ مي كنند كه در آن به تراكنش ها اجازه داده مي شود قبل از اينكه تغييرات به پشتيبان منتشر شوند تثبيت شده و قفل خود را آزاد كنند. بنابراين تاخير ارتباطي در تثبيت شدن وجود ندارد ولي اگر خطا قبل از انتشار يك تراكنش به پشتيبان رخ دهد ممكن است تراكنش تثبيت شده در سايت اوليه از بين رود. با اين وجود ، روش بالا به عنوان يك روش به اندازه كافي خوب براي سيستم هاي عملي در نظر گرفته مي شود.[۳] براي بدست آوردن حداقل انشعاب در اين روش نياز است كه تراكنش هاي از بين رفته در طول رخ دادن يك خطا در سايت اوليه به صورت مينيمم نگهداري شود.

تقريبا تمام محصولات بازرگاني از يك روش ۱- ايمني به منظور كارايي استفاده مي كنند ولي در عين حال روش ۲- ايمني را براي تراكنش هاي بحراني و با ارزش پشتيباني مي كنند.
عمليات هاي تغيير در سايت اوليه معمولا در يك ركورد ذخيره شده و به صورت دوره اي به سايت پشتيبان فرستاده مي شوند. ركورد هاي ثبت معمولا به همان ترتيبي كه در فایل ثبت, ثبت شده اند به سايت پشتيبان منتشر مي شوند.

رکوردهای ثبت بر اساس سطح اطلاعاتي كه ذخيره مي كنند مي توانند به سه دسته مختلف تقسيم بندي شوند. رکوردهای ثبت, سطح تراكنش، نوع تراكنش و تمام ورودي ها كاربر را ذخيره كرده و به اين ترتيب مي توانند در سايت پشتبان دوباره اجرا شوند.از آنجايي كه نيازي نيست كه پشتيبان بدون تاخير باشد و نيز حجم اطلاعات مورد نياز براي ذخيره نسبتا پايين است ، اين نوع log ها براي سيستم هاي ترميم داده مناسب هستند.[۱]

رکوردهای ثبت سطح عمليات ، نوع عمليات ، شاخصه شئ داده و مقدار جديد شئ داده را ذخيره مي كنند.اين ساختار ثبت كه شبيه ساختارهاي مورد استفاده براي مقابله با خرابي¬هاي crash و بي¬نتيجه ماندن تراكنش هاست به مينيمم سازي هزينه توليد فایل ثبت در ترميم فاجعه كمك مي¬كند.
هر ركورد ثبت سطح فيزيكي يا I/O شامل تصوير يا آدرسي از صفحه يا بلاك مربوط به دستيابي ديسك است .پشتيبان نياز دارد كه تصاوير بدون پردازش درون ديسك ذخيره شوند.هر چند توان محاسباتي در سايت پشتيبان بايد حداقل باشد ولي از آنجا كه هر تغيير ويژگي شئ ممكن است نيازمند انتقال يك بلاك باشد ، حجم نسبتا عظيمي از اطلاعات بايد منتقل شوند.

در رويه هاي ترميم crash تقليدي ، سيستم گاهي اوقات بر اينكه سايت اوليه ركوردهاي ثبت خاصي را با سايت پشتيبان تراز كند اصرار مي ورزند. تراز ركورد هاي ثبت و نصب تغييرات در سايت پشتيبان بايد به دقت با عمليات در سايت اوليه هماهنگ باشد به طوري كه پايگاه داده پشتيبان با پايگاه داده اوليه سازگار باشد.

طراحي ترميم فجايع (disaster recovery)

ترميم فاجعه شامل جنبه¬هاي انساني به همراه جنبه-هاي سيستم است. ما جنبه¬هاي سيستم مانند صحت نيازمندي¬هايي كه بوسيله سيستم پس از اجراي رويه¬هاي ترميم فاجعه تضمين مي¬شود و انواع مقدماتي كه بايد براي سيستم جهت نگهداري اطلاعات مورد نياز براي ترميم فراهم شود را مورد بررسي قرار مي¬دهيم.

به علاوه ترميم يك حادثه چه در سطح عمليات (به صورت خودكار) و چه در سطح مديريت (به صورت غير خودكار) بايد تحت نظارت انسان انجام شده و يك زنجيره از دستورات ايجاد شود. تيم ترميم فاجعه بايد جهت توليد طرح ترميم شكل بگيرد. تيم بايد ابتدا مركز پردازش داده شامل پيكربندي سخت¬افزار و نرم¬افزار و محيط سيستم، ورودي و خروجي داده، تقسيم¬بندي كارها به كارهاي بحراني و غير بحراني ، رويه پشتيبان پايگاه داده و طرح هاي ترميم فاجعه موجود را مورد بررسي قرار مي دهد.پيكربندي براي سيستم بهبود پذير در برابر حادثه معرفي شده و پشتيبان پايگاه داده و رويه هاي حافظه off-site به وجود مي¬آيند. طراحي سايت پشتيبان و توانايي هاي آن بازبيني و پياده سازي شده و در پايان طرح ترميم تست مي شود. جزئيات طرح ترميم بستگي به حمايت هاي سيستم دارد.[۲]

اغلب سيستم هاي پايگاه داده تجاري عمومي مانند Sybase , Oracle , DB2 پشتيباني¬هاي کاملي از ترميم فاجعه فراهم نمي آورند. Sysbase گزينه هايي براي تحمل خطا و بهبود توانايي سيستم فراهم مي آورد از جمله پشتيباني هاي چند پردازنده مناسب ، سرورهاي همنشين ، ابزار منعكس شده ، سرورهاي هدايت كننده . به علاوه براي پشتيباني ترميم crash به پايگاه داده اجازه مي دهد كه پشتيبان تهيه كند و Checkpoint ايجاد كند. هم سرور هاي هم نشين و هم ابزار هاي منعكس شده در فرايند ترميم شركت مي كنند. يك سرور همنشين با روشي مشابه روش سرور اوليه / پشتيبان در مقابل خطاي پردازنده مقاومت مي كند. هنگامي كه سايت اوليه خراب مي شود تراكنش هاي تثبيت نشده قبل از اينكه توسط همنشين گرفته شوند بازگردانده مي شوند.

شيوه منعكس شده يك بسط از ديسك است كه براي مقابله با خطا هاي سخت افزاري بوجود آمده اند. داده ها تكرار شده و در اوليه و انعكاس آن به صورت شفافي ذخيره مي شوند. براي حمايت از ترميم فاجعه ، ناظر سيستم بايد طرح ترميم فاجعه را تهيه و رويه هاي پشتيبان پايگاه داده ، حافظه و بازيابي را راه اندازي كند .