میهن داکیومنت بزرگترین مرجع و مرکز دانلود پایان نامه (متن کامل فرمت ورد) فروش پایان نامه - خرید پایان نامه (کاردانی ، کارشناسی)همه رشته ها
حقوق اقتصاد مدیریت روانشناسی ریاضی تربیت بدنی کامپیوتر نرم افزار و سخت افزار عمران معماری برق صنایع غذایی علوم اجتماعی هنر علوم سیاسی فیزیک مکانیک حسابداری

تبلیغات کلیکی - افزایش رتبه گوگل

اگهی رایگان

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


کد محصول : 1000860 نوع فایل : word تعداد صفحات : 15 صفحه قیمت محصول : 1000 تومان تعداد بازدید 932

فهرست مطالب و صفحات نخست


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

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

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


سلسه مراتب خطا
خطاها انواع مختلفي داشته و در منابع مختلف دسته-بندي¬هاي متفاوتي براي آنها معرفي شده است.
از جمله مي¬توان خرابي¬ها را به دو دسته عمده خرابي سيستمي و خرابي رسانه¬اي تقسيم كرد. خرابي سيستمي سبب مي¬شود تا حداقل يك و معمولاً تمام تراكنش-هاي در حال اجرا در سيستم آسيب ببينند ولي داده¬هاي ذخيره شده در حافظه جانبي دچار خرابي نمي¬شوند. مثل خرابي ناشي از قطع جريان برق. برعكس خرابي¬هاي رسانه-اي سبب ايجاد خرابي در تمام يا قسمتي از داده¬هاي ذخيره شده در حافظه مانا مي¬شود و حداقل روي آن دسته از تراكنش¬هايي كه در حال استفاده از داده¬ها هستند تأثير مي¬گذارد.
بر اساس شدت سختي خطا از كم به زياد خطاها به چند دسته تقسيم مي شوند : زودگذر، Crash، رسانه¬اي، محلي، اپراتور و خطا هاي بدخواه.[2]
خطاهاي گذرا آنهايي هستند كه موجب از دست رفتن پيغام ها در سيستم هاي مبتني بر شبكه مي¬شوند . پروتكل¬ها در لايه داده، لايه شبكه و لايه كاربرد مي-تواننند براي رفع و كنترل اين گونه خطاها طراحي شوند.
در هنگام رخ دادن يك خطا ي Crash  تمام محتويات حافظه و نيز حالات برنامه موجود در پردازنده از بين مي¬روند. مكانيسم هاي استاندارد ترميم Crash  مانند عمل نقطه¬وارسي روي يك حافظه پايدار مي¬توانند براي مديريت اين مساله اتخاذ شوند.
خطاهاي رسانه¬اي به نقص داده در روش¬هاي حافظه ماندگار مربوط مي شوند. براي مقابله با خطاهاي رسانه¬اي نسخه هاي پشتبان داده وابسته به موقعيت و فرصت بايد تهيه شود. اين رويه¬هاي توليد پشتيبان ممكن است دستي يا خودكار باشند. ممكن است روي نوارها، ديسك ها و يا كارتريج¬ها ذخيره شوند. واحد پشتيبان-گيري ممكن است يك نسخه¬برداري كامل پايگاه داده يا يك ركورد ثبت ساده باشد. پس از رخ دادن يك خطاي رسانه¬اي نسخه¬هاي پشتيبان بايد براي ترميم داده¬هاي از دست¬رفته بازيابي شوند.
خطاهاي سايت يا محلي تمام پردازنده هاي موجود در يك محل را تحت تاثير قرار مي¬دهند. اين نوع خطاها ممكن است يك مجموعه از ايستگاه¬هاي كاري در يك اتاق يا يك مجموعه در يك ساختمان را تحت تاثير قرار دهند.[2] از آنجايي كه اين خطاها ماشين¬هايي در محدوده بزرگي را تحت تاثير قرار مي¬دهند اين خطا ها مي¬توانند اولين نوع خطاهايي باشند كه به حادثه يا فاجعه مشهور مي¬باشند. طرح¬ها و تسهيلات موجود ترميم فاجعه مي¬توانند براي تحمل خطاهاي سايت طراحي شوند. داده¬ها در حافظه-هاي پايدار و كارتريج¬هاي پشتيبان ممكن است جبران ناپذير باشند. جداسازي جغرافيايي سخت افزارهاي اضافي و داده¬ها مي تواند به ترميم اين گونه از حوادث كمك كند.
اعمال بشر باعث لايه بعدي از حوادث مي شوند. به عنوان مثال ممكن است شخصي به صورت تصادفي نسخه¬هاي جاري و پشتيبان را با هم اشتباه كرده و آخرين نتيجه نوشته شده را دوباره بنويسد. بر عكس خطاهاي محلي، مشخص كردن محدوده خطاهاي اپراتور و تشخيص داده¬هاي خوب از داده¬هاي بد كار ساده اي نمي¬باشد. رويه هاي ترميم معمولاً وقت¬گير هستند. خطاهاي اپراتور را مي¬توان بوسيله محدودسازي اختيارات كاربرهاي كم تجربه و تهيه حافظه¬هاي پشتيبان كافي به حداقل رساند.[1]
بدترين نوع خطا، خطاهاي بدخواه يا رومي است كه مي¬توانند تمام قطعات اطلاعات را نابود سازند. يك نمونه از آنها ويروس كامپيوتري مثل Michelangelo است كه قادر است پردازنده¬هاي اوليه و پشتيبان ونيز نوارهاي پشتيبان را آلوده سازد. اين نمونه از خطاها مي¬توانند بوسيله وادارسازي پروتكل¬ها به توسعه خود بوسيله كنترل¬هاي ايمني بسيار سخت و تهيه تعداد نسخه¬هاي پشتيبان كافي كاهش داد.[1]

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

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

