DB2 ডেটাবেস সিস্টেমে Backup এবং Restore প্রক্রিয়া অত্যন্ত গুরুত্বপূর্ণ, কারণ এই প্রক্রিয়ার মাধ্যমে ডেটাবেসের তথ্য নিরাপদে সংরক্ষণ এবং পুনরুদ্ধার করা যায়। ডেটাবেসের তথ্য হারানো বা ত্রুটি হলে, DB2-এর Backup এবং Restore ফিচার ব্যবহার করে ডেটাবেস পুনরুদ্ধার করা সম্ভব। এখানে DB2 Backup এবং Restore পদ্ধতির বিস্তারিত আলোচনা করা হলো।
DB2 তে ব্যাকআপ নেয়ার জন্য Backup কমান্ড ব্যবহার করা হয়। ব্যাকআপের মাধ্যমে ডেটাবেসের পুরো কনটেন্ট বা নির্দিষ্ট টেবিল, ডেটাবেস অবজেক্ট সুরক্ষিত করা হয়, যা পরবর্তীতে ডেটা হারানোর সময় পুনরুদ্ধার করা যেতে পারে।
একটি সম্পূর্ণ ডেটাবেসের ব্যাকআপ নেয়ার জন্য নিম্নলিখিত কমান্ড ব্যবহার করা হয়:
db2 backup db <database_name> to <backup_location>
উদাহরণ:
db2 backup db sample to /backup/db2_full_backup
এই কমান্ডটি sample
নামক ডেটাবেসের পূর্ণ ব্যাকআপ /backup/db2_full_backup
ফোল্ডারে সংরক্ষণ করবে।
Incremental Backup কেবলমাত্র এমন ডেটার ব্যাকআপ নেয় যা পূর্বের ব্যাকআপের পর পরিবর্তিত হয়েছে। এটি ব্যাকআপ ফাইলের আকার ছোট রাখে এবং ব্যাকআপ প্রক্রিয়া দ্রুত সম্পন্ন হয়।
db2 backup db <database_name> incremental to <backup_location>
উদাহরণ:
db2 backup db sample incremental to /backup/db2_incremental_backup
Differential Backup হল এমন একটি ব্যাকআপ যা পূর্ববর্তী পূর্ণ ব্যাকআপের পর পরিবর্তিত সমস্ত ডেটা সংরক্ষণ করে। এটি ইনক্রিমেন্টাল ব্যাকআপের তুলনায় বেশি ডেটা সংগ্রহ করে, তবে পূর্ণ ব্যাকআপের মতো বড় হয় না।
db2 backup db <database_name> differential to <backup_location>
উদাহরণ:
db2 backup db sample differential to /backup/db2_diff_backup
DB2 একটি Online Backup ফিচার প্রদান করে, যার মাধ্যমে ডেটাবেস চলাকালীন সময়ে ব্যাকআপ নেয়া সম্ভব। এটি ডেটাবেসের অ্যাপ্লিকেশন ব্যবহারকারীদের জন্য ব্যাকআপ নেওয়ার সুবিধা দেয়, কারণ ব্যাকআপ নেয়ার সময় ডেটাবেস অ্যাক্সেসযোগ্য থাকে।
db2 backup db <database_name> online to <backup_location>
উদাহরণ:
db2 backup db sample online to /backup/db2_online_backup
DB2 তে ব্যাকআপের পরবর্তী পদক্ষেপ হল Restore। যখন ডেটাবেসের ডেটা হারানো বা দুর্নীতি হয়, তখন ব্যাকআপ ফাইল থেকে ডেটাবেস পুনরুদ্ধার করা হয়। DB2 তে ডেটাবেস রিস্টোর করার জন্য RESTORE
কমান্ড ব্যবহার করা হয়।
ব্যাকআপ করা একটি সম্পূর্ণ ডেটাবেস পুনরুদ্ধার করতে নিম্নলিখিত কমান্ড ব্যবহার করা হয়:
db2 restore db <database_name> from <backup_location>
উদাহরণ:
db2 restore db sample from /backup/db2_full_backup
এই কমান্ডটি sample
ডেটাবেসের পূর্ণ ব্যাকআপ থেকে পুনরুদ্ধার করবে।
Incremental Restore ব্যবহার করে আপনি ব্যাকআপের পর নতুন করা পরিবর্তনগুলো পুনরুদ্ধার করতে পারেন। এটি প্রথমে পূর্ণ ব্যাকআপ রিস্টোর করে তারপর ইনক্রিমেন্টাল ব্যাকআপ রিস্টোর করে।
db2 restore db <database_name> incremental from <backup_location>
উদাহরণ:
db2 restore db sample incremental from /backup/db2_incremental_backup
Online Restore ডেটাবেস চলাকালীন সময়ে ব্যাকআপ থেকে রিস্টোর করার প্রক্রিয়া। এটি যখন ডেটাবেস অ্যাপ্লিকেশন চলমান থাকে, তখন রিস্টোর প্রক্রিয়া সম্পন্ন করতে সহায়তা করে।
db2 restore db <database_name> online from <backup_location>
উদাহরণ:
db2 restore db sample online from /backup/db2_online_backup
ডেটাবেস পুনরুদ্ধার করার পর, Rollforward কমান্ড ব্যবহার করে আপনি ডেটাবেসের সিঙ্ক্রনাইজেশন সম্পন্ন করতে পারেন, বিশেষ করে যদি আপনার ব্যাকআপের পর নতুন ট্রানজেকশন গুলি ঘটে থাকে।
db2 rollforward db <database_name> to end of logs and complete
উদাহরণ:
db2 rollforward db sample to end of logs and complete
এই কমান্ডটি রিস্টোর করা ডেটাবেসে সকল লোগ এবং ট্রানজেকশন পুনরুদ্ধার করবে।
Point-in-Time Recovery ব্যবহারের মাধ্যমে আপনি নির্দিষ্ট সময়ের পর ডেটাবেস পুনরুদ্ধার করতে পারেন। এটি এমন সময়ের ভিত্তিতে কার্যকর হয় যখন আপনি একটি নির্দিষ্ট টাইমস্ট্যাম্পে ডেটাবেস পুনরুদ্ধার করতে চান।
db2 restore db <database_name> from <backup_location> taken at <timestamp>
ব্যাকআপ থেকে রিস্টোর করার পর Rollforward
কমান্ড ব্যবহার করে ব্যাকআপের পরের ট্রানজেকশন পুনরুদ্ধার করা যায়।
db2 restore db <database_name> from <backup_location> rollforward
DB2 ব্যাকআপ এবং রিস্টোর পদ্ধতি ডেটাবেসের সুরক্ষা নিশ্চিত করতে গুরুত্বপূর্ণ ভূমিকা পালন করে। এটি ডেটা হারানো বা দুর্নীতির ক্ষেত্রে দ্রুত ডেটাবেস পুনরুদ্ধার করতে সহায়তা করে। DB2 তে Full Backup, Incremental Backup, এবং Differential Backup সহ বিভিন্ন ব্যাকআপ পদ্ধতি এবং Full Restore, Incremental Restore, Online Restore সহ বিভিন্ন রিস্টোর পদ্ধতি উপলব্ধ, যা ডেটাবেসের পারফরম্যান্স এবং নিরাপত্তা নিশ্চিত করে।
IBM DB2 ডেটাবেস সিস্টেমে ডেটা সুরক্ষা এবং পুনরুদ্ধারের জন্য Backup একটি অত্যন্ত গুরুত্বপূর্ণ বিষয়। ডেটাবেসের তথ্য হারানো বা দুর্যোগের পরিস্থিতিতে ডেটা পুনরুদ্ধার করার জন্য ব্যাকআপ কৌশল অপরিহার্য। DB2-তে ব্যাকআপের জন্য বিভিন্ন কৌশল এবং পদ্ধতি রয়েছে, যা ডেটার নিরাপত্তা এবং সংরক্ষণ নিশ্চিত করে। এখানে DB2-এ ব্যাকআপ কৌশল নিয়ে বিস্তারিত আলোচনা করা হলো।
DB2-এ ব্যাকআপ কৌশল মূলত দুটি প্রধান ধরণের হয়: Full Backup এবং Incremental Backup। এছাড়া, Online Backup এবং Offline Backup এর মধ্যেও পার্থক্য রয়েছে।
Full Backup একটি সম্পূর্ণ ব্যাকআপ প্রক্রিয়া, যেখানে ডেটাবেসের সমস্ত ডেটা (টেবিল, ইনডেক্স, টেবিল স্পেস ইত্যাদি) একটি নির্দিষ্ট সময়ে ব্যাকআপ করা হয়।
BACKUP DATABASE <database_name> TO <backup_location>;
উদাহরণ:
BACKUP DATABASE SalesData TO '/db2backup/';
এটি SalesData ডেটাবেসের সম্পূর্ণ ব্যাকআপ তৈরি করবে এবং ব্যাকআপ ফাইল /db2backup/
ডিরেক্টরিতে সংরক্ষণ করবে।
Incremental Backup কেবলমাত্র সেগুলি ব্যাকআপ নেয় যেগুলি আগের ব্যাকআপের পর পরিবর্তিত হয়েছে। এটি পূর্বের ব্যাকআপের উপর ভিত্তি করে কাজ করে এবং সময় এবং স্টোরেজ ব্যবহার কমিয়ে দেয়।
BACKUP DATABASE <database_name> TO <backup_location> INCREMENTAL;
উদাহরণ:
BACKUP DATABASE SalesData TO '/db2backup/' INCREMENTAL;
এটি পূর্ববর্তী ব্যাকআপের পর পরিবর্তিত ডেটার ব্যাকআপ নেবে।
Online Backup হল একটি ব্যাকআপ প্রক্রিয়া যা ডেটাবেসের কাজ চলাকালীন সময়ে নেওয়া হয়। এটি বিশেষভাবে বড় ডেটাবেস এবং উৎপাদন পরিবেশে উপকারী, যেখানে ডেটাবেসের কাজ বন্ধ করা সম্ভব নয়।
BACKUP DATABASE <database_name> TO <backup_location> ONLINE;
উদাহরণ:
BACKUP DATABASE SalesData TO '/db2backup/' ONLINE;
Offline Backup হল এমন একটি ব্যাকআপ প্রক্রিয়া যেখানে ডেটাবেস সিস্টেম বন্ধ থাকে এবং সমস্ত ডেটা ব্যাকআপ নেওয়া হয়।
BACKUP DATABASE <database_name> TO <backup_location> OFFLINE;
উদাহরণ:
BACKUP DATABASE SalesData TO '/db2backup/' OFFLINE;
DB2-তে সাধারণত Full Backup এবং Incremental Backup একে অপরকে পরিপূরক হিসেবে ব্যবহার করা হয়। আপনি প্রথমে Full Backup নিতে পারেন এবং তারপর নিয়মিত Incremental Backup নিয়ে ডেটা সুরক্ষা নিশ্চিত করতে পারেন।
DB2-এ ব্যাকআপ কৌশল হল ডেটা সুরক্ষার জন্য অত্যন্ত গুরুত্বপূর্ণ। আপনি Full Backup, Incremental Backup, Online Backup, এবং Offline Backup এর মাধ্যমে আপনার ডেটাবেসের সুরক্ষা নিশ্চিত করতে পারেন। সঠিক ব্যাকআপ কৌশল ব্যবহার করলে ডেটা হারানোর ঝুঁকি কমানো যায় এবং ডেটা পুনরুদ্ধার প্রক্রিয়া সহজ হয়।
ব্যাকআপ ডেটাবেস ব্যবস্থাপনায় একটি অপরিহার্য অংশ, যা ডেটাবেসের সুরক্ষা এবং পুনরুদ্ধারের জন্য অত্যন্ত গুরুত্বপূর্ণ। DB2-এ দুটি প্রধান ধরনের ব্যাকআপ পদ্ধতি রয়েছে: Full Backup এবং Incremental Backup। এগুলি ডেটাবেসের বিভিন্ন ব্যাকআপ স্ট্রাটেজি নিশ্চিত করতে ব্যবহৃত হয়, যেখানে Full Backup পুরো ডেটাবেসের ব্যাকআপ নেয় এবং Incremental Backup কেবলমাত্র পরিবর্তিত ডেটার ব্যাকআপ নেয়।
Full Backup হল এক ধরনের ব্যাকআপ যা পুরো ডেটাবেসের একটি সম্পূর্ণ কপি তৈরি করে। এটি ডেটাবেসের সকল অবজেক্ট (টেবিল, ইনডেক্স, ভিউ, স্কিমা ইত্যাদি) এবং তাদের ডেটা সম্পূর্ণভাবে কপি করে।
db2 backup db <database_name> to <backup_location>
এখানে, <database_name>
আপনার ডেটাবেসের নাম এবং <backup_location>
হল ব্যাকআপ সংরক্ষণের লোকেশন। এই কমান্ডটি পুরো ডেটাবেসের ব্যাকআপ তৈরি করবে।
Incremental Backup হল এমন একটি ব্যাকআপ পদ্ধতি যা শুধুমাত্র শেষ ব্যাকআপের পর পরিবর্তিত বা নতুন ডেটার ব্যাকআপ নেয়। এটি পূর্ববর্তী ব্যাকআপের পরে যে কোনো পরিবর্তিত বা নতুন ডেটা কপি করে। ইনক্রিমেন্টাল ব্যাকআপ সময় এবং স্টোরেজ সাশ্রয়ী হলেও, এর পুনরুদ্ধার প্রক্রিয়া কিছুটা জটিল হতে পারে কারণ সবগুলো ব্যাকআপ সিকোয়েন্স অনুযায়ী প্রয়োগ করতে হয়।
db2 backup db <database_name> incremental to <backup_location>
এখানে, <database_name>
হল ডেটাবেসের নাম এবং <backup_location>
হল ব্যাকআপ সংরক্ষণের লোকেশন। এই কমান্ডটি ইনক্রিমেন্টাল ব্যাকআপ তৈরি করবে এবং শুধুমাত্র শেষ ব্যাকআপের পর পরিবর্তিত ডেটা কপি করবে।
বৈশিষ্ট্য | Full Backup | Incremental Backup |
---|---|---|
ব্যাকআপের পরিমাণ | পুরো ডেটাবেসের ব্যাকআপ | শুধুমাত্র পরিবর্তিত ডেটা ব্যাকআপ করা হয় |
স্টোরেজ প্রয়োজন | বেশি স্টোরেজ প্রয়োজন | কম স্টোরেজ প্রয়োজন |
সময়ের প্রয়োজন | বেশি সময় নেয় | কম সময় নেয় |
পুনরুদ্ধারের প্রক্রিয়া | সহজ এবং দ্রুত পুনরুদ্ধার | পুনরুদ্ধারে আগের সকল ইনক্রিমেন্টাল ব্যাকআপ প্রয়োজন |
ব্যাকআপ ফ্রিকোয়েন্সি | সাধারণত কম সময় ব্যবধানে একবার নেওয়া হয় | পুনরাবৃত্তি ব্যাকআপ নেওয়া হয় (দৈনিক বা সাপ্তাহিক) |
ডেটাবেস ব্যবস্থাপনার জন্য একটি কার্যকরী ব্যাকআপ কৌশল তৈরি করতে, অনেক সময় Full এবং Incremental Backup একসাথে ব্যবহার করা হয়। Full Backup ব্যবহার করে মূল ব্যাকআপ সংরক্ষণ করা হয় এবং তার পরবর্তী সময় ইনক্রিমেন্টাল ব্যাকআপ ব্যবহার করে কার্যকরীভাবে ডেটা সুরক্ষা নিশ্চিত করা হয়।
Automated Backup Scheduling DB2 ডেটাবেসের জন্য একটি অত্যন্ত গুরুত্বপূর্ণ কার্যক্রম, কারণ এটি ডেটার সুরক্ষা এবং নিরবচ্ছিন্ন ব্যবস্থাপনা নিশ্চিত করে। DB2-এর মাধ্যমে আপনি সহজেই ব্যাকআপ তৈরি করতে পারেন এবং সেগুলির সময়সূচী নির্ধারণ করে স্বয়ংক্রিয়ভাবে ব্যাকআপ প্রক্রিয়া চালাতে পারেন। এটি বিশেষভাবে গুরুত্বপূর্ণ যখন ডেটাবেস সিস্টেমে অনেক বড় পরিমাণ ডেটা থাকে এবং নিয়মিত ব্যাকআপের প্রয়োজন হয়।
DB2-এ অটোমেটেড ব্যাকআপ শিডিউল সেটআপ করার জন্য DB2 Backup Utility ব্যবহার করা হয়। DB2 ব্যাকআপ সাধারণত db2 backup
কমান্ডের মাধ্যমে নেওয়া হয়, এবং আপনি এটি crontab (Linux) অথবা Task Scheduler (Windows) ব্যবহার করে অটোমেটিকভাবে শিডিউল করতে পারেন।
Linux বা Unix সিস্টেমে, আপনি cron টাস্ক ব্যবহারের মাধ্যমে DB2 ব্যাকআপ শিডিউল করতে পারেন।
প্রথমে, crontab
ফাইলটি এডিট করুন:
crontab -e
ব্যাকআপ কমান্ড লিখুন:
উদাহরণস্বরূপ, যদি আপনি প্রতি রাত ১টা ৩০ মিনিটে ব্যাকআপ নিতে চান, তবে নিচের মতো cron job লিখুন:
30 1 * * * /home/db2inst1/sqllib/bin/db2 backup database SAMPLE to /home/db2inst1/backup/
এখানে:
30 1 * * *
: প্রতি রাত ১টা ৩০ মিনিটে ব্যাকআপ নেওয়ার জন্য শিডিউল করা।/home/db2inst1/sqllib/bin/db2
: DB2 ব্যাকআপ কমান্ডের পথ।backup database SAMPLE
: SAMPLE ডেটাবেসের ব্যাকআপ নেওয়া।to /home/db2inst1/backup/
: ব্যাকআপ ফাইলের সংরক্ষণের লোকেশন।Windows সিস্টেমে, Task Scheduler ব্যবহার করে DB2 ব্যাকআপ শিডিউল করা যেতে পারে।
Actions ট্যাবে New নির্বাচন করুন এবং ব্যাকআপ কমান্ডটি চালানোর জন্য db2 backup কমান্ডটি যোগ করুন। উদাহরণ:
"C:\Program Files\IBM\SQLLIB\BIN\db2.exe" backup database SAMPLE to "C:\DB2Backup"
DB2-এ বিভিন্ন ধরনের ব্যাকআপ করা যায়, যেগুলির মধ্যে সবচেয়ে গুরুত্বপূর্ণ হল:
DB2-এ Automated Backup Scheduling এর মাধ্যমে আপনি নিয়মিত ব্যাকআপ নিতে পারেন এবং এটি সিস্টেমের ডেটার নিরাপত্তা এবং অখণ্ডতা নিশ্চিত করে। আপনি Linux/Unix সিস্টেমে cron এবং Windows সিস্টেমে Task Scheduler ব্যবহার করে ব্যাকআপ শিডিউল করতে পারেন। ব্যাকআপ প্রক্রিয়া নিশ্চিত করার জন্য সঠিক ধরনের ব্যাকআপ নির্বাচন করা এবং নিয়মিত রিভিউ করা অত্যন্ত গুরুত্বপূর্ণ।
DB2 ডেটাবেস রিস্টোর পদ্ধতি ডেটাবেস ব্যাকআপের পর ডেটা পুনরুদ্ধার করার জন্য ব্যবহৃত হয়। ডেটাবেস রিস্টোর প্রক্রিয়াটি অত্যন্ত গুরুত্বপূর্ণ, বিশেষ করে যখন ডেটাবেস ক্র্যাশ বা কোনো বিপর্যয়ের কারণে ডেটা হারিয়ে যায়। DB2-এ ডেটাবেস রিস্টোর করা একটি সুনির্দিষ্ট প্রক্রিয়া অনুসরণ করে, যাতে আপনি ব্যাকআপ থেকে সঠিকভাবে ডেটা পুনরুদ্ধার করতে পারেন।
রিস্টোর প্রক্রিয়া শুরু করার আগে আপনাকে নিশ্চিত করতে হবে যে আপনার কাছে সঠিক ব্যাকআপ ফাইল রয়েছে। DB2 সাধারণত full ব্যাকআপ, incremental ব্যাকআপ, বা differential ব্যাকআপ ধারণ করে।
DB2-এ ডেটাবেস রিস্টোর করতে RESTORE DATABASE
কমান্ড ব্যবহার করা হয়। এটি ব্যাকআপ ফাইল থেকে ডেটাবেস পুনরুদ্ধার করার জন্য ব্যবহার করা হয়।
সিনট্যাক্স:
RESTORE DATABASE <database_name> FROM <backup_location> [WITH OPTIONS];
ধরা যাক, আপনার ডেটাবেসের নাম SattAcademy এবং ব্যাকআপ ফাইল /home/db2/backups
ফোল্ডারে আছে। আপনি ডেটাবেসটি রিস্টোর করতে নিম্নলিখিত কমান্ড ব্যবহার করবেন:
RESTORE DATABASE SattAcademy FROM /home/db2/backups;
ইনক্রিমেন্টাল ব্যাকআপ হলে, আপনাকে ইনক্রিমেন্টাল ব্যাকআপ ফাইলও রিস্টোর করতে হবে যা পূর্ববর্তী ব্যাকআপের পর নতুন পরিবর্তনগুলি ধারণ করে।
ইনক্রিমেন্টাল রিস্টোরের উদাহরণ:
RESTORE DATABASE SattAcademy FROM /home/db2/backups TAKEN AT <timestamp>
INCREMENTAL FROM /home/db2/incremental_backups;
এখানে, TAKEN AT <timestamp>
আপনাকে সেই সময়ের ব্যাকআপ ফাইল নির্বাচন করতে সহায়তা করবে যা আপনি রিস্টোর করতে চান।
যদি আপনি একটি ডেটাবেস পুনরুদ্ধার করতে চান এবং পূর্ববর্তী ডেটাবেসের ডেটা মুছে ফেলতে চান, তাহলে WITH REPLACE অপশন ব্যবহার করতে পারেন। এটি বর্তমান ডেটাবেসের ডেটা মুছে ফেলবে এবং ব্যাকআপ থেকে নতুন ডেটা রিস্টোর করবে।
WITH REPLACE অপশন উদাহরণ:
RESTORE DATABASE SattAcademy FROM /home/db2/backups WITH REPLACE;
Rollover Restore ব্যবহৃত হয় যখন ডেটাবেসের ব্যাকআপের একটি নির্দিষ্ট অংশ রিস্টোর করতে হয়। আর Redirect Restore ব্যবহৃত হয় যখন আপনি ডেটাবেসের রিস্টোর পাথ পরিবর্তন করতে চান।
Rollover Restore:
RESTORE DATABASE SattAcademy FROM /home/db2/backups
REDOLOG YES;
Redirect Restore:
RESTORE DATABASE SattAcademy FROM /home/db2/backups
TO /new/restore/path;
রিস্টোর করার পর ডেটাবেসে আরও পরিবর্তন বা ট্রানজেকশন থাকবে যেগুলি রোলফরওয়ার্ড করার মাধ্যমে সম্পূর্ণ করা যাবে। রোলফরওয়ার্ডের মাধ্যমে ডেটাবেস ট্রানজেকশনগুলিকে পুনরুদ্ধার করা হয়।
Rollforward Restore:
ROLLFORWARD DATABASE SattAcademy TO END OF LOGS AND COMPLETE;
এটি রিস্টোর করার পর ডেটাবেসের স্টেট আপডেট করবে এবং শেষ লগ পর্যন্ত সমস্ত পরিবর্তন কার্যকর করবে।
ডেটাবেস রিস্টোর এবং রোলফরওয়ার্ড সম্পন্ন করার পর, ডেটাবেসটি পুনরায় চালু করতে হবে। DB2-এ ডেটাবেস চালু করার জন্য START DATABASE
কমান্ড ব্যবহার করতে হয়।
START DATABASE SattAcademy;
DB2 ডেটাবেস রিস্টোর একটি গুরুত্বপূর্ণ প্রক্রিয়া, যা ব্যাকআপ থেকে ডেটা পুনরুদ্ধার করার মাধ্যমে ডেটাবেস পুনরুদ্ধার করতে সহায়তা করে। এটি Restore Command, Incremental Restore, WITH REPLACE, Rollforward এবং Redirect Restore অপশন ব্যবহার করে সম্পন্ন করা যায়। ডেটাবেসের রিস্টোর পর, রোলফরওয়ার্ড করতে হয় এবং ডেটাবেস চালু করার জন্য START DATABASE
কমান্ড ব্যবহার করা হয়। DB2 এর সঠিক রিস্টোর প্রক্রিয়া ডেটার অখণ্ডতা এবং সঠিকতা নিশ্চিত করতে সাহায্য করে।
common.read_more