نشر بواسطة : 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.



 


علامات : Database

يمكن ان يعجبك ايضا


Comments

لايوجد تعليق حتى الان