تكرار داده به دو صورت انفعالي و فعال تقسيم بندي مي¬شوند. در تكرار داده انفعالي، اقلام داده اي تكرار شده به ثانويه ها ارسال شده و بدون پرداش در  وسايل حافظه سخت افزاري ذخيره مي شوند. در تكرار داده فعال ، اقلام داده تكرار شده به ثانويه ها ارسال شده و سپس برخي پروتكل هاي تكرار در ثانويه ها اجرا مي شوند
ريزدانه¬گي واحدهاي عمليات نيز بايد در سيستم هاي ترميم پايگاه داده در نظر گرفته شوند. برخي سيستم¬ها واحدهاي كوچكي از عمليات مانند خواندن و تغيير اجزاي داده را پشتيباني مي¬كنند. عمليات به صورت ضمني اتميك هستند. [2]اين ايده براي سسيستم هاي پردازش تراكنش كه در آنها عمليات ها  به صورت يك تراكنش گروه بندي مي شوند استفاده مي شود. اتميك بودن اجراي تراكنش تضمين مي شود: تمام عمليات يا بايد به طور كامل اجرا شوند يا اصلا نبايد اجرا شوند.
در سيستم¬هاي ترميم سرويس، پشتيبان, داده¬ها را پس از رخ دادن نقص در سايت اوليه ترميم كرده و سپس يك سايت اوليه جديد مي¬گيرند. پس از اينكه سايت اوليه اصلي ترميم شد، سايت ترميم شده يا به عنوان سايت اوليه به فعاليت خود ادامه مي¬دهد يا خود را به عنوان سايت پشتيبان معرفي مي¬كند. يك سيستم ترميم داده در صورتي كه اجزاي سخت افزاري تكرار شده كافي در سايت پشتيبان با مد خرابي غير وابسته داشته باشد مي تواند به يك سيستم ترميم سرويس ارتقا يابد.
اگر سايت پشتيبان يك سيستم ترميم سرويس قبل از گرفتن سايت اوليه جديد منتظر ترميم داده باشد ، كاربر مدت زيادي معطل خواهد شد. بنابراين بعضي از سيستم ها براي پذيرفتن سرويس جديد درخواست شده از سوي كاربر در حالي كه داده¬ها در حال ترميم هستند طراحي مي¬شوند. به سيستم با اين ويژگي سيستم بدون وقفه مي گويند.يك نمونه سيستم هاي بدون وقفه جفتي هستند.[2]
روش تكرار داده انفعالي  براي مقاومت در برابر خطاهاي گذرا، خطا هاي رسانه¬اي وCrash  كردن پردازنده طراحي شده است. روش هاي عادي تكرار انفعالي شامل روش ديسك منعكس شده، RAID، ديسك منعكس شده دور و روش سايت اوليه است.
روش ديسك منعكس  شده فقط يك خطاي رخ داده در ديسك ها را تحمل مي كند كه اين كار را با داشتن دو ديسك يكسان كه به صورت همزمان در سرتاسر يك كنترلر ديسك عادي تغيير مي يابند انجام مي دهد. هر كدام از ديسك-هاي در حال كار براي سرويس دهي به درخواست داده كافي مي باشند. اين سيستم ديسك بسيار گران بوده و در مقابل رخ دادن يك فاجعه (disaster) غير قابل ترميم است.[1]
روش RAID يك گروه از G ديسك داده به اضافه يك ديسك توازن  كه به كنترلر ديسك عادي متصل است مي باشد. بلاك توازن ، exclusive-or  G بلاك داده¬ي متناظرش را ذخيره مي¬كند. خواندن يك بلاك داده از RAID به خواندن بلاك از يك ديسك داده مناسب برگردانده مي¬شود. نوشتن يك بلاك داده به ديسك شامل نوشتن بلاك داده به ديسك به علاوه تغيير بلاك توازن متناظر آن است. روش RAID مي تواند عمل خود را با وجود رخ دادن يك خرابي ديسك ادامه دهد. عمومي ترين روش RAID سطح 5 ناميده مي¬شود. در اين روش بلاك¬هاي داده و بلاك¬هاي توازن بين ديسك¬هايي كه بار كار را به صورت مساوي پخش كرده و تنگراه¬ها به ديسك توازن را برداشته¬اند تقسيم مي¬شوند. هم ديسك منعكس شده و هم RAID در مقابل فجايع (disaster) قابل ترميم نيستند.
روش ديسك منعكس شده دور  يك بسط از روش ديسك منعكس شده است. تغييرات به ديسك منعكس شده¬اي كه در سايتي دور در طول يك شبكه قرار دارند به صورت غير همزمان اعمال مي¬شوند. اين روش در مقابل حادثه¬اي كه در سايت اوليه رخ مي دهد قابل ترميم است هر چند كه داده¬هاي منتشر نشده به سايت دور از بين مي¬روند. روش ديسك منعكس شده دور مي¬تواند با استفاده از بيش از يك نسخه پشتيبان  به روش سايت اوليه تعميم پيدا كند. تغييرات در سايت اوليه انجام شده و سپس به سايت ثانويه به صورت غير همزمان منتشر مي¬شوند. براي ترميم خطاي رخ داده شده در سايت اوليه، يكي از سايت¬هاي ثانويه به عنوان اوليه جديد انتخاب مي¬شود.
در روش تكرار داده فعال ، سايت¬هاي پشتيبان به اندازه کافي قدرت پردازشي و منابع مورد نياز براي تسهيم بار كاري سايت اوليه را دارا هستند. در روش توافق اكثريت ، يك عمل تنها وقتي كه اكثريت سايت ها با انجام آن موافق باشند قابل انجام است. بازده اين روش بالاتر است ولي هزينه عمل خواندن و نيز نوشتن متوسط است. توافق اكثريت مي تواند به روش توافق حد نصاب تعميم پيدا كند . به جاي گرفتن رضايت اكثريت سايت ها براي يك عمل خاص ، فقط رضايت يكسري سايت مرتبط كه به نام حد نصاب يا quorum هستند نياز است . پروتكل هاي توافق حد نصاب در سايز quorum ها ،overhead   و تحمل پذيري خطا متفاوت هستند.
روش RAID توزيع شده تعميمي از روش RAID انفعالي به يك روش فعال است.سيستم شامل G+2 سايت است . G/G+2 از كل بلاك ها براي داده ها مورد استفاده قرار مي گيرد ، 1/G+2 از كل بلاك ها براي ذخيره سازي parity   و 1/G+2 از كل بلاك ها براي ذخيره سازي به عنوان يدكي استفاده مي شوند. اين بلاك ها در سر تا سر G+2 سايت توزيع شده اند. در هر مورد يك خطاي رخ داده در ديسك يا هر مورد از يك خرابي رخ داده در يك سايت ، نوسازي داده هاي از بين رفته با استفاده از ديسك هاي در دسترس امكان پذير است . اطلاعات ساخته شده همچنين مي توانند در بلاك هاي يدكي در ديسك هاي موجود ذخيره شوند.[1]
مانند پروتكل توافق حد نصاب ، روش RAID  توزيع شده هزينه همزماني زياي بين تمام سايت هايي كه بخش هايي از داده تكرار شده را شامل مي شوند را بايد متحمل شود. برتري روش RAID توزيع شده به پروتكل توافق حد نصاب كم بودن ميزان افزونگي داده است ولي قبل از آن معايبي دارد كه از آن جمله الگوريتم هاي پيچيده تر قرار دادن داده و ترميم پذيري كمتر سايت ها در برابر خرابي هاست.
خوشه بندي واحد هاي عمليات مي تواند به دو صورت بر اساس عمليات و بر اساس تراكنش تقسيم  شود.يك سيستم بر اساس عمليات ، عمليات هاي اتميك پايه مانند خواندن و نوشتن و نيز عمليات هاي سطح بالاتر مانند افزايش و en queue را پشتيباني مي كند. بسياري از اين سيستم ها مانند سيستم ديسك منعكس شده ، Lok-step   هستند و واحد هاي حافظه در سايت هاي اوليه و پشتيبان با لينك هاي سرعت بالا كه معمولا با سنجش زمان ، همزمان هستند به يكديگر متصل هستند.هر تغييري در واحد حافظه اوليه بلافاصله به واحد حافظ پشتيبان اعمال مي شود.در سيستم هاي ديگر، لينك ها بين سايت ها سست تر و غير همزمان هستند.يك مورد از اين سيستم ها  ، سيستم فايل توزيع يافته است كه تغييرات رخ داده در سرور اوليه كلا به صورت غيرهمزمان به سرور پشتيبان منتقل مي شوند.
سيستم هاي بر اساس تراكنش ، تراكنش هايي را پشتيباني مي كنند كه اجراي برنامه هايي را كه  به اشياء پايگاه داده دسترسي مي يابند ،  شامل مي شوند. پي در پي پذيري پذيرفته شده ترين معيار صحت در پردازش تراكنش هاست. يك جدول همزماني تراكنش هاي همروند زماني پي در پي پذير است كه معادل با يك جدول هزماني سريال اجراي آن تراكنش ها باشد .[3]هنگامي كه يك تراكنش در سايت اوليه اجرا مي شود ، عمليات هاي تغيير به سايت پشتيبان منتشر مي شوند. كمترين انشعاب به بهترين تلاش صرف شده در نگهداري پشتيباني كه شامل بيشترين تغييرات قانوني ممكن است اشاره دارد. اين عمل معمولا با حداقل كردن تفاوت بين تراكنش هاي سايت هاي اوليه و پشتيبان حاصل مي شود.
سيستم هاي 1- ايمن و 2- ايمن سطوح مختلفي از انشعاب را پشتيباني مي كنند. يك سيستم پردازش تراكنش زماني 2- ايمن است كه تمام تراكنش ها موجود در سيستم اتميك باشند : چه تراكنش هايي كه تغييرات شان به سايت هاي اوليه و پشتيبان منعكس مي شود و چه تراكنش هايي كه در هيچ يك از اين سايت ها اجرا نمي شوند. با در نظر گرفتن سايت پشتيبان به عنوان بخشي از تراكنش هاي تويع شده ، پروتكل تثبيت دو فازي ممكن است براي پياده سازي سيستم 2- ايمن مورد استفاده قرار گيرد. ولي حداقل يك تاخير round-trip   اوليه - پشتيبان در تثبيت  شدن تراكنش ها اجتناب نا پذير است. اين تاخير طولاني تراكنش ها را وادار مي سازد كه قفل خود را به مدت طولاني تري نگهداري كنند و در نتيجه درگيري افزايش و توان عملياتي كاهش مي يابد.
براي اجتناب از اين مساله ، اكثر سيستم ها يك روش 1- ايمن را اتخاذ مي كنند كه در آن به تراكنش ها اجازه داده مي شود قبل از اينكه تغييرات به پشتيبان منتشر شوند تثبيت  شده و قفل خود را آزاد كنند. بنابراين تاخير ارتباطي در تثبيت   شدن وجود ندارد ولي اگر خطا قبل از انتشار يك تراكنش به پشتيبان رخ دهد ممكن است تراكنش  تثبيت  شده در سايت اوليه از بين رود. با اين وجود ، روش بالا به عنوان يك روش به اندازه كافي خوب براي سيستم هاي عملي در نظر گرفته مي شود.[3] براي بدست آوردن حداقل انشعاب در اين روش نياز است كه تراكنش هاي از بين رفته در طول رخ دادن يك خطا در سايت اوليه به صورت مينيمم نگهداري شود.
تقريبا تمام محصولات بازرگاني از  يك روش 1- ايمني به منظور كارايي استفاده مي كنند ولي در عين حال روش 2- ايمني را براي تراكنش هاي بحراني و با ارزش پشتيباني مي كنند.
عمليات هاي تغيير در سايت اوليه معمولا در يك ركورد ذخيره شده و به صورت دوره اي به سايت پشتيبان فرستاده مي شوند. ركورد هاي ثبت معمولا به همان ترتيبي كه در فایل ثبت, ثبت شده اند به سايت پشتيبان منتشر مي شوند.
رکوردهای ثبت بر اساس سطح اطلاعاتي كه ذخيره مي كنند مي توانند به سه دسته مختلف تقسيم بندي شوند. رکوردهای ثبت, سطح تراكنش،  نوع تراكنش و تمام ورودي ها كاربر را ذخيره كرده و به اين ترتيب مي توانند در سايت پشتبان دوباره اجرا شوند.از آنجايي كه نيازي نيست كه پشتيبان بدون تاخير باشد و نيز حجم اطلاعات مورد نياز براي ذخيره نسبتا پايين است ، اين نوع log ها براي سيستم هاي ترميم داده مناسب هستند.[1]
رکوردهای ثبت سطح عمليات ، نوع عمليات ، شاخصه شئ داده و مقدار جديد شئ داده را ذخيره مي كنند.اين ساختار ثبت كه شبيه ساختارهاي مورد استفاده براي مقابله با خرابي¬هاي crash  و بي¬نتيجه ماندن تراكنش هاست به مينيمم سازي هزينه توليد فایل ثبت در ترميم فاجعه كمك مي¬كند.
هر ركورد ثبت سطح فيزيكي يا I/O شامل تصوير يا آدرسي از صفحه يا بلاك مربوط به دستيابي ديسك است .پشتيبان نياز دارد كه تصاوير بدون پردازش درون ديسك ذخيره شوند.هر چند توان محاسباتي در سايت پشتيبان بايد حداقل باشد ولي از آنجا كه هر تغيير ويژگي شئ ممكن است نيازمند انتقال يك بلاك باشد ، حجم نسبتا عظيمي از اطلاعات بايد منتقل شوند.
در رويه هاي ترميم crash  تقليدي ، سيستم گاهي اوقات بر اينكه سايت اوليه ركوردهاي ثبت خاصي را با سايت پشتيبان تراز كند اصرار مي ورزند. تراز ركورد هاي ثبت و نصب تغييرات در سايت پشتيبان بايد به دقت با عمليات در سايت اوليه هماهنگ باشد به طوري كه پايگاه داده پشتيبان با پايگاه داده اوليه سازگار باشد.


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

