Oracle डेटाबेस से जुड़ने के लिए मैं tnsnames.ora फ़ाइल कैसे जनरेट करता हूँ?


22

मैंने ओरेकल 11 जी स्थापित किया है, और मैं sysmanओरेकल डेटाबेस के रूप में कनेक्ट कर सकता हूं , लेकिन कोई tnsnames.oraफाइल नहीं है जो मुझे मिल सकती है।

क्या मुझे स्वयं tnsnames.ora फ़ाइल जनरेट करने की आवश्यकता है? यदि हां, तो मैं इसे कहां रखूं? यदि नहीं, तो Oracle मेरे लिए इसे कैसे उत्पन्न करता है? अगर मुझे इसे जनरेट करने की आवश्यकता है, तो फ़ाइल के लिए उपयुक्त सिंटैक्स क्या है?

जवाबों:


15

आप आसानी से एक tnsnames.ora [पाठ] फ़ाइल बना सकते हैं। यह $ ORACLE_HOME / नेटवर्क / व्यवस्थापक / में होना चाहिए और कुछ इस तरह दिखना चाहिए:

 ORATST=
 (description=
   (address_list=
     (address = (protocol = TCP)(host = fu.bar)(port = 1521))
   )
 (connect_data =
   (service_name=oratst)
 )
)

अच्छा जवाब, हालांकि मैंने पाया कि मुझे अपनी फ़ाइल का नाम देना था $HOME/.tnsnames.ora; उत्तर में सुझाया गया मार्ग sqlplus द्वारा अनदेखा किया गया लग रहा था।
डफज

@ डफ जे तो आपके माहौल में कुछ गड़बड़ है।
चमत्कार 173

11

Tnsnames.ora फ़ाइल के लिए डिफ़ॉल्ट निर्देशिका है

/u01/app/oracle/product/<version>/<dbname>/network/admin/tnsnames.ora

सामग्री:

<alias> = (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <ip>)(PORT = <port>))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <dbname>)
    )
  )
  • alias: आप इसे चुन सकते हैं और इसे बाद में कनेक्शन स्ट्रिंग के रूप में उपयोग कर सकते हैं।
  • port: डिफ़ॉल्ट 1521 है

अधिक जानकारी यहाँ: http://docs.oracle.com/cd/B28359_01/network.111/b28317/tnsnames.htm


6
डिफ़ॉल्ट निर्देशिका कुछ भी नहीं है। यह सापेक्ष है $ORACLE_HOMEऔर इसलिए होगा $ORACLE_HOME/network/admin(जहां $ORACLE_HOMEकई अलग-अलग निर्देशिकाएं हो सकती हैं जहां एक से अधिक ओरेकल इंस्टॉल / पैच स्तर हैं) या $TNS_ADMINपर्यावरण चर द्वारा ओवरराइड किया जा सकता है । यह पूरी तरह से उपयोगकर्ता पर निर्भर है जहां सॉफ्टवेयर रहता है।
23

4
ईमानदारी से यह एक लिनक्स सिस्टम पर डिफ़ॉल्ट है ... यदि आप एक चीज को नहीं छूते हैं तो इसे वहां डाल दिया जाएगा ... इस प्रकार डिफ़ॉल्ट हो रहा है। लेकिन $ ORACLE_HOME अगर छेड़छाड़ नहीं करता है तो वास्तव में एक बेहतर उपाय है।
मुन्ची

मैंने ओरेकल को सचमुच सैकड़ों लिनक्स सिस्टम पर चलाया है और यह डिफ़ॉल्ट नहीं है, न ही ऐसी कोई चीज है। शायद आपका मतलब है कि प्रलेखन में उदाहरण है, अच्छी तरह से उन्हें कुछ चुनना था। कोई लिनक्स डिस्ट्रो नहीं है जो मुझे पता है कि एक "u01 फाइलसिस्टम" डिफ़ॉल्ट रूप से "है, आपने इसे बनाया होगा और ओरेकल को इसका उपयोग करने के लिए कहा होगा!"
गयास

2

$ORACLE_HOME/network/adminवह निर्देशिका है जहां tnsnames.oraफ़ाइल DBCA और / या NetCA द्वारा बनाई गई है।

$ORACLE_HOMEएक पथ की तरह है /u01/app ..., यह एक OFA आज्ञाकारी पथ है जो इंस्टॉलर डिफ़ॉल्ट रूप से उपयोग करता है यदि इंस्टॉलर द्वारा ओवरराइड नहीं किया जाता है।


2

यदि आपका OS विंडोज 10 है , तो आप tnsnames.oraनिम्नलिखित बिना किसी रास्ते के फ़ाइल पा सकते हैं :

C:\app\myAccount\product\11.2.0\dbhome_1\NETWORK\ADMIN

myAccountआपका Windows खाता नाम कहां है


1
दूसरे शब्दों में, यह %ORACLE_HOME%\NETWORK\ADMINसही है?
एंड्री एम।

हाँ यह सही है। UNIX ऑपरेटिंग सिस्टम पर $ ORACLE_HOME / नेटवर्क / व्यवस्थापक निर्देशिका में डिफ़ॉल्ट स्टोर tnsnames.ora द्वारा Oracle याद रखें और Windows ऑपरेटिंग सिस्टम पर% ORACLE_HOME% \ network \ admin निर्देशिका में।
एस। मयोल

$ ORACLE_HOME मेरे पर्यावरण पर मेरे लिए काम नहीं कर रहा था, इसलिए पूर्ण पथ को जानने से वास्तव में मदद मिली ... बस यह जानते हुए कि यह C: \ app \ में था ... ने मुझे वह शुरुआत दी जिसकी मुझे आवश्यकता थी और मैं इसे नीचे से ट्रैक करने में सक्षम था क्या आप वहां मौजूद हैं। मुझे खोज के घंटे बचाया!
गैलस

1

जहाँ तक मुझे पता है tnsnames.oraकि <ORA_INSTALL_FOLDER>\product\11.1.0\client_1\network\admin\फ़ोल्डर में रखा जाना चाहिए

प्रलेखन यहाँ पाया जा सकता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.