ডাটাবেস করাপ্ট বা হারিয়ে যাওয়ার পরিস্থিতিতে রিকভারির জন্য ব্যাকআপ অপরিহার্য। ব্যাকআপ মানে ডাটাবেসের ডুপ্লিকেট কপি ব্যাকআপ সার্ভারে সংরক্ষণ করা। ট্রানজ্যাকশন লগও সংরক্ষণ করতে হয়, নয়তো ডেটা বেজবাবহার হয়।
ফেইলারের কারণ
- User Error: সবচেয়ে বড় কারণ। ডাটাবেসকে এরর করার আগের পয়েন্টে রিস্টোর করতে হয়।
- Hardware Failure: হার্ড ড্রাইভ ম্যালফাংশন হতে পারে। পিরিয়ডিক্যালি পরিবর্তন করা উচিত।
- Catastrophic Event: বন্যা, ভূমিকম্প বা হ্যাকিং। ডেটা করাপ্ট হতে পারে।
ব্যাকআপ পদ্ধতি
- Full Backup: পুরো ডাটাবেস (ডেটা + ট্রানজ্যাকশন লগ) কপি। সময় বেশি লাগে।
- Transaction Log Backup: শুধু ট্রানজ্যাকশন লগ। পুরনো লগ ডিলিট হয়ে ফাইল ছোট রাখা হয়।
- Differential Backup: লাস্ট ফুল ব্যাকআপের পর পরিবর্তিত ডেটা + লগ সংরক্ষণ। ফাইল ছোট হয়।
ডাটাবেস রিকভারি
- Log-based Recovery: সব ট্রানজ্যাকশনের লগ সিকিউর এরিয়ায় রাখা হয়। ট্রানজ্যাকশন এক্সিকিউট করার আগে লগ সংরক্ষণ করতে হয়।
- Shadow Paging: ট্রানজ্যাকশন কমপ্লিট হলে ডেটা অটোমেটিক সেফ রাখা হয়। সিস্টেম ক্র্যাশ হলে আধা-অधূরা পরিবর্তন ডাটাবেসে প্রতিফলিত হয় না।