Transaction Logging এবং Recovery

Database Tutorials - ডিবি২ (DB2) DB2 Transactions এবং Locking Mechanisms |
256
256

DB2-এ Transaction Logging এবং Recovery হল ডেটাবেসের নিরাপত্তা এবং স্থিতিস্থাপকতা নিশ্চিত করার জন্য অত্যন্ত গুরুত্বপূর্ণ ফিচার। এই ফিচারগুলির মাধ্যমে DB2 ডেটাবেস সিস্টেমে কার্যকরী ট্রানজেকশন পরিচালনা এবং দুর্যোগের পর পুনরুদ্ধার (recovery) সম্ভব হয়।


1. Transaction Logging

Transaction Logging হল একটি প্রক্রিয়া যেখানে DB2 ডেটাবেসে সম্পন্ন হওয়া সমস্ত ট্রানজেকশনগুলি লগ ফাইলে রেকর্ড করা হয়। এটি ট্রানজেকশন পরিচালনা এবং ডেটাবেস পুনরুদ্ধার প্রক্রিয়ার একটি গুরুত্বপূর্ণ অংশ।

বৈশিষ্ট্য:

  • অ্যাটমিকিটি এবং ইন্টিগ্রিটি: ট্রানজেকশন লগ ডেটাবেসের অ্যাটমিকিটি (Atomicity) এবং ডেটার ইন্টিগ্রিটি বজায় রাখতে সাহায্য করে। যখন কোনো ট্রানজেকশন সম্পূর্ণ হয় না বা মাঝপথে ব্যর্থ হয়, তখন লগ ফাইল ব্যবহার করে সেই পরিবর্তনগুলি রিভার্স করা যায়।
  • লগ ফাইল: DB2 একটি ডেটাবেস লগ ফাইল সংরক্ষণ করে, যা সমস্ত ট্রানজেকশনের তথ্য ধারণ করে।
  • রোলব্যাক এবং রোলফরওয়ার্ড: যখন কোনো ট্রানজেকশন ব্যর্থ হয়, তখন ROLLBACK কমান্ডের মাধ্যমে পূর্ববর্তী অবস্থায় ফিরে যাওয়া যায়। এবং সফল ট্রানজেকশন ROLLFORWARD করে পুনরুদ্ধার করা যায়।

উদাহরণ:

  • কনফিগারেশন: DB2-এ Transaction Logging সক্রিয় করার জন্য লগ ফাইলের পাথ নির্ধারণ করতে হয়:

    db2 update db cfg for <db_name> using LOGFILSIZ <size> LOGPRIMARY <num_files> LOGSECONDARY <num_files>;
    

    এখানে <size> হল প্রতিটি লগ ফাইলের আকার, এবং <num_files> হল প্রাথমিক এবং সেকেন্ডারি লগ ফাইলের সংখ্যা।

লগ ফাইলের গঠন:

  • Log File: এটি সমস্ত ট্রানজেকশনের পরিবর্তন রেকর্ড করে, যা পুনরুদ্ধারের জন্য প্রয়োজনীয়।
  • Commit Log: এটি একটি সফল ট্রানজেকশনের শেষ পর্যায়ের ডেটা।
  • Rollback Log: এটি ট্রানজেকশন ব্যর্থ হলে ডেটাবেসের পূর্ববর্তী অবস্থায় ফিরিয়ে আনার জন্য প্রয়োজনীয় ডেটা ধারণ করে।

2. Recovery (পুনরুদ্ধার)

Recovery হলো একটি প্রক্রিয়া যেখানে DB2 ডেটাবেসে পরিবর্তিত ডেটা পুনরুদ্ধার করা হয়। যখন কোনো ট্রানজেকশন সফলভাবে সম্পন্ন না হয় বা সিস্টেম ক্র্যাশ হয়ে যায়, তখন ট্রানজেকশন লগ ফাইলের সাহায্যে ডেটা রিকভার করা হয়।

2.1 Types of Recovery:

