سؤال

لماذا أحتاج إلى اثنين منهم؟عندما لا بد لي من استخدام واحد أو آخر؟

هل كانت مفيدة؟

المحلول

@DAC

باختصار:SID = الاسم الفريد من DB الخاص بك ، serviceName = الاسم المستعار المستخدمة عند الاتصال

ليس صحيحاً تماماً..SID = الاسم الفريد للمثيل (على سبيل المثال، عملية أوراكل التي تعمل على الجهاز).تعتبر Oracle أن "قاعدة البيانات" هي الملفات.

اسم الخدمة = الاسم المستعار لـ INSTANCE (أو العديد من الحالات).الغرض الرئيسي من ذلك هو أنه إذا كنت تقوم بتشغيل مجموعة، فيمكن للعميل أن يقول "قم بتوصيلي إلى SALES.acme.com"، ويمكن لمسؤول قواعد البيانات تغيير عدد المثيلات المتاحة لطلبات SALES.acme.com بسرعة، أو حتى انقل SALES.acme.com إلى قاعدة بيانات مختلفة تمامًا دون أن يحتاج العميل إلى تغيير أي إعدادات.

نصائح أخرى

لطفا أنظر: http://www.sap-img.com/Oracle-database/finding-Oracle-sid-of-a-database.htm

ما هو الفرق بين Oracle SIDS و Oracle Service Service.تبحث أداة تكوين واحدة عن اسم الخدمة ثم يبحث التالي عن SIDS!ماذا يحدث هنا؟!

Oracle SID هو الاسم الفريد الذي يحدد مثيلك/قاعدة البيانات بشكل فريد حيث كاسم خدمة هو الاسم المستعار TNS الذي تقدمه عند الاتصال عن بُعد بقاعدة البيانات الخاصة بك ويتم تسجيل اسم الخدمة هذا في ملف tnsnames.ora على عملائك ويمكن أن يكون مثل SID ويمكنك أيضًا إعطائه أي اسم آخر تريده.

Service_name هي الميزة الجديدة من Oracle 8i فصاعدًا والتي يمكن لقاعدة البيانات فيها تسجيل نفسها مع المستمع.إذا تم تسجيل قاعدة البيانات مع المستمع بهذه الطريقة ، فيمكنك استخدام معلمة service_name في tnsnames.ora خلاف ذلك - استخدم SID في tnsnames.ora.

أيضًا إذا كان لديك OPS (RAC) ، فسيكون لديك Service_Name مختلف لكل حالة.

Service_Names تحدد اسمًا واحدًا أو أكثر لخدمة قاعدة البيانات التي يتصل بها هذا المثيل.يمكنك تحديد أسماء خدمات متعددة من أجل التمييز بين الاستخدامات المختلفة لقاعدة البيانات نفسها.على سبيل المثال:

service_names = sales.acme.com ، widgetsales.acme.com

يمكنك أيضًا استخدام أسماء الخدمة لتحديد خدمة واحدة متوفرة من قواعد بيانات مختلفة من خلال استخدام النسخ المتماثل.

في بيئة خادم Oracle Parallel ، يجب عليك تعيين هذه المعلمة لكل مثيل.

باختصار:SID = الاسم الفريد لمثيل قاعدة البيانات الخاصة بك، ServiceName = الاسم المستعار المستخدم عند الاتصال

أعلم أن هذا أمر قديم ولكن عند التعامل مع الأدوات أو الاستخدامات أو المستخدمين أو الأعراض الصعبة:يمكن لإضافة تسمية sid & Service إضافة القليل من المرونة إلى إدخالات tnsnames الخاصة بك كما يلي:

mySID, mySID.whereever.com =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = myHostname)(PORT = 1521))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = mySID.whereever.com)
    (SID = mySID)
    (SERVER = DEDICATED)
  )
)

اعتقدت للتو أنني سأترك هذا هنا لأنه ذو صلة بسيطة بالسؤال ويمكن أن يكون مفيدًا عند محاولة النسج حول بعض الخصوصيات غير الواضحة لشبكات أوراكل.

ما هو SID واسم الخدمة

يرجى النظر في وثائق أوراكل في https://docs.Oracle.com/cd/B19306_01/network.102/b14212/concepts.htm

في حالة عدم إمكانية الوصول إلى الرابط أعلاه في المستقبل، في وقت كتابة هذه الإجابة، سيوجهك الرابط أعلاه إلى موضوع "خدمة قاعدة البيانات وتحديد مثيل قاعدة البيانات" في فصل مفاهيم الاتصال من "دليل مسؤول خدمات شبكة قاعدة البيانات" .تم نشر هذا الدليل بواسطة Oracle كجزء من "Oracle Database Online Documentation, 10g Release 2 (10.2)"

عندما لا بد لي من استخدام واحد أو آخر؟لماذا أحتاج إلى اثنين منهم؟

خذ بعين الاعتبار أدناه رسم الخرائط في بيئة RAC،

SID      SERVICE_NAME
bob1    بوب
bob2    بوب
bob3    بوب
bob4    بوب

إذا تم تكوين موازنة التحميل، فسيقوم المستمع "بموازنة" حمل العمل عبر جميع معرفات SID الأربعة.حتى إذا تم تكوين موازنة التحميل، يمكنك الاتصال بـ bob1 طوال الوقت إذا كنت تريد ذلك باستخدام SID بدلاً من SERVICE_NAME.

يرجى الرجوع، https://community.Oracle.com/thread/4049517

وفقًا لمسرد أوراكل:

SID هو اسم فريد لمثيل قاعدة بيانات Oracle.---> للتبديل بين قواعد بيانات Oracle ، يجب على المستخدمين تحديد SID المطلوب <---.يتم تضمين SID في أجزاء بيانات الاتصال من واصفات الاتصال في ملف tnsnames.ora ، وفي تعريف مستمع الشبكة في ملف المستمع.يُعرف أيضًا باسم معرف النظام.قد يكون اسم خدمة Oracle أي شيء وصفي مثل "Myoracleserviceorcl".في Windows ، يمكنك تشغيل اسم الخدمة كخدمة ضمن خدمات Windows.

يجب عليك استخدام SID في TNSNAMES.ORA كطريقة أفضل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top