بخشی از پاورپوینت
اسلاید 1 :
بسم الله الرحمن ا لرحیم
اسلایدهای پایگاه داده پیشرفته
اسلاید 2 :
فصل چهارم :
ترمیم پایگاه داده ها
اسلاید 3 :
تعریف ترمیم :
سیستم مدیریت پایگاه داده ها باید بتواند ، در صورت بروز خرابی ، پایگاه داده ها را ترمیم و آسیب ها و خسارات وارده بر آن را جبران کند :
نقص سبب اشتباه منجر به خرابی
ترمیم : یعنی باز گردادن پایگاه داده ها به وضع سازگاری که درست قبل از بروز خرابی داشت.
توجه : سازگار بودن پایگاه داده ها لزوماً به معنای صحیح بودن آن نیست . اما وضع صحیح لزوماً به معنای وضع سازگار است.
برای ترمیم پایگاه داده ها پس از بروز خرابی ، واحد مدیریت ترمیم باید استراتژی مشخصی داشته باشد .
این استراتژی ، بطور کلی می تواند چنین باشد :
1- اگر آسیب ( خرابی ) وارده به پایگاه داه ها گسترده باشد ، مدیر ترمیم بر اساس آخرین نسخه پشتیبان ، پایگاه داده ها را به وضع قبلی اش در حافظه مانا ، برمی گرداند ( باز انجام (باز کرد ) )
2- اگر خرابی ناشی از بروز نقص گسترده نباشد ، مدیر سیستم باید تغییرات که سبب ناسازگار شدن پایگاه داده شده اند را از بین ببرد . ( پاد کردن یا خنثی سازی )
اسلاید 4 :
خرابی ها
انواع خرابی :
1- خرابی سیستمی ( خدشه نرم )
خرابی سیستمی سبب می شود تا حداقل یک و یا معمولاً تمام تراکنش های در جریان در سیستم آسیب ببینند ولی داده های ذخیره شده در حافظه ی جانبی دچارخرابی نمی شوند . مثل قطع جریان برق در حافظه اصلی
2- خرابی رسانه ای ( خدشه سخت )
خرابی رسانه ای سبب ایجاد خرابی در تمام یا قسمتی از داده های ذخیره شده در حافظه مانا می شود و حداقل روی آن تراکنش هایی که در حال استفاده از داده ها هستند تاثیر می گذارد . مثل خرابی در حافظه مانا ( دیسک )
اسلاید 5 :
خرابی ها
انواع خرابی از لحاظ حیطه تاثیر :
1- خرابی موضعی
خرابی موضعی وقتی است که تنها در اجرای یک تراکنش خاص خلل وارد سازد مثل بروز سرریز در محاسباتی که تراکنش انجام می دهد مانند انجام عمل تقسیم بر صفر
2- خرابی سراسری
خرابی وقتی سراسری است که در جریان تمام تراکنش های در جریان ، خلل وارد کند . مثل قطع جریان برق در پردازنده مرکزی یا خرابی در حافظه مانا
انواع خرابی از نظر طول مدت :
1- خرابی دائمی مثل خرابی در سخت افزار
2- خرابی ادواری مثل سنگینی بار سیستم
3- خرابی گذرا مثل خرابی ناشی از افزایش دمای محیط
اسلاید 6 :
عوامل خرابی :
اشتباه برنامه نویسی : مثل ورودی نا درست،بروز سر ریز،به سررسیدن مهلت اجرای برنامه
اشتباه اپراتور : مثل اشتباه در jcl ، در جابجایی دیسک ها
اشتباه سیستمی : مثل بن بست
اشکال سخت افزاری : در پردازند اصلی ، در حافظه ی اصلی ، در رسانه های ذخیره سازی
اشکال نرم افزاری : در سیستم عامل ، در سیستم مدیریت پایگاه داده ها و در برنامه های واسط مثل و پروس
اشتباه عملیاتی : مثل اشتباه در عملیات مربوط به فرآیند ترمیم از بین رفتن نسخه پشتیبان
رویداد های محیطی : آتش سوزی ، سیل ، زلزله ، قطع جریان برق
عملیات آسیب رسان توسط انسان : خرابکاری ، دزدی
اشکالات دیگر درسیستم کامپیوتری: خرابی در خطوط ارتباط، در پایانه و.
اسلاید 7 :
زیر سیستم مدیر ترمیم خود سیستمی است تشکیل شده از اجزایی ، از جمله :
مدیر ترمیم ( که یک واحد نرم افزاری است ) و امکاناتی برای ترمیم
مدیر ترمیم : از واحد های لایه مدیریت محیط پایگاه داده ها در سیستم مدیریت پایگاه داده ها است . دشوار ترین واحد در این سیستم از نظر طراحی و پیاده سازی ، همین واحد مدیریت ترمیم است . که وظیفه ی اصلی آن ، انجام فرآیند ترمیم است .
اسلاید 8 :
عملیات مدیریت ترمیم :
مدیر ترمیم مستقیماً با دو واحد دیگر یعنی زمان بند اجرا و مدیر بافر نهان ارتباط دارد .
زمان بند اجرا :
دستورهای مربوط به عملیات خواندن ، نوشتن ، تثبیت و طرد را به مدیر ترمیم رد می کند .
مدیر ترمیم :
به نوبه خود ، عملیات خواندن از بافر نهان و نوشتن دربافر نهان را از طریق در خواست از مدیر بافرنهان ، انجام می دهد .
در واقع مدیر ترمیم دو درخواست به مدیر بافر نهان می دهد:
واکشی یک صفحه به بافر نهان
تخلیه یک صفحه از بافر نهان
اسلاید 9 :
عملیات مدیریت ترمیم :
وقتی که نقص سیستمی بروز می کند ، مدیر ترمیم در مرحله از سر گیری ، قبل از هر کار ، وضع بافر نهان را تحلیل می کند تا صفحات تغییر یافته و نیز تراکنش های فعال در لحظه بروز خرابی را باز شناسی کند .
مدیر ترمیم پس از انجام فاز تحلیل یکی از اعمال زیر یا هر دو را انجام می دهد :
عمل REDO : تکرار عملیات انجام شده توسط تراکنش تثبیت شده
عمل UNDO : لغو کردن نتیجه اجرای ناقص تراکنش طرد شده
اسلاید 10 :
روش های تخلیه بافر نهان :
وقتی که سیستم دستور نوشتن را اجرا می کند ، برای انتقال نتیجه عمل نوشتن ، در اساس دو روش وجود دارد :
1- بهنگام سازی با تاخیر :
نتیجه ی عمل بهنگام سازی داده تغییر یافته در بافر نهان فقط پس از آن که تراکنش به نقطه ی تثبیت برسد ، به پایگاه داده ها منتقل می شود ( بافرنهان تخلیه فلاش ) می شود انجام عمل UNDO لازم نیست اما عمل REDO ممکن است لازم شود، زیرا نتیجه اجرای تراکنش هنوز به حافظه ما نا منتقل نشده است .
2- بهنگام سازی بلافاصله :
نتیجه عمل بهنگام سازی داده توسط تراکنش ، پیش از آن که تراکنش به نقطه تثبیت برسد ، به پایگاه داده منتقل می شود اما قبل از این انتقال ، نسخه ای از داده تغییر یافته در فایل ثبت وارد می شود تا در صورت بروز خرابی ، امکان ترمیم وجود داشته باشد .
هر دو عمل UNDO و REDO لازم است .
اسلاید 11 :
امکانات ترمیم
امکاناتی که مدیر ترمیم برای انجام وظایفش نیاز دارد عبارتند از :
1- حاظه ی مانا
2- حافظه ی نامانا
3- فایل ثبت
4- ایجاد نقطه ی وارسی
5- لیست های کاری
6- نسخه پشتیبانی
اسلاید 12 :
امکانات ترمیم
1- حافظه ی مانا :
حافظه ای است صفحه بندی شده که در آن عمل نوشتن یک صفحه می تواند انجام شود و تا انجام عمل نوشتن دیگر در همان صفحه ، داده های نوشته شده مانا (ماندگار ) باشند و بنابراین در قبال نقص سیستمی ، از آسیب مصون است .
انواع حافظه ی مانا :
الف ) دیسک ( حافظه ی مانای درون خط )
ب) نوار مغناطیسی ( حافظه ی مانای برون خط )
2- حافظه ی نا مانا :
ناحیه ای است از حافظه اصلی که بافر ها در آن ایجاد و مدیریت می شوند و به آن حافظه نهان یا بافر نهان گفته می شود . محتوای این حافظه ، در صورت بروز یک خرابی سیستمی ، از بین می رود .
عملیات بهنگام سازی تراکنش ، ابتدا در صفحه ای انجام می شود که در بافر نهان جای دارد . سپس صفحه بهنگام در آمده با یکی از دو تکنیک با تاخیر یا بلا فاصله روی حافظه مانا نوشته می شود .
اسلاید 13 :
3- فایل ثبت ( رویداد نگاری و فایل اثر ) : فایلی است حاوی اطلاعاتی در مورد چگونگی اجرای هر تراکنش و عملیاتی که تراکنش روی یک فقره داده انجام می دهد . این فایل روی حافظه ی مانا ذخیره می شود .
ساختار رکورد فایل ثبت : معمولاً حداقل دو نوع رکورد در این فایل وجود دارد :
الف ) رکورد تراکنش ب ) رکورد نقطه وارسی
رکورد تراکنش معمولاً فیلد های زیر را دارد :
شناسه تراکنش
نوع رکورد از نظر نوع عمل تراکنش
شناسه داده ای که عمل روی آن انجام می شود
پیش تصویر ( مقدار داده بیش از عملیات بهنگام سازی و حذف )
پسا تصویر ( مقدار داده پس از عملیات درج و بهنگام سازی )
نشانه رو ( اشاره گر ) به رکورد قبلی تراکنش
نشانه رو به رکورد بعد تراکنش
شماره سریال رکورد ثبت
زمان انجام هر عمل
اسلاید 14 :
ثبت با نوشتن پیشرس ( Write Ahead Logging ) :
استفاده از فایل ثبت برای ترمیم ، رایجترین روش در سیستم های پایگاهی است . سیستم عملیاتی که تراکنش انجام می دهد را در این فایل ثبت می کند ، اما نوشتن رکورد حاوی اطلاعات لازم در زمان ثبت در اکثر سیستم ها بطور پیشرس یا با پیش دستی انجام می شود. از جمله سیستم هایی که در آن ها از این روش استفاده می شود عبارتند از :
ARIES ، INGRES ، Sybase ، Oracle ، Argus ، Exodus
ثبت با نوشتن پیشرس در بهنگام سازی با تاخیر :
در این روش ، رکورد ثبت حاوی پسا تصویر و سایر اطلاعات لازم ، قبل از انتقال پسا تصویر به پایگاه ، در فایل ثبت نوشته می شود . وقتی که تراکنش به تثبیت می رسد ، یک رکورد ثبت نیز در فایل ثبت نوشته می شود .
اسلاید 15 :
ثبت با نوشتن پیشرس در بهنگام سازی بلافاصله :
در این روش پیش تصویر ، قبل از نوشتن نتیجه بهنگام سازی ( پسا تصویر ) درپایگاه داده ها ، در فایل ثبت نوشته می شود پیش تصویر برای انجام عملیات UNDO لازم است . در واقع پیش از آن که داده در حافظه نهان ( بافر ) بهنگام در آید ، پیش تصویر در بافر فایل ثبت نوشته می شود و پیش از انتقال به پایگاه ، در فایل ثبت درج می شود .
اسلاید 16 :
پروتکل ثبت با نوشتن پیشرس :
1- پیش تصویر یک فقره داده توسط پسا تصویرش جایگزین نمی شود مگر این که پیش تصویر در فایل ثبت نوشته شده باشد .
2- تراکنش نمی تواند به مرحله تثبیت برسد مگر این که پیش تصویر و پسا تصویر فقره داده هایی که تراکنش تغییر داده است ، در فایل ثبت نوشته شده باشد .
در شکل عملیات UNDO و ( پادکردن ) و REDO ( وا کرد ) نمایش داده شده است .
اسلاید 17 :
فایل ثبت فیزیکی : فایلی است که در آن ، اطلاعاتی در مورد مقادیر داده های نوشته شده توسط تراکنش ها ذخیره می شود .
فایل ثبت منطقی : فقط اطلاعاتی در مورد خود عملیات تراکنش ها وجود دارد و نه مقادیر تولید شده بنابراین فایل ثبت منطقی کوچکتر است .
انواع فایل ثبت
معمولاً دو نوع فایل ثبت ایجاد می شود:
فایل ثبت بر خط
فایل ثبت برون خط
در بعضی از محیط ها که حجم عملیات روزانه پایگاه داده زیاد بوده ، نگهداری فایل ثبت بر خط یا فعال امکان پذیر نیست و بخشی از فایل ثبت بطور برون خط ( آرشیو : بایگانی ) نگهداری می شود . تا هرگاه لازم شود ، قسمت های لازم این فایل به صورت بر خط در آید .
فایل ثبت بر خط عمدتاً برای ترمیم خرابی های جزیی و کوچک استفاده می شود .
یک روش ممکن برای ایجاد فایل ثبت برون خط ، تقسیم فایل ثبت برون خط به دو فایل جداگانه با امکان دستیابی بختانه است .
اسلاید 18 :
زباله روبی فایل ثبت :
چون اندازه فایل ثبت مرتباً افزایش می یابد و ظرفیت حافظه مانا به هر حال محدود است . سیستم باید فضای اشتغال شده توسط رکورد های ثبت نالازم را آزاد کرده و فضا را مجدداً مورد استفاده قرار دهد که به این کار زباله روبی گفته می شود .
مدیر ترمیم برای این کار قواعدی به شرح زیر دارد :
اگر V>و Dو W و Ti <یک رکورد ثبت باشد، این رکورد را می توان از فایل ثبت حذف کرد اگر و فقط اگر:
1- تراکنش Ti ، طرد شده باشد .
2- تراکنش Ti تثبیت شده باشد ،ولی یک تراکنش تثبیت شده دیگر، Tj ، بعد از نوشتن توسط Ti ، مقدار V’ را برای D نوشته باشد .
3- رکورد V>و Dو W و Ti < را می توان از فایل ثبت حذف کرد اگر مدیر ترمیم نیاز به UNDO نداشته باشد و V آخرین مقدار تثبیت شده و ذخیره شده در پایگاه داده ها باشد. واین رکورد ، تنها رکورد ثبت برای داده D باشد .
تدابیر دیگر برای زباله روبی : خارج کردن رکورد ثبت تراکنش هایی که فقط عمل خواندن انجام داده اند یا نگهداری فقط اولین پیش تصویر و آخرین پسا تصویر برای هرصفحه تغییر یافته .
اسلاید 19 :
تکنیک ایجاد نقطه وارسی
عبارت است از نوشتن اطلاعاتی در حافظه مانا در اثناء پردازش تراکنش ها، به منظور کاهش تعداد رکورد هایی که مدیر ترمیم باید در فایل ثبت بررسی کند .
برای ایجاد نقطه ی وارسی ، سیستم یک رکورد به صورت < CHECKPOINT > و گاه به صورت در فایل ثبت می نویسد .
L لیست تراکنش های فعال در لحظه ایجاد نقطه وارسی است .
ایجاد نقطه وارسی بطور پریودیک انجام می شود .
تعیین فاصله بین دو نقطه وارسی با مدیر ترمیم است.
ایجاد نقطه وارسی معمولاً کم هزینه است و می تواند در یک ساعت سه یا چهار بار انجام شود .
هر چه تعداد نقطه وارسی بیشتر باشد ، زمان ترمیم کمتر می شود .
اسلاید 20 :
مراحل روش ایجاد نقطه وارسی با نوشتن محتوای حافظه نهان
1- اجرای تمام تراکنش ها موقتاً معلق می شود
2- محتوای تمام بافرهایی که تغییر یافته باشند ، تخلیه اجباری می شوند
3- یک رکورد < CHECKPOINT > در فایل ثبت نوشته می شود
4- اجرای تراکنش ها از سر گرفته می شود