Local Naming (או בשמו הנפוץ יותר Tnsnames) ו EZconnect הן שתי טכניקות נפוצות המאפשרות לנו להתחבר אל Database מרוחק. בפוסט זה נקנה מספר מונחי יסוד ונסביר כיצד שתי טכניקות אלה עובדות.
Connect Identifier, Naming Methods and Connect Descriptor
ראשית נתחיל בהסבר מספר מונחי יסוד. כאשר אנו מעוניינים להתחבר ל Database מרוחק אנו נקליד את פעולת ההתחברות הבאה
conn שם משתמש/סיסמא@connect_identifier
לדוגמא :
conn ram/kedem@orcl
ה Connect Identifier הוא שם ה Database אליו אנו רוצים להתחבר.
כפי הדוגמא המוצגת לעיל, כאשר אנו מעוניינים להתחבר ל Database ששמו – orcl, אנו נקליד בconnect identifier את השם orcl.
כעת אורקל צריך לתרגם את משמעות ה Connect Identifier למושגים טכניים : שם המכונה, הפורט, פרוטוקול ההתקשרות, שם ה Instance ותצורת חיבור (Dedicated או Shared).
באמצעות אותם מושגים טכניים – אשר שמם המשותף נקרא Connect Descriptor, ההתחברות מתבצעת.
הטכניקה באמצעותה אנו מבצעים את התרגום מה Connect Identifier ל Connect Descriptor נקראת Naming Method.
Tnsnames
טכניקה זו נקראת על שם קובץ אשר נקרא – tnsnames.ora. קובץ זה יושב תחת תיקיית –$oracle_home/network/admin בצד ה Client.
קובץ זה מבצע את הפענוח בין ה Connect Identifier ל Connect Descriptor.
כאשר ה Client יריץ פקודת התחברות, קובץ ה TNS יבצע את התרגום ויאפשר לו להתחבר.
SQL*Plus: Release 11.2.0.1.0 Production on Sat Dec 8 10:30:59 2012 Copyright (c) 1982, 2010, Oracle. All rights reserved. > CONN ram/kedem@orcl Connected. RAM >
לעומת זאת, כאשר תורץ פקודת התחברות עם Connect Identifier לא תקין, קובץ ה TNS לא יזהה אותו, התרגום לא יתבצע, ופעולת ההתחברות תכשל.
SQL*Plus: Release 11.2.0.1.0 Production on Sat Dec 8 10:34:41 2012 Copyright (c) 1982, 2010, Oracle. All rights reserved. > CONN ram/kedem@moshe_oofnick ERROR: ORA-12154: TNS:could not resolve the connect identifier specified
אם ברצוננו להתחבר עם Connect Identifier שונה, כל שעלינו לעשות הוא לערוך את קובץ ה TNS (באמצעות כל עורך טקסט) ולהוסיף Connect Identifier חדש.
SQL*Plus: Release 11.2.0.1.0 Production on Sat Dec 8 11:02:20 2012 Copyright (c) 1982, 2010, Oracle. All rights reserved. >CONN ram/kedem@moshe_oofnick Connected. RAM >SELECT instance_name 2 FROM v$instance ; INSTANCE_NAME ---------------- orcl
EZconnect – מסלול עוקף TNS
החל מגרסת 10g ניתן לבצע התחברות באמצעות פקודה ישירה אשר מבטלת את הצורך בקובץ ה TNS, בפקודת התחברות זו אנו מספקים את כל הפרמטרים הנחוצים לשם ההתחברות ובכך מדלגים על הצורך בתרגום.
CONN username/password@hostname:port/service_name
לדוגמא :
> CONN ram/kedem@localhost:1521/orcl.168.56.128 Connected. RAM >