นี่ควรเป็นความเห็นต่อคำตอบของBrad Rippeแต่อนิจจาตัวแทนไม่เพียงพอ คำตอบนั้นทำให้ฉัน 90% ของวิธีการที่นั่น ในกรณีของฉันการติดตั้งและกำหนดค่าฐานข้อมูลจะใส่รายการในไฟล์ tnsnames.ora สำหรับฐานข้อมูลที่ฉันใช้ ก่อนอื่นฉันสามารถเชื่อมต่อกับฐานข้อมูลโดยการตั้งค่าตัวแปรสภาพแวดล้อม (Windows):
set ORACLE_SID=mydatabase
set ORACLE_HOME=C:\Oracle\product\11.2.0\dbhome_1
จากนั้นเชื่อมต่อโดยใช้
sqlplus / as sysdba
ถัดไปเรียกใช้คำสั่งจากคำตอบของ Brad Rippe:
select value from v$parameter where name='service_names';
แสดงให้เห็นว่าชื่อไม่ตรงกันทั้งหมด รายการตามที่สร้างขึ้นโดยใช้ Database Configuration Assistant ของ Oracle ที่เดิม:
MYDATABASE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = mylaptop.mydomain.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = mydatabase.mydomain.com)
    )
  ) 
ชื่อบริการจากแบบสอบถามเป็นเพียงมากกว่าmydatabase mydatabase.mydomain.comฉันแก้ไขไฟล์ tnsnames.ora เป็นชื่อฐานโดยไม่มีส่วนโดเมนดังนั้นพวกเขาจึงมีลักษณะดังนี้:
MYDATABASE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = mylaptop.mydomain.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = mydatabase)
    )
  ) 
ฉันเริ่มบริการฟัง TNS (ฉันมักจะใช้lsnrctl stopและlsnrctl startจากหน้าต่างคำสั่งผู้ดูแลระบบ [หรือ Windows Powershell] แทนแผงควบคุมบริการ แต่ทำงานได้ทั้งคู่) หลังจากนั้นฉันสามารถเชื่อมต่อได้