DB2-এ বেশ কিছু recovery কৌশল রয়েছে, যেগুলোর মাধ্যমে ডেটাবেস পুনরুদ্ধার করা যায়:

  1. Crash Recovery:
    • Crash Recovery ঘটে যখন ডেটাবেস সিস্টেম অনাকাঙ্ক্ষিতভাবে বন্ধ হয়ে যায় (যেমন সিস্টেম ক্র্যাশ)। এই ক্ষেত্রে DB2 ট্রানজেকশন লগের মাধ্যমে সমস্ত অপ্রকাশিত ট্রানজেকশন রোলব্যাক করে ডেটাবেসকে সঠিক অবস্থায় ফিরিয়ে নিয়ে আসে।
  2. Rollback:

    • Rollback কমান্ড ব্যবহার করে DB2 এর ডেটাবেসের কোনও অসম্পূর্ণ বা ব্যর্থ ট্রানজেকশন বাতিল করা যায়।
    ROLLBACK;
    
  3. Rollforward:

    • Rollforward হল DB2-এ পুনরুদ্ধারের জন্য ব্যবহৃত একটি পদ্ধতি যা লগ ফাইলের সাহায্যে সফল ট্রানজেকশনের তথ্য পুনঃস্থাপন করে।
    ROLLFORWARD DATABASE <db_name> TO END OF LOGS;
    
  4. Point-in-Time Recovery (PITR):

    • PITR একটি বিশেষ ধরনের রিকভারি কৌশল যা ডেটাবেসকে একটি নির্দিষ্ট সময়ে ফিরিয়ে আনে। যখন আপনি কোনো নির্দিষ্ট সময়ে ডেটাবেসের অবস্থানে ফিরে যেতে চান, তখন PITR ব্যবহৃত হয়।

    উদাহরণ:

    ROLLFORWARD DATABASE <db_name> TO <timestamp> USING LOGS;
    
  5. Restore:

    • Restore হলো ডেটাবেস পুনরুদ্ধারের একটি প্রক্রিয়া, যেখানে পূর্ববর্তী ব্যাকআপ ফাইল থেকে ডেটাবেস পুনরুদ্ধার করা হয়।
    db2 restore database <db_name> from <backup_location>;
    

2.2 Backup and Restore:

DB2-এ ডেটাবেসের ব্যাকআপ নেওয়া এবং পুনরুদ্ধার করা অত্যন্ত গুরুত্বপূর্ণ। Backup ডেটাবেসের সুরক্ষা নিশ্চিত করে এবং বিপর্যয়ের ক্ষেত্রে তা পুনরুদ্ধার করা যায়।

  • Full Backup: সম্পূর্ণ ডেটাবেসের ব্যাকআপ নেওয়া।
  • Incremental Backup: ডেটাবেসের শুধুমাত্র পরিবর্তিত অংশের ব্যাকআপ নেওয়া।

উদাহরণ:

db2 backup db <db_name> to <backup_directory>;

3. Recovery Log Management

DB2-এ লগ ফাইলের পরিচালনা একটি গুরুত্বপূর্ণ বিষয়। লগ ফাইলের মাধ্যমে সিস্টেমের পারফরম্যান্স এবং পুনরুদ্ধার কার্যক্রমের দক্ষতা নিশ্চিত করা হয়।

Recovery Log Configuration:

  • LOGFILSIZ: প্রতিটি লগ ফাইলের আকার নির্ধারণ করে।
  • LOGPRIMARY: কতটি প্রাথমিক লগ ফাইল DB2 তৈরি করবে।
  • LOGSECONDARY: কতটি সেকেন্ডারি লগ ফাইল DB2 তৈরি করবে।

উদাহরণ:

db2 update db cfg for <db_name> using LOGFILSIZ 10000 LOGPRIMARY 10 LOGSECONDARY 20;

4. Transaction Logging এবং Recovery এর গুরুত্ব

  • ডেটার এক্সেস: Transaction Logging ডেটাবেসের সঠিকতা বজায় রাখে এবং Recovery প্রক্রিয়া নিশ্চিত করে যে কোনো ধরনের বিপর্যয়ের পর ডেটাবেস পুনরুদ্ধারযোগ্য থাকবে।
  • ডেটা ইন্টিগ্রিটি: Log ফাইল ট্রানজেকশনগুলি সঠিকভাবে এবং অ্যাটমিকভাবে সম্পন্ন করার মাধ্যমে ডেটার ইন্টিগ্রিটি নিশ্চিত করে।
  • সিস্টেম রিলায়েবিলিটি: ট্রানজেকশন লগিং সিস্টেমের রিলায়েবিলিটি এবং স্থিতিস্থাপকতা বাড়ায়, কারণ কোন অপ্রত্যাশিত সিস্টেম ব্যর্থতার পরও ডেটা পুনরুদ্ধার করা সম্ভব হয়।

সারসংক্ষেপ

Transaction Logging এবং Recovery DB2 ডেটাবেস ম্যানেজমেন্টের অপরিহার্য অংশ। Transaction Logging ডেটাবেসের সঠিকতা এবং স্থিতিস্থাপকতা নিশ্চিত করতে সহায়তা করে, এবং Recovery সিস্টেমের যে কোনও ক্র্যাশ বা ব্যর্থতার পর ডেটাবেস পুনরুদ্ধারের জন্য কার্যকরী। Rollback, Rollforward, Restore, এবং Point-in-Time Recovery সহ বিভিন্ন রিকভারি কৌশল DB2-এ ব্যবহৃত হয়, যা ডেটাবেসের সুরক্ষা এবং কার্যকারিতা বজায় রাখে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion