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