১২ঈ ওরাকল ডাটাবেজ ম্যানেজমেন্ট সিস্টেম (পর্ব-০৭)
মোহাম্মদ মিজানুর রহমান নয়ন
ইনস্ট্যান্স শাটডাউন প্রক্রিয়া
ডাটাবেজ ইনস্ট্যান্সকে শাটডাউন করার সময় এটি নিচের প্রক্রিয়া অনুসরণ করে
১। ডাটাবেজ ক্লোজ করে।
২। ডাটাবেজ আনমাউন্ট করে।
৩। কন্ট্রোল ফাইল ক্লোজ করে।
৪। ইনস্ট্যান্স শাটডাউন করে।
ওরাকল ডাটাবেজ ইনস্ট্যান্সের শাটডাউন প্রক্রিয়াটি চার ধরনের হতে পারে। যেমন
১। নতুন কোনো ক্লায়েন্ট ডাটাবেজে সংযুক্ত হতে পারে না।
২। সব ইউজার ডিসকানেক্ট না হওয়া পর্যন্ত ওরাকল ডাটাবেজ অপেক্ষা
করে।
৩। ডাটা বাফার এবং রিডো বাফারের কনটেন্টগুলো ডিস্কে রাইট করা হয়।
৪। সব ব্যাকগ্রাউন্ড প্রসেস বন্ধ হয়।
৫। ঝএঅ এলোকেটেড মেমরি এরিয়া ছেড়ে দেয়।
৬। ওরাকল ডাটাবেজ ডিসমাউন্ট হয় এবং ইনস্ট্যান্স শাটডাউন হয়।
৭। নরমাল প্রক্রিয়ায় শাটডাউন হলে ডাটাবেজ স্টার্টআপ হওয়ার সময়
ইনস্ট্যান্স রিকভারি প্রয়োজন হয় না।
ট্রানজেকশনাল শাটডাউন
ট্রানজেকশনাল শাটডাউন প্রক্রিয়ায় নিচের কাজগুেেলা সম্পাদিত হয়
১। নতুন কোনো ক্লায়েন্ট ডাটাবেজে সংযুক্ত হতে পারে না।
২। সব ট্রানজেকশন সম্পাদন হওয়া পর্যন্ত ডাটাবেজ অপেক্ষা করে।
৩। ট্রানজেকশনগুলো সম্পাদিত হলে ডাটাবেজ সাথে সাথে শাটডাউন
হয়।
৪। এ প্রক্রিয়ায় শাটডাউন হলে পরে ডাটাবেজ স্টার্ট হওয়ার সময়
ইনস্ট্যান্স রিকভারি প্রয়োজন হয় না।
১। চলমান ঝছখ স্টেটমেন্টগুলো কমপ্লিট হয় না।
২। ডাটাবেজ কোনো ইউজার ডিসকানেক্ট হওয়ার জন্য অপেক্ষা করে না।
৩। সব ইউজারের অ্যাকটিভ ট্রানজেকশনগুলো রোলব্যাক (ৎড়ষষনধপশ)
করে।
৪। ইনস্ট্যান্স শাটডাউন হওয়ার আগে ডাটাবেজ ডিজমাউন্ট (ফরংসড়ঁহঃ)
হয়।
৫। পরে ডাটাবেজ স্টার্ট হওয়ার সময় ইনস্ট্যান্স রিকভারি প্রয়োজন হয় না।
অ্যাবর্ট শাটডাউন
অ্যাবর্ট শাটডাউন প্রক্রিয়ায় নিচের কাজগুলো সম্পাদিত হয়
১। চলমান ঝছখ স্টেটমেন্টগুলো সাথে সাথে বন্ধ হয়ে যায়।
২। ডাটাবেজ কোনো ইউজার ডিসকানেক্ট হওয়ার জন্য অপেক্ষা করে না
৩। ডাটা বাফার এবং রিডো বাফারের কনটেন্টগুলো ডিস্কে সংরক্ষিত হয়
না।
৪। আনকমিডেট ট্রানজেকশনগুলো রোলব্যাক হয় না।
৫। ডাটা ফাইল, অনলাইন রিডো লগ ফাইলসমূহ বন্ধ হয় না।
৬। ডাটাবেজ ডিজমাউন্ট হয় না।
৭। পরে ডাটাবেজ ইনস্ট্যান্স স্টার্ট করার সময় ইনস্ট্যান্স রিকভারি
প্রয়োজন হয়।
ইনস্ট্যান্স শাটডাউন কমান্ড
ডাটাবেজ শাটডাউন করার SQL কমান্ড
ডাটাবেজ শাটডাউন করার SQL কমান্ডগুলো নিচে তুলে ধরা হলো
বিভিন্ন টাইপ শাটডাউনের ভিন্নতা
নরমাল, ট্রানজেকশনাল ও ইমিডিয়েট শাটডাউনের সময় আনকমিটেড ট্রানজেকশনগুলো রোলব্যাক হয়ে যায়, ডাটা বাফার ক্যাশের ডাটা ডাটা বাফারে রাইট হয় এবং বিভিন্ন ধরনের সিস্টেম রিসোর্স রিলিজ করে দেয়া হয়। এক্ষেত্রে পরে যখন ডাটাবেজ আবার স্টার্ট করা হয়, তখন ইনস্ট্যান্স রিকভার করা প্রয়োজন হয় না।
অ্যাবর্ট শাটডাউন করা হলে অথবা ইনস্ট্যান্স ফেল হওয়ার কারণে ডাটাবেজ শাটডাউন হলে আনকমিটেড ট্রানজেকশনগুলো রোলব্যাক হয় না এবং ডাটা বাফারের ডাটাতে যে পরিবর্তন করা হয়, তা ডাটা ফাইলে রাইট করা হয় না। এক্ষেত্রে ডাটাবেজ আবার স্টার্ট করার সময় ইনস্ট্যান্স রিকভার করা প্রয়োজন হয়। এ সময় রিডো লগ ফাইল ব্যবহার করে ডাটাতে যে পরিবর্তনগুলো করা হয়েছিল, তা আবার রিপ্লাই করা হয় এবং আনডু সেগমেন্ট ব্যবহার করে আনকমিটেড পরিবর্তনগুলো রোলব্যাক করা হয়