برید:انواع خرابی در پایگاه داده و راه‌های مقابله با آن‌ها

به طور کلی، خرابی‌های پایگاه داده را متأثر از ۵ نوع خطای کلی است که می‌توان آنها را به ۵ دسته تقسیم کرد:

۱- خطای رسانه Media Failure

خرابی سخت‌افزار یا حذف فیزیکی فایل‌ها از روی رسانه و یا هر مورد دیگری که منجر به عدم دسترسی به همه یا بخشی از ساختار فیزیکی پایگاه داده شود، خطای رسانه به حساب می‌آید. در مواجهه با این خطا، باید قبل از وقوع حادثه، استراتژی‌ مناسبی جهت تهیه و نگهداری نسخه‌های پشتیبان اتخاذ شود و همینطور به منظور محافظت از فایل‌های حیاتی و ضروری، باید پیکربندی پایگاه داده به صورت مناسبی صورت بگیرد.

۲- خطای کاربری User Error

اجرای یک دستور نادرست یا ناخواسته توسط کاربر، می‌تواند منجر به بروز خطای کاربری شود و متأسفانه در بعضی از موارد می‌تواند آسیب‌های جبران‌ناپذیری را متوجه پایگاه داده کند. به عنوان مثال، در زمان اجرای یک دستور «به‌روزرسانی update»، اگر شرط لازم برای اجرای دستور فراموش شود، تعدادی رکورد به صورت ناخواسته و با مقادیر نادرست تغییر می‌کند و خطای کاربری رخ می‌دهد.

از آنجا که این خطاها عموماً به صورت سهوی به وجود می‌آیند، جلوگیری از وقوع آنها اغلب غیرممکن یا بسیار دشوار می‌باشد. هرچند که با تخصیص دسترسی‌های مناسب و آموزش‌های لازم می‌توان وقوع آنها را به حداقل رساند.

استفاده از امکان  Flashbackدر پایگاه داده اوراکل، می‌تواند امکان بازگرداندن وضعیت به زمانی قبل از تغییرات در گذشته را فراهم کند و علاوه بر آن می‌توان از ابزارهای دیگری مانند Log Miner نیز برای رفع برخی ایرادات استفاده کرد.

۳- خطای پردازش Process Errors
این مشکلات اغلب موردی و تصادفی هستند و علت وقوع آنها مشخص است. اما در صورت وقوع آنها به صورت مکرر، باید آن را ریشه‌یابی نمود و علت وقوع آن را برطرف کرد. اطلاعات مندرج در Alert Log معمولاً برای شناسایی علت این اشکال‌ها، مفید واقع می‌شود.   در برقراری ارتباط، امکان انتقال دستوراتِ صادر شده توسط کاربر و دریافت پاسخ آن از طریق پردازش‌های سرور، فراهم می‌گردد. حالتی را در نظر بگیرید که کاربر به پایگاه داده متصل است و پردازش مربوط به این اتصال، به طور ناگهانی دچار اشکال یا قطعی می‌گردد. برای مثال، نرم افزار مورد استفاده بسته می‌شود یا ارتباط شبکه‌ای کاربر با سرور قطع می‌شود؛ این حالتی‌ست که Process Error رخ داده است.

۴- خطای اینستنس Instance Failure
ممکن است هر دلیلی، از جمله قطع ناگهانی برق، اشکال در پردازش‌های پس‌زمینۀ پایگاه داده یا اجرای دستور Shutdown Abort ، پایگاه داده به طور ناگهانی خاموش شود.

در این صورت پردازش DBWR فرصت لازم جهت انتقال اطلاعات موجود در Buffer Cache به دیتافایل را در اختیار نداشته و در نتیجه، اطلاعات مذکور از بین می‌رود. ضمن اینکه Header مربوط به دیتافایل‌ها نیز با کنترل‌فایل Sync نمی‌شود.

در این موارد جای نگرانی وجود ندارد، زیرا تمامی تغییرات در Redo Logها ثبت می‌شوند و در زمان وقوع این وضعیت، اوراکل در اولین شروع مجدد، عملیات Instance Recovery را به صورت خودکار و بدون نیاز به دخالت شخص مسئول پایگاه داده انجام می‌دهد و وضعیت به حالت عادی بر می‌گردد.

۵- خطای دستورات  Statement Failure

خطا در اجرای دستورات زمانی اتفاق می‌افتد که یکی از عملیات اجرای یک دستور، مانند Select، Insert، Update یا Delete با خطا مواجه شود.  بسته به هر خطا، باید راه‌حل متناسب با آن را برای رفع ایراد برگزید. اما متداول‌ترین خطاها را می‌توان به صورت زیر دسته بندی کرد و برای رفع آنها اقدام کرد:

خطای تلاش برای دسترسی به جداول، بدون داشتن مجوزهای مناسب؛ برای رفع این خطا، درصورت نیاز باید مجوزهای مناسب را فراهم کنیم.

خطای عدم وجود فضای کافی: راه‌حل رفع این خطا، تخصیص فضای کافی به Tablespaceمدنظر، یا تخصیص سهمیهQuota به کاربر است.

خطاهای منطقی در برنامه‌های کاربردی: رفع این خطا منوط به بازبینی برنامه مورد نظر، و رفع و اصلاح اشکالات آن است.