ওরাকল ডাটাবেজ অ্যাডমিনিস্ট্রেশন
ওরাকল সার্ভার ক্লায়েন্টের কাছে একটি সার্ভিস হিসেবে চিহ্নিত হয়ে থাকে। এই ডাটাবেজ এক বা একাধিক সার্ভিসের সাথে সম্পর্কিত থাকতে পারে। ডাটাবেজ অনেক সার্ভিস হিসেবে উপস্থাপিত হয় এবং সার্ভিসগুলোর অনেক ডাটাবেজ ইনস্টল হিসেবে বা বাস্তবায়িত হয়। ক্লায়েন্ট ডাটাবেজ সার্ভিসের সাথে কানেক্ট হবার জন্য কানেক্ট ডেসক্রিপ্টর ব্যবহার করে। কানেক্ট ডেসক্রিপ্টর ডাটাবেজ লোকেশন এবং ডাটাবেজ সার্ভিস নেম দেয়। মূলত কানেক্ট ডেসক্রিপ্টরের অ্যাড্রেসের অংশটিতে লিসেনারের প্রটোকল অ্যাড্রেসটি থাকে। ডাটাবেজ সার্ভিসের সাথে ক্লায়েন্ট কানেক্ট হবার আগে ডাটাবেজ সার্ভারের ভেতরের লিসেনার সার্ভিসের সাথে কানেক্ট হয়ে থাকে। যখন লিসেনার ক্লায়েন্টের মাধ্যমে কোনো কানেকশন রিকোয়েস্ট পায়, তখন লিসেনার ওই কানেকশন ডাটাবেজ সার্ভারে স্থানান্তরিত করে। একবার এই সংযোগ স্থাপিত হলে ক্লায়েন্ট ও সার্ভার সরাসরি যোগাযোগ রক্ষা করে। এ ছাড়াও কানেক্ট ডেসক্রিপ্টর ক্লায়েন্টের মাধ্যমে খোঁজ করা ডাটাবেজ সার্ভিস নেম নির্ধারণ করে দেয়। ওরাকল ডাটাবেজ ডাইনামিক্যালি লিসেনারে কিছু প্রয়োজনীয় তথ্য রেজিস্ট্রি করে দেয়, যাতে লিসেনার জানতে পারে কোন সার্ভিসের জন্য কানেকশন রিকোয়েস্ট পাঠানো হচ্ছে। যে প্রক্রিয়ায় এই রেজিস্ট্রি করা হয় তাকে বলা হয় সার্ভিস রেজিস্ট্রেশন। এ ছাড়াও সার্ভিস রেজিস্ট্রেশন লিসেনারকে সরবরাহ করে ডাটাবেজ ইনস্ট্যান্স সংক্রান্ত তথ্য, তবে ইনস্ট্যান্সের মাধ্যমে প্রয়োজনীয় সার্ভিস হ্যান্ডেলার। সার্ভিস ও হ্যান্ডেলার ওরাকল ডাটাবেজের প্রতি একটি কানেকশন পয়েন্টারের মতো কাজ করে। এটা ডিসপ্যাচার অথবা ডেডিকেটেড সার্ভার হতে পারে।
ওরাকল নেট কনফিগারেশন মেথড
কনফিগার সংক্রান্ত তথ্যসমূহ লোকালাইজড কনফিগারেশন ফাইল অথবা সেন্ট্রালাইজড রিপজিটরিতে সংরক্ষণ করা হয়। লোকালাইজড ম্যানেজমেন্ট নেটওয়ার্ক অ্যাড্রেসের তথ্য tnsnames.ora ফাইলে সংরক্ষণ করা হয়। অপরদিকে সেন্ট্রালাইজড ম্যানেজমেন্টে কমপিয়েন্ট ডিরেক্টরি সার্ভার অথবা নেম সার্ভারে সংরক্ষণ করা হয়।
নেমিং মেথড :
ডাটাবেজ সার্ভিসের সাথে যখন কোনো ক্লায়েন্ট সংযোগ স্থাপন করতে চেষ্টা করে, তখন এই ক্লায়েন্ট কানেক্ট ডেসক্রিপ্টর সংক্রান্ত বিষয়ে নেমিং মেথডের মাধ্যমে তার সিদ্ধান্ত নেয়। ওরাকল নেট পাঁচ ধরনের নেমিং মেথডকে সাপোর্ট করে।
০১. হোস্ট নেমিং :
ইউজারকে তার বর্তমান নেম রিসল্যুশন সার্ভিসের ভেতর থেকে টিসিপি/আইপি এনভায়রনমেন্টে এনাবল করে।
০২. লোকাল নেমিং :
প্রতিটি ক্লায়েন্টের tnsnames.ora ফাইলে নেটওয়ার্ক অ্যাড্রেস লোকেট করা হয়।
০৩. ডিরেকটরি নেমিং :
সেন্ট্রাল ডিরেকটরি সার্ভারে ডাটাবেজ সার্ভিস অথবা নেট সার্ভিস স্টোর করা হয়।
০৪. ওরাকল নেম ৫ :
এক্সটারনাল নেম, ছোট অর্গানাইজেশনগুলো যেখানে অল্পসংখ্যক ডাটাবেজ থাকে যেখানে লোকাল অথবা হোস্ট নেমিং ব্যবহার হয়।
ওরাকল নেট কনফিগারেশন ফাইল
কনফিগারেশন মডেলের ওপর ভিত্তি করে নেটওয়ার্ক কমপিউটারে নিম্নলিখিত ফাইলসমূহকে কনফিগার করতে হয়।
Idap.ora :
এটা ডাটাবেজ সার্ভারে অবস্থান করে। ক্লায়েন্ট কমপিউটারকে সেন্ট্রালাইজ ম্যানেজমেন্ট ফিচারের জন্য কনফিগার করতে হয়। এই ফাইলে ডিরেক্টরি সার্ভারকে অ্যাক্সেস করার মতো প্রয়োজনীয় তথ্যসম্বলিত প্যারামিটার থাকে।
listener.ora :
ডাটাবেজ সার্ভারে অবস্থান করে। নিম্নলিখিত বিষয়সমূহ এতে অন্তর্ভুক্ত থাকে। ০১. প্রোটকল অ্যাড্রেস, ০২. ডাটাবেজ, নন-ডাটাবেজ সার্ভিস, ০৩. লিসেনারের জন্য ব্যবহারযোগ্য কন্ট্রোল ফাইল।
names.ora :
ওরাকল নেম সার্ভারে অবস্থান করে, ধারণ করে লোকেশন, ডোমেইনের তথ্য এবং নেম সার্ভারের জন্য অপশনাল কনফিগারেশন প্যারামিটার।
tnsnames.ora :
লোকাল নেমিং মেথডের জন্য এ ফাইলকে ব্যবহার করা হয়। ক্লায়েন্ট প্রান্তে অবস্থিত এই ফাইলে সার্ভিস নেম অন্তর্ভুক্ত থাকে।
sqlnet.ora :
ক্লায়েন্ট ও ডাটাবেজ সার্ভারে অবস্থান করে।
কনফিগারেশন ফাইলসমূহ ইউনিক্সে $ORACLE_HOME/network/admin এবং উইন্ডোজে
% ORACLE_HOME%/network/admin তৈরি হয়ে থাকে।
বেসিক ওরাকল নেট কনফিগারেশন :
ওরাকল নেট প্রতিষ্ঠা করার জন্য ক্লায়েন্ট এবং সার্ভার প্রান্তে আলাদা আলাদাভাবে কিছু ফাইলকে কনফিগার করা হয়ে থাকে। ক্লায়েন্ট প্রান্তে sqlnet.ora এবং tnsnames.ora Ora এবং সার্ভার এন্ডে listener .ora ফাইলটি কনফিগার করা হয়ে থাকে (চিত্র-১)।
সার্ভার সাইড কনফিগারেশন :
সার্ভার প্রান্তে listener.ora ফাইলটি কনফিগার করা হয়ে থাকে। এই ফাইলটি কনফিগার করার আগে অবশ্যই আমাদের বিস্তারিতভাবে জানতে হবে লিসেনার প্রসেস সম্বন্ধে। ওরাকল সার্ভার ক্লায়েন্ট অ্যাপ্লিকেশন থেকে প্রাথমিক কানেকশন লিসেনারের পেয়ে থাকে। মূলত লিসেনার এক বিশেষ প্রসেস, যা কোনো নোডে অবস্থান করে এক বা একাধিক ডাটাবেজের পক্ষ হতে ইনকামিং কানেকশন গ্রহণ করে থাকে। এর চারিত্রিক বৈশিষ্ট্যসমূহ নিম্নরূপ :
০১. লিসেনার প্রসেস একাধিক ডাটাবেজের জন্য লিসেন করতে পারে।
০২. লোডের ভারসাম্যের জন্য একাধিক লিসেনার একটি ডাটাবেজের জন্য কাজ করতে পারে।
০৩. মাল্টিপল প্রটোকল সাপোর্ট করে।
০৪. ওরাকল নেটে লিসেনারের ডিফল্ট নেম Listener
০৫. ওরাকল 9i-এর জন্য এর আগের ভার্সনের লিসেনার কাজ করবে না। যদিও 9i-এর লিসেনার এর আগের ডাটাবেজে কাজ করে।
কানেকশন মেথড :
যখন কোনো ক্লায়েন্ট সার্ভারে কানেকশন রিকোয়েস্ট পাঠায়, তখন লিসেনার অবশ্যই নিম্নলিখিত যেকোনো একটি কাজ করে থাকে।
০১. সার্ভার প্রসেস তৈরি করে এবং তা কানেকশনের জন্য একে পাস করে দেয়।
০২. ওরাকল শেয়ার্ড সার্ভার কনফিগারেশন।
০৩. ডিসপ্যাচার অথবা সার্ভার প্রসেসের কাছে কানেকশন রিডাইরেক্ট করা হয়।
স্পোন এবং বিকুইদ কানেকশন
লিসেনার কানেকশন প্রসেস গ্রহণ করার সাথে সাথে ডেডিকেটেড প্রসেস সৃষ্টি করে এবং তা সার্ভার প্রসেসকে দিয়ে দেয়। যদি ওসব নেটওয়ার্ক এন্ড পয়েন্টের ইনহেরিটেন্সকে সাপোর্ট করে, তবেই এই মেথড কাজ করবে। যখন লিসেনার ডেডিকেটেড সার্ভার প্রসেস তুলে নেয় এবং কানেকশন সার্ভার প্রসেসকে দান করে তখন ওই সেশনকে বলা হয় বিকুইদ সেশন। নিম্নলিখিত ইভেন্টসমূহ সে সময় ঘটে থাকে (চিত্র-২)।
০১. লিসেনার ক্লায়েন্ট কানেকশন রিসিভ করে।
০২. লিসেনার ডেডিকেটেড সার্ভার প্রসেস সৃষ্টি করে এবং তা লিসেনার হতে কানেকশন রিকোয়েস্ট পায়।
০৩. এরপর ক্লায়েন্ট সরাসরি ডেডিকেটেড সার্ভারের সাথে সংযুক্ত হয়।
সরাসরি হ্যান্ড অফ কানেকশন
এই প্রক্রিয়ায় লিসেনার ডিসপ্যাচার নামের এক ধরনের সার্ভিস হ্যান্ডেলার ব্যবহার করে, যা ক্লায়েন্ট রিকোয়েস্টকে নির্দেশনা দিতে পারে। যখন কোনো ক্লায়েন্ট রিকোয়েস্ট পাঠায়, তখন লিসেনার নিম্নলিখিত যেকোনো একটি কাজ করে থাকে।
০১. ডিসপ্যাচারের কাছে সরাসরি কানেকশন তুলে দেয়।
০২. ক্লায়েন্টের জন্য একটি রিডাইরেক্ট মেসেজ ইস্যু করে (ডিসপ্যাচারের, অ্যাড্রেস সম্বলিত)। এরপর ক্লায়েন্ট লিসেনারের সাথে নেটওয়ার্ক সেশন টার্মিনেট করে এবং ডিসপ্যাচারের সাথে নেটওয়ার্ক সেশন তৈরি করে। তবে যখনই সম্ভব হয়, তখন লিসেনার সরাসরি হ্যান্ড অফ ব্যবহার করে। তবে রিডাইরেক্ট মেসেজ তখনই ব্যবহার করা হবে, যখন ডিসপ্যাচার লিসেনারের সাপেক্ষে রিসেটে অবস্থান করে। সরাসরি হ্যান্ড অফ কানেকশনে নিম্নলিখিত ইভেন্টসমূহ ঘটে থাকে।
০১. লিসেনার ক্লায়েন্ট কানেকশন রিকোয়েস্ট রিসিভ করে।
০২. লিসেনার সরাসরি ওই রিকোয়েস্ট ডিসপ্যাচারকে হস্তান্তর করে।
০৩. এরপর ক্লায়েন্ট সরাসরি ডিসপ্যাচারের সাথে সংযোগ স্থাপন করে।
০ টি মন্তব্য