Oracle Net Services
نشر بواسطة : Obay Salah , November 19, 2024
أن يكون لدينا سيرفر (Database Server) يحتوي على قاعدة البيانات التي تتصل بها جميع Client Application أو جميع الأجهزة التي تحتوي على برامج تحتاج إلى الاتصال بقاعدة البيانات.
هذا هو الشيء الطبيعي والمألوف الذي تعمل به أغلب الشركات في العالم، إذ لا يعقل أن تحتوي جميع الأجهزة التي تحتوي على برامج تحتاج إلى الاتصال بقاعدة البيانات أيضًا
على قاعدة بيانات، وإلا فنحن بحاجة إلى قاعدة بيانات لكل جهاز يحتوي على برنامج، وهذا غير مقبول عقلانيًا أو عمليًا. فإذا افترضنا أن لدينا سيرفر يحتوي على قاعدة بياناتDatabase Server، فإن جميع الأجهزة التي تحتوي على برامج تحتاج إلى قاعدة بيانات يمكنها الاتصال بهذا السيرفر. وسوف يكون محور حديثنا هنا حول كيفية إنجاح هذا الاتصال. لذا فإن الأمر سيكون على جانبين:
الجانب الأول هو جانب Database Server وكيف يمكنه خدمة جميع الطلبات التي تصل إليه للاتصال بقاعدة البيانات.
أما الجانب الثاني فهو جانب Client Application: وهو الجهاز الذي يريد الاتصال بقاعدة البيانات، وكيف يمكنه الوصول إلى قاعدة البيانات؟
الآن سنتحدث عن الجانب الأول وهو جانب Database Server وكيف يمكنه خدمة كافة الطلبات للاتصال بقاعدة البيانات؟
Server Side:
في هذا الجانب يستطيع Database Server أن يخدم طلبات الاتصال بقاعدة البيانات عبر Oracle Net Listener وهو المسئول عن معالجة طلبات ﺍلClients للاتصال بقاعدة البيانات وبدون ﺍلListener فإن محاولة الاتصال بقاعدة البيانات من خارج الخادم سوف تفشل أما محاولة الاتصال بقاعدة البيانات من داخل الخادم فلا تحتاج ﻟلListener حيث أنه متخصص في استقبال الطلبات الخارجية.
يمكن لمستمع واحدOne Listener أن يخدم عدد من الحالات وهو عبارة عن ملف موجود في المسار التالي إذا كنا نعمل على نظام التشغيل WINDOWS.
ORACLE_HOME%\NETWORK\ADMIN\LISTENER.ORA%
إذا كنا نعمل على نظام التشغيل UNIX
ORACLE_HOME/NETWORK/ADMIN/LISTENER.ORA$
يمكن لمسؤول قاعدة البيانات تحرير هذا الملف وتكوينه لتلقي طلبات الاتصال بقاعدة البيانات.
هذه عينة من ملف ﺍلListener يحتوي على One Listener يسمى Listener يعمل على خادم nbs ويراقب ﺍلPort 1251 باستخدام بروتوكول TCP.
يخدم هذا المستمع INSTANCE يسمى ORCL. بالطبع، يمكن لمسؤول قاعدة البيانات إضافة LISTENER جديد. لنفترض أننا نريد إضافة مستمع جديد يسمى LISTENER1 يعمل على نفس خادم NBS، ويراقب المنفذ 1521، ويخدم نفس ﺍلINSTANCE الذي يسمى ORCL باستخدام بروتوكول TCP.
تنسيق الملف بعد التعديل هو كما يلي:-
لاحظ التغييرات الجديدة في الملف وهي إضافة مستمع جديد يسمى LISTENER1.
بعد ذلك يمكننا التحكم في LISTENERS بواسطة الأمر LSNRCTL.
الأوامر المعروضة هي الأوامر المتاحة للتعامل مع LISTENER.
هذه الأوامر لتشغيل وإيقاف وعرض حالة المستمع، وكذلك تعيين وتغيير كلمة مرور للمستمع كشكل من أشكال التحقق، وكذلك إعادة تشغيل المستمع لاستيعاب التكوين المحدث لملف LISTENER.ORA وأوامر أخرى. بما أننا أضفنا مستمعًا جديدًا يسمى LISTENER1، فمن الأفضل تشغيل هذا المستمع، ولكن يجب ملاحظة أنه عند كتابة الأمر LISTENER يتعامل مع المستمع الافتراضي DEFAULT، وهو هنا LISTENER
لذا إذا أردنا التعامل مع المستمع غير الأصلي، فلدينا خياران:
الخيار الأول: تحديد اسم المستمع عند توجيه الأمر.
LSNRCTL START LISTENER1
الآن نقوم بتشغيل المستمع الجديد الذي قمنا بإنشائه في الخطوة السابقة وهو المستمع LISTENER1 ولو لم نكتب إسم المستمع بعد أمر START لكان قد تم التعامل مع المستمع الإفتراضي وهو المستمع LISTENER.
الخيار الثاني: إستخدام أمر SET CUR LISTENER_NAME لتعيين المستمع الإفتراضي الجديد DEFAULT LISTENER أي أن إسم المستمع الجديد سيكون الإفتراضي الذي سنتعامل معه.
LSNRCTL> SET CUR LISTENERE1
الآن LISTENER1 هو الDEFAULT LISTENER.
بعد إنشاء وتشغيل المستمع LISTENER1، يمكن متابعته عبر SERVICES إذا كنا نعمل على نظام التشغيل WINDOWS
الآن يمكن للمستمع LISTENER1 استقبال طلبات اتصال بقاعدة البيانات على PORT (1521) على خادم NBS باستخدام بروتوكول TCP لخدمة ORCL INSTANCE.
إذا أردنا مراقبة ومعرفة معلومات حول المستمع، فمن الأفضل استخدام أمر STATUS أو SERVICE لعرض معلومات حول المستمع مثل اسم المستمع وإصداره ومتى بدأ ﻭﺍلservices التي يخدمها ومسار ملف LISTENER.ORA وغيرها من المعلومات. وكما ذكرنا، يمكن لمستمع واحد خدمة عدد من INSTANCES، ويمكن لعدد من LISTENERS المشاركة في خدمة INSTANCE واحد، ويمكن أن يكون هناك عدد من INSTANCES على جهاز واحد، ولكل منها مستمع يخدمه. من Oracle8i فصاعدًا، يتم تسجيل ﺍلInstance الجديد تلقائيًا في ﺍل Default Listener، مما يعني أن مسؤول قاعدة البيانات لا يحتاج إلى إضافته يدويًا في ﺍلListener، فيما يُعرف باسم
ﺎل Dynamic Service registration.
تعيين كلمة مرور للمستمع:
1- قم بتشغيل محرر المستمع.
LSNRCTL
2- قم بتعيين كلمة المرور، لنفترض أنها 123، مع ملاحظة أنها لا تظهر على المحرر، وأنه لا يوجد كلمة مرور حالية للمستمع.
LSNRCTL> change_password
3- احفظ كلمة المرور في ملف LISTENER.ORA.
LSNRCTL>save_config
4- الآن تحتاج إلى كلمة المرور لإيقاف المستمع.
LSNRCTL> set passwdord 123 LSNRCTL> stop
5- يمكن ملاحظة التغييرات في ملف LISTENER.ORA.
Comments
لايوجد تعليق حتى الان