ترميم فاجعه شامل جنبه¬هاي انساني به همراه جنبه-هاي سيستم است. ما جنبه¬هاي سيستم مانند صحت نيازمندي¬هايي كه بوسيله سيستم پس از اجراي رويه¬هاي ترميم فاجعه تضمين مي¬شود و انواع مقدماتي كه بايد براي سيستم جهت نگهداري اطلاعات مورد نياز براي ترميم فراهم شود را مورد بررسي قرار مي¬دهيم.
به علاوه ترميم يك حادثه چه در سطح عمليات (به صورت خودكار) و چه در سطح مديريت (به صورت غير خودكار) بايد تحت نظارت انسان انجام شده و يك زنجيره از دستورات ايجاد شود. تيم ترميم فاجعه بايد جهت توليد طرح ترميم شكل بگيرد. تيم بايد ابتدا مركز پردازش داده شامل پيكربندي سخت¬افزار و نرم¬افزار و محيط سيستم، ورودي و خروجي داده، تقسيم¬بندي كارها به كارهاي بحراني و غير بحراني ، رويه پشتيبان پايگاه داده و طرح هاي ترميم فاجعه موجود را مورد بررسي قرار مي دهد.پيكربندي براي سيستم بهبود پذير در برابر حادثه معرفي شده و پشتيبان پايگاه داده و رويه هاي حافظه off-site  به وجود مي¬آيند. طراحي سايت پشتيبان و توانايي هاي آن بازبيني و پياده سازي شده و در پايان طرح ترميم تست مي شود. جزئيات طرح ترميم بستگي به حمايت هاي سيستم دارد.[2]
اغلب سيستم هاي پايگاه داده تجاري عمومي مانند Sybase , Oracle , DB2   پشتيباني¬هاي کاملي از ترميم فاجعه فراهم نمي آورند. Sysbase  گزينه هايي براي تحمل خطا و بهبود توانايي سيستم فراهم مي آورد از جمله  پشتيباني هاي چند پردازنده مناسب ، سرورهاي همنشين ، ابزار منعكس شده  ،     سرورهاي هدايت كننده . به علاوه براي پشتيباني ترميم crash  به پايگاه داده اجازه مي دهد كه پشتيبان تهيه كند و Checkpoint  ايجاد كند. هم سرور هاي هم نشين و هم ابزار هاي منعكس شده در فرايند ترميم شركت مي كنند. يك سرور همنشين با روشي مشابه روش سرور اوليه / پشتيبان در مقابل خطاي پردازنده مقاومت مي كند. هنگامي كه سايت اوليه خراب مي شود تراكنش هاي تثبيت  نشده قبل از اينكه توسط همنشين گرفته شوند بازگردانده مي شوند.
شيوه منعكس شده يك بسط از ديسك است كه براي مقابله با خطا هاي سخت افزاري  بوجود آمده اند. داده ها تكرار شده و در اوليه و انعكاس آن به صورت شفافي ذخيره مي شوند. براي حمايت از ترميم فاجعه ، ناظر سيستم بايد طرح ترميم فاجعه را تهيه و رويه هاي پشتيبان پايگاه داده ، حافظه و بازيابي را راه اندازي كند .
در Oracle پشتبان گيري پايگاه داده هم بوسيله پايگاه داده بسته ( پشتيبان سرد ) وهم بوسيله پايگاه داده در دسترس ( پشتيبان گرم ) انجام مي گيرد. ترميم خطا هاي crash  مي¬تواند به صورت خودكار باشد. تراكنش هاي تثبيت  نشده پس بازگرداندن اطلاعات فايل هاي كنترل ضروري بازگردانده مي شوند . ديسك منعكس شده براي مقابله در برابر خطاهاي مديا اتخاذ مي شود . تنها ضروري است كه فايل¬هاي ثبت انجام دوباره موجود و نيز فايل هاي ثبت انجام دوباره بايگاني شده در شكلي از حافظه پايدار ،  براي ترميم خطاي مديا  ،  منعكس شوند. كارايي Oracle مي تواند بوسيله تكرار داده دور در يك سرور محلي بهبود يابد. كپي هاي كش شده مي توانند از طريق مكانيسم ماشه Oracle به محض اينكه نسخه اصلي دور تغيير كرد ، تغيير يابند .
محيط DB2  براي ترميم خودكار حادثه طراحي نشده است مگر اينكه سيستم پشتيبان و كنترل كننده¬هاي حافظه نصب شده و براي ارايه خدمات پيكر بندي شوند. با اين وجود ابزارهاي استاندارد مي توانند  اجزاء داده شامل پشتيبان كپي تصوير ، نوارهاي ثبت، جدول¬هاي داخلي DB2  و مجموعه داده را در ترميم عادي دستكاري نمايند. تيم ترميم فاجعه بايد طرح ترميم خودشان را گسترش دهند.[2]
از آنجايي كه اغلب سيستم¬هاي پايگاه¬داده پشتيباني ترميم فاجعه را فراهم نمي¬كنند ، سخت افزارهاي خاصي براي مديريت حافظه بايد نصب شوند به طوري كه داده¬هاي مورد نياز براي ترميم را در دسترس قرار دهند. به عنوان مثال، مدير دادهEMC  به عنوان يك سيستم پشتيبان كامل يك راه حل براي پشتيباني شبكه¬اي بدون تاخير و ترميم براي Oracle و Sybase مي¬باشد.EMC  از سيستم 5000 حافظه سيمتريكس كه امكان داده دور سيمتريكس ( SRDF ) و نيز امكان پشتيبان / بازياب سيمتريكس ( SBRF ) را فراهم مي¬كند استفاده مي¬كند .از طريق SRDF ، داده¬ها در زير سيستم¬هاي حافظه دور در زمان واقعي تكرار مي¬شوند. SBRF  ممكن است براي تهيه يك عمليات سيستم پيوسته از طريق راه گزيني زير سيستم سريع و كوچ داده¬ها در بين زير سيسستم¬ها استفاده شود. كنترل كننده 3990 آي بي ام يك كپي دور براي پشتيبان دور بدون تاخير كه به صورت سست همزمان شده است فراهم مي¬آورد .[1] اين گزينه كپي دور مبسوط (XRC) پيش فرض ،  براي دسترسي داده بالا جهت پشتيبان داده غير همزمان مفيد است .كنترل كننده همچنين كپي دور جفت- به – جفت ( PPRC  ) كه پشتيبان داده دور Lock-step شده را پشتيباني مي كنند را فراهم مي آورد. اين موضوع عمل ترميم را تسهيل مي بخشد. يك طرح ترميم فاجعه به صورت عادي بوسيله بازيابي داده هاي پشتيبان دور و پردازش تغييرات از دست رفته براي سيستم هاي پشتيبان غيرهمزمان  اجرا مي شود.
بسته به سازماندهي داده پشتيبان و رويه هاي ترميم ، سه طرح ترميم عمومي وجود دارد : اولين روش به روش پتك مشهور است ك روش با تاخير براي كاربردهاي غير بحراني وغير فراري است كه در طول 24 ساعات شبانه روز اجرا نمي شوند. در اين روش نياز است كه اجراي پايگاه داده متوقف شده ، از پايگاه داده موجود روبرداري شده و به صورت off-site   مانند پشتيبان سرد ارسال شود. استراتژي دوم ، فضاي جدول ها و شاخص مجموعه داده هاي " عقب پشت " يك پايگاه داده مانند DB2  را كپي مي كند. به وسيله استرتژي سوم كه به نام چاقو شناخته مي شود پشتيبان هاي كپي تصوير بدون تاخير زماني روي نوارها ايجاد شده و نوارها براي پشتيبان گيري يك جدول در يك زمان به سايت دور ارسال مي شوند.
دو محصول پايگاه داده ، IMS/ESA ي IBM   و امكان داده دور Tandem  حمايت ترميم فاجعه كاملي تهيه مي كنند . IMS / ESA ترميم سايت دور ( RSR ) را پشتيباني مي كنند كه بسط ترميم IMS  به سايت هاي دور است . امكان داده دور Tandem  هم يك جريان log  عادي براي سيستم هاي پايگاه داده اي است كه سرويس هاي بدون وقفه ارايه مي كنند.
هنگامي كه يك خطا در سايت اوليه ييدا مي شود اپراتور بايد تصميم بگيرد كه آيا نسخه پشتيبان بايد مورد استفاده قرار گيرد. از آنجا كه ممكن است سيستم قادر به تشخيص يك خطاي ارتباط با خطاي سايت نباشد ، اين تصميم نبايد بوسيله پشتيبان به صورت خودكار اتخاذ شود. مدت زمان خروج سايت اوليه ممكن است كوتاه بوده و به گرفتن پشتيبان نيازي نباشد. پس از اينكه تصميم گرفتن پشتيبان اتخاذ شد ، پشتيبان بر اساس اطلاعات موجود در log  خود ابتدا تاثيرات تراكنش هاي تثبيت  شده را نصب كرده و تاثير تراكنش هاي تثبيت نشده را خنثي مي كند . سپس خروجي از ترمينال ها به سوي پشتبان كه حالا به عنوان اوليه شناخته مي شود ، هدايت مي شوند. هنگامي كه سيستم اوليه تعمير شد، تلاش مي كند بر اساس يك log  محلي خود را به حالتي سازگار ترميم كند.[3]
اگر خطا به اندازه اي سخت باشد كه سيستم اوليه اصل نتواند خود را به حالتي سازگار بازگرداند  ، يك روبرداري  پايگاه داده از اوليه جاري به روي سيستم اصلي نصب خواهد شد . سپس اوليه اصلي خود را به يك سيستم پشتيبان تبديل كرده و پروتكل هاي ترميم خطا براي سيستم هاي پشتبان را دنبال مي كند . در انتهاي رويه ترميم نقش دو سيستم تعويض مي شود يعني اوليه اصلي تبديل به پشتيبان و پشتيبان اصلي تبديل به اوليه مي شود. اگر ضروري باشد مي تواند پيكربندي اصلي بوسيله يك طرح تعويض بازيابي شود . اگر پشتيبان خاموش شود ،  اوليه مي تواند به صورت عادي به فعاليت خود ادامه دهد ولي ركوردهاي log  نمي توانند به سايت پشتيبان ارسال شوند.به محض اينكه پشتيبان تعمير شد دريافت ركوردهاي log  را از نقطه اي كه آنها را ترك كرده بود از سر مي گيرد. اگر مدت خطا طولاني باشد ممكن است زمان زيادي براي همگام شدن پشتيبان با اوليه صرف شود. اگر پشتيبان براي دوره مبسوطي از زمان در دسترس نباشد ، اجازه دادن به پشتيبان براي همگام شدن با اوليه به صورت تدريجي امكان ناپذير است.[1] در عوض يك اپراتور مي تواند يك روبرداي جديد بدون تاخير از پايگاه داده اوليه تهيه و روي سيستم پشتيبان نصب كند.سپس log  هاي توليد شده پس از روبرداري بدون تاخير به پشتيبان اعمال مي شوند. هنگامي كه پشتيبان به اوليه همگام شد تمام سيستم به حالت عادي برمي گردد .
رويه هاي طرح تعويض به اين صورت عمل مي كنند : ابتدا اوليه دريافت تراكنش هاي جديد را متوقف مي كند .    پس از اينكه تمام تراكنش هاي موجود تكميل شدند ، اوليه يك نشان خاص درون log  خود نوشته و سپس خودش را به يك پشتيبان تبديل مي كند . پشتيبان اصلي مي تواند پس از پردازش تمام ركوردهاي log  تا قبل از نشان ويژه خود را به اوليه تبديل كند . سپس سيستم با پذيرفتن ورودي هاي دوباره هدايت شده توسط سيستم اوليه جديد ، عمليات عادي خود را از سر مي گيرد.
 


منابع :


 

[1] Roselinda , R. Schulman , “ Disaster Recovery Issues and Solutions “ ,  Hitachi Data Systems Corporation, WHP-117-02 September 2004.

[2] Manhoi Choy , Hong Va Leong , Man Hon Wong,”Disaster recovery techniques for database systems”, Communications of the ACM, v.43 n.11es, Nov. 2000.

[3] Colleen Gordon , “ Successful Disaster Recovery Testing “, Technical enterprises.Inc,technical support may 2000

 

طراحی سایت : سایت سازان