Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

प्रासंगिक tnsnames.ora फ़ाइल का स्थान निर्धारित करना

Oracle के अनुसार इन स्थानों को tnsnames.ora के लिए खोजा जाता है , सम्मान sqlnet.ora और ldap.ora :

  1. वर्तमान कार्यशील निर्देशिका में Oracle नेट फ़ाइलें (PWD/CWD)
  2. TNS_ADMIN सत्रीय रूप से या उपयोगकर्ता द्वारा परिभाषित स्क्रिप्ट द्वारा परिभाषित
  3. TNS_ADMIN वैश्विक पर्यावरण चर के रूप में परिभाषित किया गया है
  4. TNS_ADMIN रजिस्ट्री में परिभाषित
  5. Oracle Net फ़ाइलें %ORACLE_HOME/network|net80\admin में (ओरेकल डिफ़ॉल्ट स्थान)

हालांकि, मुझे यकीन नहीं है कि प्रत्येक एप्लिकेशन/ड्राइवर इस सूची का पालन करता है या नहीं। मुझे यह सूची Oracle Document 111942.1 से Oracle 9i के संदर्भ में मिली है, इसलिए यह पुरानी हो सकती है।

डेटाबेस नेट सर्विसेज एडमिनिस्ट्रेटर गाइड में ऑर्डर है

  1. TNS_ADMIN पर्यावरण चर द्वारा परिभाषित
  2. TNS_ADMIN रजिस्ट्री में परिभाषित (यदि TNS_ADMIN पर्यावरण चर मौजूद नहीं है)
  3. %ORACLE_HOME%/network/admin निर्देशिका (यदि TNS_ADMIN पर्यावरण चर मौजूद नहीं है)

मैं TNS_ADMIN . के लिए एक पर्यावरण चर परिभाषित करने की अनुशंसा करता हूं और केवल एक tnsnames.ora फ़ाइल का उपयोग करें। सुरक्षित पक्ष पर रहने के लिए, अपने रजिस्ट्री मूल्यों की भी जाँच करें।

अगर आपकी फ़ाइलें नहीं हैं %ORACLE_HOME%\network\admin . में स्थित है , मैं इसके लिए एक प्रतीकात्मक लिंक बनाने की सलाह देता हूं - बस बहुत . पर रहने के लिए सुरक्षित पक्ष, उदा। mklink /d %ORACLE_HOME%\network\admin c:\Oracle\common\settings\admin

एक और नोट, आपको अपनी tnsnames.ora फ़ाइल के साथ "प्ले" करने की आवश्यकता नहीं है। Microsoft Sysinternals के प्रोसेस मॉनिटर से आप प्रत्येक फ़ाइल एक्सेस की निगरानी कर सकते हैं, यानी फ़िल्टर Path contains tnsnames होगा

अपडेट करें

जब मैं अपनी मशीन पर एक परीक्षण चलाता हूं तो मुझे निम्नलिखित आदेश मिलते हैं:

  1. पर्यावरण चर TNS_ADMIN
  2. रजिस्ट्री कुंजी HKEY_CURRENT_USER\SOFTWARE\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN
  3. रजिस्ट्री कुंजी HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN , सम्मान HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN

    -> केवल अगर TNS_ADMIN पर्यावरण चर सेट नहीं है।

  4. %ORACLE_HOME%\network\admin
  5. वर्तमान निर्देशिका (जो उस निर्देशिका से भिन्न हो सकती है जहां आपका आवेदन स्थित है)
  6. फ़ोल्डर जहां आपका आवेदन स्थित है

अपडेट 2

जाहिर है कि कोई फिक्स सर्च नहीं है, यह विभिन्न प्रदाताओं/ड्राइवरों के लिए भिन्न होता है। शायद यह Oracle संस्करण पर भी निर्भर करता है।

उदाहरण के लिए, Oracle HTTP सर्वर पढ़ता है TNS_ADMIN opmn.xml . से सेटिंग कॉन्फ़िग फ़ाइल.

एक अन्य उदाहरण, ODP.NET प्रबंधित ड्राइवर (Oracle.ManagedDataAccess) बीटा के लिए संस्करण, मुझे यह आदेश Oracle प्रबंधित और TNS नाम पर मिला:

  1. डेटा स्रोत उपनाम <oracle.manageddataaccess.client> के अंतर्गत 'डेटा स्रोत' अनुभाग में .NET कॉन्फ़िग फ़ाइल में अनुभाग (अर्थात machine.config , web.config , user.config )।
  2. डेटा स्रोत उपनाम tnsnames.ora . में TNS_ADMIN द्वारा निर्दिष्ट स्थान पर फ़ाइल करें .NET कॉन्फ़िग फ़ाइल में।
  3. डेटा स्रोत उपनाम tnsnames.ora . में फ़ाइल उसी निर्देशिका में मौजूद है जैसे .exe
  4. डेटा स्रोत उपनाम tnsnames.ora . में फ़ाइल %TNS_ADMIN% . पर मौजूद है
    (जहां %TNS_ADMIN% एक पर्यावरण चर सेटिंग है)।
  5. डेटा स्रोत उपनाम tnsnames.ora . में फ़ाइल %ORACLE_HOME%\network\admin . पर मौजूद है
    (जहां %ORACLE_HOME% एक पर्यावरण चर सेटिंग है)।

आधिकारिक दस्तावेज़ीकरण (12c रिलीज़ 4 (12.1.0.2.4)) में यह कहा गया है:

  1. डेटा स्रोत उपनाम dataSources में <oracle.manageddataaccess.client> . के अंतर्गत अनुभाग .NET कॉन्फ़िग फ़ाइल में अनुभाग (अर्थात machine.config , web.config , user.config )।
  2. डेटा स्रोत उपनाम tnsnames.ora . में TNS_ADMIN द्वारा निर्दिष्ट स्थान पर फ़ाइल करें .NET कॉन्फ़िग फ़ाइल में। स्थानों में पूर्ण या सापेक्ष निर्देशिका पथ शामिल हो सकते हैं।
  3. डेटा स्रोत उपनाम tnsnames.ora . में फ़ाइल उसी निर्देशिका में मौजूद है जैसे .exe

हालाँकि, मैंने ODP.NET प्रबंधित ड्राइवर (4.121.2.0) के साथ किए गए कुछ परीक्षणों के आधार पर यह %ORACLE_HOME%\network\admin लेता है और TNS_ADMIN खाते में पर्यावरण चर। दस्तावेज़ीकरण जैसे ताले 100% सही नहीं हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. फ्लशिंग सिंगल कर्सर

  2. Oracle क्लाइंट और नेटवर्किंग घटक नहीं मिले

  3. क्या शून्य-सुरक्षित समानता जांच करने के लिए बेहतर Oracle ऑपरेटर है?

  4. Oracle फ़ंक्शन से RefCursor कैसे वापस करें?

  5. Oracle JDBC और Oracle CHAR डेटा प्रकार