লেখক পরিচিতি
লেখকের নাম:
মো: ইফতেখারুল আলম
মোট লেখা:৬
লেখা সম্পর্কিত
ওরাকল ডাটাবেজ অ্যাডমিনিস্ট্রেশন
ওরাকল ইনস্ট্যান্স ব্যবস্থাপনা :
ইনস্ট্যান্স ব্যবস্থাপনার মূল উদ্দেশ্য ইনিশিয়ালাইজ প্যারামিটার ফাইল তৈরি ও ম্যানেজ করা, ইনস্ট্যান্স স্টার্টআপ এবং শাটডাউন করা, ডায়াগনস্টিক ফাইলকে ব্যবহার ও মনিটর করা।
ইনিশিয়ালাইজ প্যারামিটার ফাইল : ওরাকল ইনস্ট্যান্স স্টার্ট এবং ডাটাবেজ ওপেন করতে অবশ্যই আমাদের SYSDBA হিসেবে যুক্ত করতে হবে এবং Startup কমান্ড দিতে হবে। এরপর ওরাকল সার্ভার ইনিশিয়ালাইজ প্যারামিটার ফাইল রিড করে সেই অনুযায়ী ইনস্ট্যান্সকে প্রস্তুত করবে। প্রথম সংখ্যায় উল্লেখ করা হয়েছিল দুই প্রকার ইনিশিয়ালাইজ প্যারামিটারের কথা PFILE & SPFILE, PFILE $oracle/Home/Dbs ডিরেক্টরিতে থাকে initSID.ora নামে। [SID= Service id].
ইনিশিয়ালাইজ প্যারামিটার ফাইল ধারণ করে
০১. ইনস্ট্যান্স প্যারামিটারের লিস্ট।
০২. ডাটাবেজের নাম।
০৩. এসজি-এর মেমরি অ্যালোকেশন।
০৪. কন্ট্রোল ফাইলের নাম এবং অবস্থান।
০৫. আনডু সেগমেন্টের তথ্য।
০৬. রিডু লগ ফাইল পূর্ণ হলে কি করতে হবে তার তথ্য।
পিফাইল (PFile) : ওএস এডিটর দিয়ে মডিফাই করা যায় এমন টেক্সট ফাইল। মেনু অনুযায়ী পরিবর্তন করা যায়। এ ফাইলে কোনো পরিবর্তন হলে তা শুধু পরবর্তী স্টার্টআপ থেকে কার্যকর হয়। ইনস্ট্যান্স স্টার্টআপের সময় ওপেন হয়। ডিফল্ট লোকেশন : $ORALLE-HOME /DBS
পিফাইল তৈরি করা
ক্রমধারা
০১. কোনো Pfile যা আগে থেকে সংরক্ষণ করা ছিল তা ওএস কমান্ডের মাধ্যমে কপি করতে হবে।
CP init. ora $ Oracle-Home/dbs/initdbaoi.ora
০২. ডাটাবেজের প্রয়োজন অনুসারে এডিট করে নিতে হবে।
এসপি ফাইল (Sp file) :
ওরাকল 9i-এ নতুনভাবে সংযোজিত এসপি ফাইল আসলে একটি বাইনারি ফাইল। এর অবস্থান $ORACLE_HOME/DBS এবং ডিফল্ট নেম ফরমেট SpfileSID.ora। একে মেনু অনুযায়ী পরিবর্তন করা যায় না। ওরাকল সার্ভার নিজে এর রক্ষণাবেক্ষণ করে থাকে।
এসপি ফাইল তৈরি করা :
পিফাইল থেকে এসপি ফাইল CREATE SPFILE কমান্ড দিয়ে করা হয়। তবে sys dba প্রিভিলেজ ছাড়া এই কমান্ড প্রয়োগ করা যাবে না।
CREATE SPFILE = ‘$ORACLE_HOME/dbs/spfileDBA01.ora’
FROM PFILE = ‘$ORACLE_HOME/dbs/initDBA01.ora’;
এই কমান্ড instance স্টার্টআপের আগের এবং পরেও প্রয়োগ করা যেতে পারে।
এসপি ফাইলের মান পরিবর্তন করা
Alter System কমান্ড দিয়ে আমরা ইনস্ট্যান্স প্যারামিটারের পরিবর্তন ঘটাতে পারি।
Alter System Set Parameter _name = Parameter_Value
[comment ‘teXt’] [scope=memory/sp file/Both]
এখানে-
Parameter name = প্যারামিটারের নাম।
Parameter value = প্যারামিটারের যে ভ্যালু পরিবর্তন করা হবে।
comment = কমেন্ট দিয়ে দেয়া।
Scope = আসলে কোথায় পরিবর্তন হবে তা এখানে উল্লেখ করা হয়।
ডাটাবেজ ওপেন হবার অর্ডার অব প্রিসিডেন্স
০১. ইউজারের তৈরি করা এসপি ফাইল, Sp file sid ora.
০২. ডিফল্ট এসপি ফাইল, Sp file.ora.
০৩. ইউজারের তৈরি পিফাইল, Init sid.ora
০৪. ডিফল্ট পিফাইল, Init.ora
ডাটাবেজের বিভিন্ন অবস্থান :
ডাটাবেজে যখন ওপেন হয়, তখন আসলে কি হয় তা জানার জন্য ডাটাবেজের বিভিন্ন অবস্থান সম্পর্কে ধারণা থাকতে হবে। ডাটাবেজ আসলে চারটি অবস্থায় থাকে। ০১. শাটডাউন, ০২. নোমাউন্ট, ০৩. মাউন্ট, ০৪. ওপেন।
০১. শাটডাউন : এই অবস্থায় ডাটাবেজ, এসজিএ এবং ব্যাকগ্রাউন্ট প্রসেস বন্ধ থাকে।
০২. নোমাউন্ট : এ অবস্থায় ডাটাবেজের ইনস্ট্যান্স ওপেন হয়। এর সাথে ডায়াগনস্টিক ফাইল যথা : Alart log এবং bacground trace file ওপেন হয়। এ অবস্থায় ডাটাবেজ তৈরি এবং কন্ট্রোল ফাইল রিক্রিয়েশন করা হয়ে থাকে।
০৩. মাউন্ট : এ অবস্থায় কন্ট্রোল ফাইল ওপেন হবে। তবে যদি কন্ট্রোল ফাইলে কোনো সমস্যা থাকলে error দেবে না। মাউন্ট অবস্থায় বেশ কিছু গুরুত্বপূর্ণ কাজ করা হয়। যেমন ডাটা ফাইল এবং রিডু লগ ফাইলে কোনো সমস্যা থাকলে তা এই অবস্থায় বসে ঠিক করা হয়। ডাটাবেজ আর্কাইভ মোডে কনভার্ট করা হয়। এছাড়া RMAN ব্যাকআপ নেয়া হয় এ মোডে।
০৪. ওপেন : এ অবস্থায় ডাটা ফাইল এবং রিডু লগ ফাইল ওপেন অবস্থায় থাকে।
বিভিন্ন ধরনের স্টার্টআপ কমান্ড
স্টার্টআপ কমান্ডের মাধ্যমে ডাটাবেজের ইনস্ট্যান্স ওপেন করা হয়।
Start up [no mount] [mount]
নোমাউন্ট : এসজিএ-কে ওপেন করে এবং ব্যাকগ্রাউন্ড প্রসেস ওপেন করে। তবে ডাটাবেজে অ্যাক্সেস করতে দেয় না।
মাউন্ট : কিছুসংখ্যক ডিবিএ কর্মকান্ড পরিচালনার অনুমতি দেয়া হয়, তবে ডাটাবেজে অনুমতি দেয়া হয় না।
STARTUP PFILE=$ORACLE_ HOME/dbs/initdb01.ora এখানে ইনস্ট্যান্স এবং ডাটাবেজ নির্দিষ্ট একটি পিফাইল দিয়ে ওপেন হয়।
স্টার্টআপ নোমাউন্ট : শাটডাউন অবস্থায় নোমাউন্ট মোডে নেবার জন্য এই কমান্ড দিতে হয়। Startup Mount, শাটডাউন অবস্থায় মাউন্ট মোডে, Alter Database mount, নোমাউন্ট অবস্থায় মাউন্ট মোডে নেবার জন্য ব্যবহার হয়। এছাড়া শাটআপ কমান্ট দিয়ে শাটডাউন অবস্থায়
Alter Database Mount
Alter Database Open
নোমাউন্ট অবস্থায় এবং Alter Database Open দিয়ে মাউন্ট অবস্থায় ডাটাবেজ ওপেন করা হয়ে থাকে।
ShutDown Comment : অবশ্যই Sysdba অথবা Sysoper হিসেবে কানেক্ট থাকতে হবে।
ShutDown [Normal / Trasactional/Immediate/Abort]
Normal : এ কমান্ডে কেউ কানেক্ট থাকলে শাটডাউন সাথে সাথে হবে না। সব ইউজার ডিসকানেক্ট হবার পর শাটডাউন হবে।
Transactional : এ কমান্ডের ফলে যেসব ইউজার কোনো ট্রানজেকশন অপারেট করছে তাদের ওইসব ট্রানজেকশন হবার পর সংযোগ বিচ্ছিন্ন হবে এবং ডাটাবেজ বন্ধ হবে, তবে নতুন কোনো ট্রানজেকশন করতে পারবে না।
Immediate : সব কানেকশন বিচ্ছিন্ন করে যদি কোনো প্রসেস চলে, তাহলে রোল ব্যাক করে শাটডাউন করবে।
Abort : যদি নরমাল এবং ইমিডিয়েট কমান্ড কাজ না করে, তবে এই কমান্ড দিতে হবে। এর ফলে শুধু ডাটাবেজ বন্ধ হবে। আপৎকালীন সময়ে এই কমান্ড দিয়ে কাজ সারতে হয়।
ইনস্ট্যান্স মনিটরিংয়ের জন্য ডায়াগনসিস ফাইল : এর কাজ হলো দৈনন্দিন সব কর্মকান্ডের তথ্য সংরক্ষণ করা।
Alart sid log : দৈনন্দিন সব অপারেশনের ডাটাবেজের তথ্য সংরক্ষণ করে। এর লোকেশন ডিফাইন করা হয় ব্যাকগ্রাউন্ট-ডাম্প-ডেস্ট এই পিফাইল থেকে তথ্য সংগ্রহ করে ডিবিএ ডাটাবেজের সমস্যা সমাধানে সিদ্ধান্ত গ্রহণ করে।
Background trace file : ব্যাকগ্রাউন্ড প্রসেসর লগ এরর এ ফাইলে থাকে। যখন কোনো ব্যাকগ্রাউন্ড প্রসেস এরর দেয়, শুধু তখন এই ফাইলটি তৈরি হয়। এর লোকেশন ডিফাইন করা হয় Backgroun-Dump-Dest প্যারামিটার দিয়ে।
ইউজার ট্রেস ফাইল : ইউজার ট্রেস ফাইল এসকিউএল স্টেটমেন্টের পরিসংখ্যান ধারণ করে। এর লোকেশন ডিফাইন করা হয় User_Dump_ Dest ইনিশিয়ালাইজ প্যারামিটার দিয়ে।
বিল্টইন ডাটাবেজ অবজেক্ট : ডাটাবেজ তৈরি করার সাথে সাথে কতগুলো স্ট্রাকচার তৈরি হয় যা ডাটা অ্যাডমিনিস্ট্রেশনের কাজে ব্যবহার হয়।
ডাটা ডিকশনারি : ডাটাবেজ অবজেক্টের বিভিন্ন বর্ণনা ধারণ করে থাকে।
ডায়নামিক পারফরমেন্স টেবিল : ডিবিএ ডাটাবেজ এবং ইনস্ট্যান্সকে মনিটর এবং টিউন করার জন্য প্রয়োজনীয় তথ্য ধারণ করে।
ডাটা ডিকশনারি : এটা ওরাকল সার্ভারের অন্যতম প্রধান একটি উপাদান। এর সাথে সম্পর্কিত ডাটাবেজের তথ্যসম্বলিত রিড অনলি টেবিল এবং ভিউ। এটা সিস্টেম টেবিলস্টেসে অবস্থিত এবং এর Sys ইউজারের অধীন। যখন কোনো ডাটা ডেফিনিশন ল্যাঙ্গুয়েজ (ডিডিএল) অথবা ডাটা ম্যানিপুলেশ ল্যাঙ্গুয়েজ (ডিএমএল) কমান্ড সংগঠিত হয়, তখনই ডাটা ডিকশনারি আপডেট হয়।
ডাটা ডিকশনারি যেসব তথ্য সরবরাহ করে
০১. লজিক্যাল এবং ফিজিক্যাল ডাটাবেজ স্ট্রাকচার।
০২. স্কিম অবজেক্ট তথা টেবিল, ভিউ, ইনজেন্স, ক্লাস্টার, সিকুয়েন্স, প্রসিডিউর, ফাংশন, প্যাকেজ, ট্রিগার ইত্যাদির ডেফিনিশন এবং এদের বরাদ্দ করা স্পেসের বর্ণনা থাকে।
০৩. কলামের ডিফল্ট ভ্যালু।
০৪. ইন্টিগ্রিটি কনস্ট্যান্টের তথ্য।
০৫. ওরাকল ইউজারের নাম।
০৬. ইউজার প্রতি রোল এবং প্রিভিলেজ।
০৭. অডিটের তথ্য।
ডাটা ডিকশনারি কিভাবে কাজ করে :
ডাটা ডিকশনারি বেজ টেবিলের ডাটা ওরাকল সার্ভারের কাজ করার জন্য অত্যন্ত জরুরি। শুধু ওরাকল সার্ভার ডাটা ডিকশনারিতে কোনো পরিবর্তন সাধন করতে পারে। ডাটাবেজ অপশনের সময় সার্ভার ডাটা ডিকশনারি রিড করে এবং সে অনুযায়ী ইউজার তার কাজ সম্পাদন করে। এছাড়াও সার্ভার ডাটাবেজ যেসব পরিবর্তন সাধন হয়, তার প্রতিফলন ডাটা ডিকশনারিতে ক্রমাগত সংরক্ষণ করে।
ডাটা ডিকশনারি ভিউ সব ডাটাবেজ ইউজারের তথ্য সরবরাহের কাজ করে। কিছু ভিউ সব ইউজারের জন্য ব্যবহারযোগ্য। আর কিছু আছে যা শুধু ডিবিএর জন্য সংরক্ষিত।
ডাটা ডিকশনারির উদাহরণ
০১. সাধারণ ওভারভিউ : DICTIONARY, DICT_COLUMNS
০২. স্কিম অবজেক্ট : DBA_TABLES, DBA_INDEXES
০৩. স্পেস অ্যালোকেশন : DBA_SEGMENTS, DBA_EXTENTS
০৪. ডাটাবেজ স্ট্রাকচার : DBA_TABLESPACES, DBA_DATA_FILES
ডায়নামিক পারফরমেন্স টেবিল :
অপারেশনজুড়ে ওরাকল সার্ভার সম্পর্কিত কর্মকান্ডগুলো একটি ভার্চুয়াল টেবিলের সেট সংরক্ষণ করে। এই টেবিল শুধু মেমরিতে অবস্থান করে ডাটাবেজ যখন চলমান থাকে। এটা নির্দেশ করে মেমরি এবং কন্ট্রোল ফাইলের প্রকৃত উৎস।
এই টেবিলগুলো সবাই ব্যবহার করতে পারে না। যদিও ডিবিএ, কোয়ারি, সিলেক্ট প্রিভিলেজ গ্রান্ট এবং ভিউ তৈরি করতে পারে। এসব ভিউকে বলা হয় ফিকস্ট ভিউ, কেননা ভিবিএ এদের কোনো পরিবর্তন করতে পারে না।
SYS এসব টেবিলের অধিপতি। এদের নাম শুরু হয় V_$ দিয়ে। এদের ভিউ এবং পাবলিক সিনোনেম তৈরি হয়। সিনোনেম শুরু হয় V$ দিয়ে। ডাইনাসি পারফরমেন্স টেবিলগুলো থেকে আমরা জানতে পারি :
০১. আবজেক্ট অনলাইন কি না।
০২. অবজেক্ট ওপেন না ক্লোজ।
০৩. কি ধরনের লগ বর্তমান।
০৪. সেশন একটিভ কি না।
কজ ওয়েব
ফিডব্যাক : ifthekhar@infobizsol.com