اتصالات قاعدة بيانات أوراكل - ما هي جميع الحقول التي أحتاج إلى ملءها؟

StackOverflow https://stackoverflow.com/questions/970253

  •  13-09-2019
  •  | 
  •  

سؤال

أنا معتاد على استخدام SQL Server واجهت الآن الاتصال بأوراكل. هل يمكنني الحصول على بعض الأوصاف التي لا لبس فيها تماما لما أحتاج إليه كل الحقول التي أحتاجها؟

على وجه التحديد، أريد أن أفهم ما هي:

الصفحة الرئيسية
اسم المضيف
ميناء
سيد
اسم الخدمة

شبكة الاسم المستعار
ربط المعرف

فهمي الأساسي هو أن اسم المضيف هو POOTER جلس، ولكن هل هذا يختلف عن المنزل؟ المنفذ هو منفذ TCP وتؤدي إلى 1521 - يبدو ذلك واضحا جدا.

أحتاج فقط إلى توفير اسم SID أو اسم الخدمة؟ وما هو الفرق - لماذا واحد أو آخر؟

إذا كان لدي ملف TNS، فما هو اسم مستعار الشبكة ومعرف الاتصال؟ هل هذه في أي حال نفس الحقول الأخرى التي لدي إذا لم أستخدم ملف TNS؟

آسف لتكون مستجد مثل هذا، ولكن البحث الأولي للحصول على إجابات لا يزال لي مشوش لي جدا.

شكرا!

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

المحلول

الصفحة الرئيسية: Oracle_home، متغير بيئة يشير إلى موقع Oracle Bonaries (إما مثيل الموقع يعمل من الخادم أو العميل يعمل من On Client) HostName: اسم منفذ الخادم: المنفذ الذي يستمع فيه المستمع إلى Oracle Connections SID : ** S ** ervice ** id ** Enverifier. اسم قاعدة البيانات. هذا هو أحد المعرفات التي سيقوم المستمع بتعرض اسم الخدمة: معرف بديل قد يتعرض للمستمع

على موقع موجود، تم تكوينه أسهل طريقة للعثور على هذه التفاصيل موجودة من ملف tnsnames.ora على عميل (أو خادم) يمكن إجراء منها الاتصالات على قاعدة البيانات. انظر تحت Oracle $ (Unlerscore) الصفحة الرئيسية / الشبكة / المسؤول. ابحث عن قيادة Oracle (Underscore) مع أمر Set (Windows) أو ENV (UNIX). قد يكون tnsnames.ora أيضا في موقع مدبب به بواسطة المتغير $ TNS_ADMIN.

إذا تعذر العثور على tnsnames.ora ويمكنك الوصول إلى الخادم، جرب الأمر التالي، عموما كمستخدم Oracle

حالة LSNRCTL.

lsnrctl هو المستمع. ستظهر الحالة أسماء SIDs وخدمة يعرفها (واثنان من التفاصيل الأخرى)

أو ابحث عن الملفات Listener.ora and Sqlnet.ora ضمن $ Oracle_home / Network / Admin أو في الموقع المدى به بواسطة متغير Ens $ TNS_ADMIN

عموما سيكون هناك مستمع واحد لكل مضيف، وبالتالي منفذ واحد لكل مضيف (قد يكون هناك المزيد ولكن ليس شائعا)

للاتصال ب Oracle، عليك توجيه العميل إلى المستمع في موقع محدد بواسطة مجموعة مضيف / منفذ وتخبره أي SID أو الخدمة للاتصال أيضا.

يعد تعليق Dcookie حول اسم خدمة SID مقابل الخدمة بشكل أساسي.

يمكن العثور على SID مع (اعتمادا على الإصدار)

حدد db_unique_name من قاعدة بيانات V $ أو حدد DB_NAME من قاعدة بيانات V $

أو عن طريق النظر في الملف $ oracle_home / dbs / init (اسم SID) .ora أو عن طريق القيام به

PS -F |. Grep غسل

وإذ تلاحظ الجزء الأخير من اسم العملية، مثل أورا (تحت إبطاء)

نصائح أخرى

إذا كنت تستخدم Oracle 10g أو أعلاه، استخدم Easy Connect بناء الجملة:

//servername/dbname

, ، كما في:

sqlplus scott/tiger@//servername/dbname

إذا كنت بحاجة إلى استخدام TNS, ، إليك مثال TNSNAMES.ORA:

XE = 
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = XE)
    )
  )

في CONNECT_DATA, ، يمكنك استخدام أي SERVICE_NAME (وهو معرف لمثيل مسجل مع المستمع)، أو SID (وهو معرف قاعدة البيانات).

في بضع كلمات:

  • SERVICE_NAME هو معرف للمثيل: تشغيل Oracle قابل للتنفيذ الذي سوف تتصل به
  • SID هو معرف لقاعدة البيانات: مجموعة من الملفات يتم تخزين بياناتك.

يمكن استخدام قاعدة بيانات واحدة من قبل متعددة Oracle الحالات.

عندما تكون في شك استخدام SERVICE_NAME.

في هذه الحالة، اتصل كما يلي:

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