ฉันจะสร้างไฟล์ tnsnames.ora เพื่อเชื่อมต่อกับฐานข้อมูล Oracle ได้อย่างไร


22

ฉันติดตั้ง Oracle 11g แล้วและฉันสามารถเชื่อมต่อsysmanกับฐานข้อมูล Oracle ได้ แต่ไม่มีtnsnames.oraไฟล์ที่ฉันสามารถค้นหาได้

ฉันจำเป็นต้องสร้างไฟล์ tnsnames.ora ด้วยตัวเองหรือไม่? ถ้าเป็นเช่นนั้นฉันจะวางที่ไหน ถ้าไม่ Oracle สร้างมันให้ฉันได้อย่างไร ถ้าฉันจำเป็นต้องสร้างมันขึ้นมามันคืออะไรที่เหมาะสำหรับไฟล์ไวยากรณ์?

คำตอบ:


15

คุณสามารถสร้างไฟล์ tnsnames.ora [text] ได้อย่างง่ายดาย ควรอยู่ใน $ ORACLE_HOME / network / admin / และควรมีลักษณะดังนี้:

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

คำตอบที่ดี แต่ผมพบว่าผมต้องตั้งชื่อไฟล์ของฉัน$HOME/.tnsnames.ora; เส้นทางที่แนะนำในคำตอบดูเหมือนจะถูกละเว้นโดย sqlplus
DuffJ

@ DuffJ แล้วมีบางอย่างผิดปกติกับสภาพแวดล้อมของคุณ
miracle173

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สามารถเป็นไดเรกทอรีที่แตกต่างกันหลายแห่งซึ่งมีมากกว่าหนึ่งระดับการติดตั้ง / แพทช์ของ Oracle) หรือสามารถแทนที่โดย$TNS_ADMINตัวแปรสภาพแวดล้อม ขึ้นอยู่กับผู้ใช้ที่มีซอฟต์แวร์อยู่
Philᵀᴹ

4
สุจริตมันเป็นค่าเริ่มต้นในระบบ linux ... หากคุณไม่ได้สัมผัสสิ่งใดมันจะถูกวางไว้ที่นั่น ... ดังนั้นจึงเป็นค่าเริ่มต้น แต่ $ ORACLE_HOME หากไม่ได้รับการดัดแปลงเป็นวิธีแก้ปัญหาที่ดีกว่า
ช์

ฉันรัน Oracle บนระบบ Linux หลายร้อยตัวซึ่งไม่ได้เป็นค่าเริ่มต้นและไม่มีสิ่งนี้ บางทีคุณอาจหมายถึงเป็นตัวอย่างในเอกสารประกอบพวกเขาต้องเลือกบางอย่าง ไม่มี distro Linux ที่ฉันรู้ว่ามีระบบไฟล์ / u01 "โดยค่าเริ่มต้น" คุณต้องสร้างมันขึ้นมาและบอกให้ Oracle ใช้งาน!
ออกุสตุส

2

$ORACLE_HOME/network/adminเป็นไดเร็กทอรีที่tnsnames.oraสร้างไฟล์โดย DBCA และ / หรือ NetCA

$ORACLE_HOMEเป็นพา ธ ที่เหมือน/u01/app ...กันมันเป็นเส้นทางที่สอดคล้องกับ OFA ที่โปรแกรมติดตั้งใช้เป็นค่าเริ่มต้นหากไม่ติดตั้งทับ


2

หากระบบปฏิบัติการของคุณเป็นWindows 10คุณสามารถค้นหาtnsnames.oraไฟล์ในเส้นทาง unc ต่อไปนี้:

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

myAccountชื่อบัญชี Windows ของคุณอยู่ที่ไหน


1
พูดอีกอย่างคือ%ORACLE_HOME%\NETWORK\ADMINใช่มั้ย
Andriy M

ใช่ถูกต้องแล้ว จำ Oracle โดยใช้ชื่อร้านค้าเริ่มต้น tnsnames.ora ในไดเรกทอรี $ ORACLE_HOME / network / admin บนระบบปฏิบัติการ UNIX และในไดเรกทอรี% ORACLE_HOME% \ network \ admin บนระบบปฏิบัติการ Windows
S. Mayol

$ ORACLE_HOME ไม่ได้ทำงานกับฉันในสภาพแวดล้อมของฉันดังนั้นการรู้ว่าเส้นทางแบบเต็มช่วยได้จริง ๆ ... แค่รู้ว่ามันอยู่ใน C: \ app \ ... ให้ฉันเริ่มต้นที่ฉันต้องการและฉันสามารถติดตามมันได้จาก ที่นั่น ช่วยฉันค้นหาหลายชั่วโมง!
Gallus

1

เท่าที่ฉันรู้ความtnsnames.oraต้องการที่จะอยู่ที่ <ORA_INSTALL_FOLDER>\product\11.1.0\client_1\network\admin\โฟลเดอร์

เอกสารสามารถพบได้ที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.