λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μΉ΄ν…Œκ³ λ¦¬ μ—†μŒ

ORA-12505 Listener refused the connection with following error 였λ₯˜ ν•΄κ²°!

by 5566 2023. 9. 3.

1. 였λ₯˜ λ°°κ²½ 이해

ORA-12505 였λ₯˜λŠ” Oracle λ°μ΄ν„°λ² μ΄μŠ€μ— 연결을 μ‹œλ„ν•  λ•Œ λ°œμƒν•˜λŠ” 였λ₯˜μž…λ‹ˆλ‹€. 이 였λ₯˜λŠ” λ¦¬μŠ€λ„ˆκ°€ 연결을 κ±°λΆ€ν•˜κ³  μžˆμŒμ„ λ‚˜νƒ€λ‚΄λ©°, 일반적으둜 λ„€νŠΈμ›Œν¬ μ—°κ²° λ¬Έμ œλ‚˜ λ¦¬μŠ€λ„ˆ ꡬ성 μ„€μ •κ³Ό 관련이 μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

이 였λ₯˜λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ¨Όμ € 였λ₯˜μ˜ 배경을 μ΄ν•΄ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€. 였λ₯˜μ˜ 원인을 νŒŒμ•…ν•˜κ³  μ μ ˆν•œ 쑰치λ₯Ό μ·¨ν•  수 μžˆλ„λ‘ 였λ₯˜μ˜ 배경을 μžμ„Ένžˆ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

2. ORA-12505 였λ₯˜μ˜ 원인 뢄석

ORA-12505 였λ₯˜μ˜ μ£Όμš” 원인은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

2.1. λ¦¬μŠ€λ„ˆ μƒνƒœ 확인 및 μž¬μ‹œμž‘

λ¦¬μŠ€λ„ˆλŠ” ν΄λΌμ΄μ–ΈνŠΈ 컴퓨터와 Oracle λ°μ΄ν„°λ² μ΄μŠ€ κ°„μ˜ 톡신을 κ΄€λ¦¬ν•˜λŠ” μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. λ§Œμ•½ λ¦¬μŠ€λ„ˆ μ„œλΉ„μŠ€κ°€ λ™μž‘ν•˜μ§€ μ•Šκ±°λ‚˜ λΆ€μ μ ˆν•œ κ΅¬μ„±μœΌλ‘œ μ„€μ •λ˜μ–΄ μžˆλ‹€λ©΄ ORA-12505 였λ₯˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ¦¬μŠ€λ„ˆ μƒνƒœκ°€ 정상적이지 μ•Šμ€ 경우 μ•„λž˜μ˜ 단계λ₯Ό μˆ˜ν–‰ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

  1. lsnrctl status λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ ν˜„μž¬ λ¦¬μŠ€λ„ˆ μƒνƒœλ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
  2. λ¦¬μŠ€λ„ˆ μƒνƒœκ°€ 정지(Stopped)λ˜μ–΄ μžˆλŠ” 경우, lsnrctl start λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ λ¦¬μŠ€λ„ˆλ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€.

2.2. tnsnames.ora 파일 μ„€μ • 확인

tnsnames.ora νŒŒμΌμ€ Oracle ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μ‚¬μš©λ˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€ μ—°κ²° 정보λ₯Ό ν¬ν•¨ν•˜λŠ” νŒŒμΌμž…λ‹ˆλ‹€. 이 파일이 μ˜¬λ°”λ₯΄κ²Œ κ΅¬μ„±λ˜μ§€ μ•Šκ±°λ‚˜ 였λ₯˜κ°€ μžˆλŠ” 경우 ORA-12505 였λ₯˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. tnsnames.ora 파일의 섀정을 ν™•μΈν•˜κ³  ν•„μš”ν•œ μˆ˜μ •μ„ μˆ˜ν–‰ν•˜λŠ” 방법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

  1. Oracle ν΄λΌμ΄μ–ΈνŠΈ μ„€μΉ˜ λ””λ ‰ν† λ¦¬μ—μ„œ tnsnames.ora νŒŒμΌμ„ μ°ΎμŠ΅λ‹ˆλ‹€.
  2. νŒŒμΌμ„ ν…μŠ€νŠΈ νŽΈμ§‘κΈ°λ‘œ μ—΄μ–΄ λ°μ΄ν„°λ² μ΄μŠ€ μ—°κ²° 정보λ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
  3. 호슀트 이름, 포트 번호, μ„œλΉ„μŠ€ 이름 등이 μ˜¬λ°”λ₯΄κ²Œ μ„€μ •λ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜κ³  ν•„μš”ν•œ 경우 μˆ˜μ •ν•©λ‹ˆλ‹€.

2.3. 였라클 μ„œλΉ„μŠ€ μƒνƒœ 확인 및 μž¬μ‹œμž‘

Oracle λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ„œλΉ„μŠ€κ°€ μ‹€ν–‰ 쀑이지 μ•Šκ±°λ‚˜ 이상이 μžˆμ„ κ²½μš°μ—λ„ ORA-12505 였λ₯˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. 였라클 μ„œλΉ„μŠ€μ˜ μƒνƒœλ₯Ό ν™•μΈν•˜κ³  문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ‹€μŒμ˜ 단계λ₯Ό μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

  1. services.msc λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜μ—¬ μ„œλΉ„μŠ€ κ΄€λ¦¬μžλ₯Ό μ—½λ‹ˆλ‹€.
  2. 였라클 κ΄€λ ¨ μ„œλΉ„μŠ€ μ€‘μ—μ„œ OracleService<SID> ν•­λͺ©μ„ μ°ΎμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ <SID>λŠ” λ°μ΄ν„°λ² μ΄μŠ€ μ‹λ³„μžμž…λ‹ˆλ‹€.
  3. μ„œλΉ„μŠ€ μƒνƒœκ°€ "μ‹€ν–‰ 쀑"이 μ•„λ‹ˆκ±°λ‚˜ 였λ₯˜κ°€ μžˆλŠ” 경우, ν•΄λ‹Ή μ„œλΉ„μŠ€λ₯Ό 마우슀 였λ₯Έμͺ½ λ²„νŠΌμœΌλ‘œ ν΄λ¦­ν•˜κ³  "μž¬μ‹œμž‘"을 μ„ νƒν•˜μ—¬ μ„œλΉ„μŠ€λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•©λ‹ˆλ‹€.

μœ„μ˜ 단계λ₯Ό 톡해 λ¦¬μŠ€λ„ˆ μƒνƒœ, tnsnames.ora 파일 μ„€μ •, 였라클 μ„œλΉ„μŠ€ μƒνƒœμ˜ 이상을 ν™•μΈν•˜κ³  μ‘°μΉ˜ν•˜μ—¬ ORA-12505 였λ₯˜λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ΄λŸ¬ν•œ μ‘°μΉ˜κ°€ 문제λ₯Ό ν•΄κ²°ν•˜μ§€ λͺ»ν•  경우, 좔가적인 원인을 μ°Ύκ³  λŒ€μ‘ λ°©μ•ˆμ„ λͺ¨μƒ‰ν•΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

3. ν•΄κ²° 방법 1: λ¦¬μŠ€λ„ˆ μƒνƒœ 확인 및 μž¬μ‹œμž‘

ORA-12505 였λ₯˜λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ 첫 번째 방법은 λ¦¬μŠ€λ„ˆ μƒνƒœλ₯Ό ν™•μΈν•˜κ³  ν•„μš”ν•œ 경우 μž¬μ‹œμž‘ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. λ¦¬μŠ€λ„ˆκ°€ λ™μž‘ν•˜μ§€ μ•Šκ±°λ‚˜ λΆ€μ μ ˆν•œ κ΅¬μ„±μœΌλ‘œ μ„€μ •λ˜μ–΄ μžˆμ„ λ•Œ 이 였λ₯˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μ•„λž˜ 단계λ₯Ό 따라 μ§„ν–‰ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

  1. λ¨Όμ € λͺ…λ Ή ν”„λ‘¬ν”„νŠΈ(Windows) λ˜λŠ” 터미널(Linux/macOS)을 μ—½λ‹ˆλ‹€.

  2. λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ ν˜„μž¬ λ¦¬μŠ€λ„ˆ μƒνƒœλ₯Ό ν™•μΈν•©λ‹ˆλ‹€:

    lsnrctl status

    이 λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜λ©΄ ν˜„μž¬ λ¦¬μŠ€λ„ˆμ˜ μƒνƒœ 정보λ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

  3. λ¦¬μŠ€λ„ˆ μƒνƒœκ°€ "Stopped" λ˜λŠ” "Unknown"인 경우, λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ λ¦¬μŠ€λ„ˆλ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€:

    lsnrctl start

    λ¦¬μŠ€λ„ˆλ₯Ό μ‹œμž‘ν•˜λ©΄ 였λ₯˜λ₯Ό ν•΄κ²°ν•  수 μžˆμ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

  4. λ¦¬μŠ€λ„ˆκ°€ 이미 μ‹€ν–‰ 쀑인 κ²½μš°μ—λ„ λ¬Έμ œκ°€ κ³„μ†λ˜λŠ” 경우, λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ λ¦¬μŠ€λ„ˆλ₯Ό λ‹€μ‹œ μ‹œμž‘ν•©λ‹ˆλ‹€:

    lsnrctl stop
    lsnrctl start

    λ¦¬μŠ€λ„ˆλ₯Ό μ€‘μ§€ν•˜κ³  λ‹€μ‹œ μ‹œμž‘ν•¨μœΌλ‘œμ¨ 였λ₯˜λ₯Ό ν•΄κ²°ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

  5. λ¦¬μŠ€λ„ˆλ₯Ό λ‹€μ‹œ μ‹œμž‘ν•œ ν›„, λ‹€μ‹œ lsnrctl status λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ λ¦¬μŠ€λ„ˆ μƒνƒœλ₯Ό ν™•μΈν•©λ‹ˆλ‹€. μƒνƒœκ°€ "Started"둜 ν‘œμ‹œλ˜λ©΄ λ¦¬μŠ€λ„ˆλ₯Ό μ •μƒμ μœΌλ‘œ μ‹œμž‘ν•œ κ²ƒμž…λ‹ˆλ‹€.

μœ„μ˜ 단계λ₯Ό 따라 λ¦¬μŠ€λ„ˆ μƒνƒœλ₯Ό ν™•μΈν•˜κ³  μž¬μ‹œμž‘ν•¨μœΌλ‘œμ¨ ORA-12505 였λ₯˜λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이 방법이 μž‘λ™ν•˜μ§€ μ•ŠλŠ” 경우, λ‹€λ₯Έ ν•΄κ²° 방법을 μ‹œλ„ν•΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

4. ν•΄κ²° 방법 2: tnsnames.ora 파일 μ„€μ • 확인

ORA-12505 였λ₯˜λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ 두 번째 방법은 tnsnames.ora 파일의 섀정을 ν™•μΈν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이 νŒŒμΌμ€ Oracle ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μ‚¬μš©λ˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€ μ—°κ²° 정보λ₯Ό ν¬ν•¨ν•˜κ³  있으며, 잘λͺ»λœ κ΅¬μ„±μ΄λ‚˜ 였λ₯˜κ°€ μžˆλŠ” 경우 ORA-12505 였λ₯˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ•„λž˜μ˜ 단계λ₯Ό 따라 μ§„ν–‰ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

  1. λ¨Όμ €, Oracle ν΄λΌμ΄μ–ΈνŠΈ μ„€μΉ˜ λ””λ ‰ν† λ¦¬μ—μ„œ tnsnames.ora νŒŒμΌμ„ μ°Ύμ•„ μ—½λ‹ˆλ‹€. 주둜 ORACLE_HOME/network/admin 디렉토리에 μœ„μΉ˜ν•©λ‹ˆλ‹€.

  2. tnsnames.ora νŒŒμΌμ„ ν…μŠ€νŠΈ νŽΈμ§‘κΈ°λ‘œ μ—΄μ–΄ λ°μ΄ν„°λ² μ΄μŠ€ μ—°κ²° 정보λ₯Ό ν™•μΈν•©λ‹ˆλ‹€.

  3. λ‹€μŒκ³Ό 같은 ν•­λͺ©λ“€μ„ μ£Όμš” μ„€μ •μœΌλ‘œ ν™•μΈν•˜κ³ , ν•„μš”ν•œ 경우 μˆ˜μ •ν•©λ‹ˆλ‹€:

    • λ°μ΄ν„°λ² μ΄μŠ€ μ‹λ³„μž: tnsnames.ora 파일 λ‚΄μ˜ 각 μ—°κ²° ν•­λͺ©μ€ <SID>라고 λΆˆλ¦¬λŠ” λ°μ΄ν„°λ² μ΄μŠ€ μ‹λ³„μžλ₯Ό 가지고 μžˆμŠ΅λ‹ˆλ‹€. 였λ₯˜κ°€ λ°œμƒν•˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— λŒ€μ‘ν•˜λŠ” ν•­λͺ©μ„ μ°Ύμ•„ ν™•μΈν•©λ‹ˆλ‹€.

    • 호슀트 이름: μ—°κ²°ν•  λ°μ΄ν„°λ² μ΄μŠ€μ˜ 호슀트 이름이 μ˜¬λ°”λ₯Έμ§€ ν™•μΈν•©λ‹ˆλ‹€.

    • 포트 번호: λ°μ΄ν„°λ² μ΄μŠ€ μ„œλ²„μ™€ ν†΅μ‹ ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” 포트 λ²ˆν˜Έκ°€ μ˜¬λ°”λ₯Έμ§€ ν™•μΈν•©λ‹ˆλ‹€.

    • μ„œλΉ„μŠ€ 이름: μ—°κ²°ν•  λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ„œλΉ„μŠ€ 이름이 μ˜¬λ°”λ₯Έμ§€ ν™•μΈν•©λ‹ˆλ‹€.

  4. ν•„μš”ν•œ μˆ˜μ •μ„ μˆ˜ν–‰ν•œ ν›„, tnsnames.ora νŒŒμΌμ„ μ €μž₯ν•˜κ³  λ‹«μŠ΅λ‹ˆλ‹€.

μœ„μ˜ 단계λ₯Ό 따라 tnsnames.ora 파일의 섀정을 ν™•μΈν•˜κ³  ν•„μš”ν•œ μˆ˜μ •μ„ μˆ˜ν–‰ν•¨μœΌλ‘œμ¨ ORA-12505 였λ₯˜λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이 방법이 문제λ₯Ό ν•΄κ²°ν•˜μ§€ λͺ»ν•˜λŠ” 경우, λ‹€λ₯Έ ν•΄κ²° 방법을 μ°Ύμ•„ μ‹œλ„ν•΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

5. ν•΄κ²° 방법 3: 였라클 μ„œλΉ„μŠ€ μƒνƒœ 확인 및 μž¬μ‹œμž‘

ORA-12505 였λ₯˜λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ μ„Έ 번째 방법은 였라클 μ„œλΉ„μŠ€μ˜ μƒνƒœλ₯Ό ν™•μΈν•˜κ³  ν•„μš”ν•œ 경우 μž¬μ‹œμž‘ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 였라클 μ„œλΉ„μŠ€κ°€ μ€‘μ§€λ˜μ—ˆκ±°λ‚˜ λΆ€μ •μƒμ μœΌλ‘œ μ‹€ν–‰λ˜κ³  μžˆμ„ λ•Œ 이 였λ₯˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ•„λž˜μ˜ 단계λ₯Ό 따라 μ§„ν–‰ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

  1. λ¨Όμ €, κ΄€λ¦¬μž κΆŒν•œμœΌλ‘œ λͺ…λ Ή ν”„λ‘¬ν”„νŠΈ(Windows) λ˜λŠ” 터미널(Linux/macOS)을 μ—½λ‹ˆλ‹€.

  2. λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ ν˜„μž¬ μ‹€ν–‰ 쀑인 였라클 μ„œλΉ„μŠ€μ˜ μƒνƒœλ₯Ό ν™•μΈν•©λ‹ˆλ‹€:

    # Windows
    sc query OracleService<SID>
    
    # Linux/macOS
    systemctl status oracle-<SID>

    <SID>λŠ” μ—°κ²°ν•˜λ €λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ˜ SID(μ‹œμŠ€ν…œ μ‹λ³„μž)λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

  3. μƒνƒœκ°€ "Stopped" λ˜λŠ” "Unknown"인 경우, λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ 였라클 μ„œλΉ„μŠ€λ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€:

    # Windows
    sc start OracleService<SID>
    
    # Linux/macOS
    systemctl start oracle-<SID>

    이 λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜λ©΄ 였라클 μ„œλΉ„μŠ€κ°€ μ‹œμž‘λ  수 μžˆμŠ΅λ‹ˆλ‹€.

  4. μ„œλΉ„μŠ€κ°€ 이미 μ‹€ν–‰ 쀑인 κ²½μš°μ—λ„ λ¬Έμ œκ°€ μ§€μ†λ˜λŠ” 경우, λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ μ„œλΉ„μŠ€λ₯Ό μ€‘μ§€ν•˜κ³  λ‹€μ‹œ μ‹œμž‘ν•©λ‹ˆλ‹€:

    # Windows
    sc stop OracleService<SID>
    sc start OracleService<SID>
    
    # Linux/macOS
    systemctl stop oracle-<SID>
    systemctl start oracle-<SID>

    μ„œλΉ„μŠ€λ₯Ό μ€‘μ§€ν•˜κ³  λ‹€μ‹œ μ‹œμž‘ν•¨μœΌλ‘œμ¨ 였λ₯˜λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  5. μ„œλΉ„μŠ€λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•œ ν›„, λ‹€μ‹œ μƒνƒœλ₯Ό ν™•μΈν•˜κΈ° μœ„ν•΄ μ•„λž˜ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€:

    # Windows
    sc query OracleService<SID>
    
    # Linux/macOS
    systemctl status oracle-<SID>

    μƒνƒœκ°€ "Running"으둜 ν‘œμ‹œλ˜λ©΄ 였라클 μ„œλΉ„μŠ€κ°€ μ •μƒμ μœΌλ‘œ μ‹œμž‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μœ„μ˜ 단계λ₯Ό 따라 였라클 μ„œλΉ„μŠ€μ˜ μƒνƒœλ₯Ό ν™•μΈν•˜κ³  ν•„μš”ν•œ 경우 μž¬μ‹œμž‘ν•¨μœΌλ‘œμ¨ ORA-12505 였λ₯˜λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이 방법이 μž‘λ™ν•˜μ§€ μ•ŠλŠ” 경우, λ‹€λ₯Έ ν•΄κ²° 방법을 μ‹œλ„ν•΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

ν•΄κ²° 방법 3: 였라클 μ„œλΉ„μŠ€ μƒνƒœ 확인 및 μž¬μ‹œμž‘

ORA-12505 였λ₯˜λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ μ„Έ 번째 방법은 였라클 μ„œλΉ„μŠ€μ˜ μƒνƒœλ₯Ό ν™•μΈν•˜κ³  ν•„μš”ν•œ 경우 μž¬μ‹œμž‘ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 였라클 μ„œλΉ„μŠ€κ°€ μ€‘μ§€λ˜μ—ˆκ±°λ‚˜ λΆ€μ •μƒμ μœΌλ‘œ μ‹€ν–‰λ˜κ³  μžˆμ„ λ•Œ 이 였λ₯˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ•„λž˜μ˜ 단계λ₯Ό 따라 μ§„ν–‰ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

  1. λ¨Όμ €, κ΄€λ¦¬μž κΆŒν•œμœΌλ‘œ λͺ…λ Ή ν”„λ‘¬ν”„νŠΈ(Windows) λ˜λŠ” 터미널(Linux/macOS)을 μ—½λ‹ˆλ‹€.

  2. λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ ν˜„μž¬ μ‹€ν–‰ 쀑인 였라클 μ„œλΉ„μŠ€μ˜ μƒνƒœλ₯Ό ν™•μΈν•©λ‹ˆλ‹€:

# Windows
sc query OracleService<SID>

# Linux/macOS
systemctl status oracle-<SID>

<SID>λŠ” μ—°κ²°ν•˜λ €λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ˜ SID(μ‹œμŠ€ν…œ μ‹λ³„μž)λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

  1. μƒνƒœκ°€ "Stopped" λ˜λŠ” "Unknown"인 경우, λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ 였라클 μ„œλΉ„μŠ€λ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€:
# Windows
sc start OracleService<SID>

# Linux/macOS
systemctl start oracle-<SID>

이 λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜λ©΄ 였라클 μ„œλΉ„μŠ€κ°€ μ‹œμž‘λ  수 μžˆμŠ΅λ‹ˆλ‹€.

  1. μ„œλΉ„μŠ€κ°€ 이미 μ‹€ν–‰ 쀑인 κ²½μš°μ—λ„ λ¬Έμ œκ°€ μ§€μ†λ˜λŠ” 경우, λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ μ„œλΉ„μŠ€λ₯Ό μ€‘μ§€ν•˜κ³  λ‹€μ‹œ μ‹œμž‘ν•©λ‹ˆλ‹€:
# Windows
sc stop OracleService<SID>
sc start OracleService<SID>

# Linux/macOS
systemctl stop oracle-<SID>
systemctl start oracle-<SID>

μ„œλΉ„μŠ€λ₯Ό μ€‘μ§€ν•˜κ³  λ‹€μ‹œ μ‹œμž‘ν•¨μœΌλ‘œμ¨ 였λ₯˜λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  1. μ„œλΉ„μŠ€λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•œ ν›„, λ‹€μ‹œ μƒνƒœλ₯Ό ν™•μΈν•˜κΈ° μœ„ν•΄ μ•„λž˜ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€:
# Windows
sc query OracleService<SID>

# Linux/macOS
systemctl status oracle-<SID>

μƒνƒœκ°€ "Running"으둜 ν‘œμ‹œλ˜λ©΄ 였라클 μ„œλΉ„μŠ€κ°€ μ •μƒμ μœΌλ‘œ μ‹œμž‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μœ„μ˜ 단계λ₯Ό 따라 였라클 μ„œλΉ„μŠ€μ˜ μƒνƒœλ₯Ό ν™•μΈν•˜κ³  ν•„μš”ν•œ 경우 μž¬μ‹œμž‘ν•¨μœΌλ‘œμ¨ ORA-12505 였λ₯˜λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이 방법이 μž‘λ™ν•˜μ§€ μ•ŠλŠ” 경우, λ‹€λ₯Έ ν•΄κ²° 방법을 μ‹œλ„ν•΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

λͺ©μ°¨

  • λ°°κ²½ 이해
  • 원인 뢄석
  • ν•΄κ²° 방법
    • ν•΄κ²° 방법 1: TNS Listener 확인 및 μž¬μ‹œμž‘
    • ν•΄κ²° 방법 2: listener.ora 파일 μˆ˜μ •
    • ν•΄κ²° 방법 3: 였라클 μ„œλΉ„μŠ€ μƒνƒœ 확인 및 μž¬μ‹œμž‘

이 λͺ©μ°¨λŠ” ORA-12505 였λ₯˜μ— λŒ€ν•œ λ°°κ²½ 이해, 원인 뢄석 및 ν•΄κ²° 방법에 λŒ€ν•œ 각 ν•­λͺ©μ„ κ΅¬λΆ„ν•˜μ—¬ μž‘μ„±ν•  수 μžˆλ„λ‘ κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. 이제 각 ν•­λͺ©μ— λŒ€ν•œ λ‚΄μš©μ„ μ°¨λ‘€λŒ€λ‘œ μž‘μ„±ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

λ°°κ²½ 이해

ORA-12505 였λ₯˜λŠ” 였라클 λ°μ΄ν„°λ² μ΄μŠ€μ— μ—°κ²°ν•  λ•Œ λ°œμƒν•˜λŠ” 였λ₯˜λ‘œ, μ˜¬λ°”λ₯Έ μ—°κ²° 정보와 μ„œλΉ„μŠ€ 이름을 μ‚¬μš©ν•˜λ”λΌλ„ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이 였λ₯˜λŠ” μ˜¬λ°”λ₯Έ λ°μ΄ν„°λ² μ΄μŠ€ μ„œλΉ„μŠ€μ— μ—°κ²°λ˜μ§€ λͺ»ν–ˆμŒμ„ λ‚˜νƒ€λ‚΄λ©°, 주둜 TNS Listener의 문제둜 인해 λ°œμƒν•©λ‹ˆλ‹€.

원인 뢄석

ORA-12505 였λ₯˜κ°€ λ°œμƒν•˜λŠ” μ£Όμš” 원인은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

  • TNS Listener μ„œλΉ„μŠ€κ°€ μ€‘μ§€λ˜μ—ˆκ±°λ‚˜ μ˜¬λ°”λ₯΄κ²Œ κ΅¬μ„±λ˜μ§€ μ•Šμ€ 경우
  • listener.ora νŒŒμΌμ— μ˜¬λ°”λ₯΄μ§€ μ•Šμ€ 섀정이 ν¬ν•¨λœ 경우
  • 였라클 μ„œλΉ„μŠ€κ°€ μ •μƒμ μœΌλ‘œ μ‹€ν–‰λ˜μ§€ μ•ŠλŠ” 경우

μ΄λŸ¬ν•œ 원인을 ν™•μΈν•˜μ—¬ 였λ₯˜λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•΄κ²° 방법

ORA-12505 였λ₯˜λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ‹€μŒμ˜ μ„Έ 가지 방법을 μ‹œλ„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•΄κ²° 방법 1: TNS Listener 확인 및 μž¬μ‹œμž‘

TNS Listener μ„œλΉ„μŠ€κ°€ μ˜¬λ°”λ₯΄κ²Œ κ΅¬μ„±λ˜μ–΄ μžˆλŠ”μ§€ ν™•μΈν•˜κ³  ν•„μš”ν•œ 경우 μž¬μ‹œμž‘ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

ν•΄κ²° 방법 2: listener.ora 파일 μˆ˜μ •

listener.ora νŒŒμΌμ— μ˜¬λ°”λ₯΄μ§€ μ•Šμ€ 섀정이 ν¬ν•¨λ˜μ–΄ μžˆλŠ” 경우, 이λ₯Ό μˆ˜μ •ν•˜μ—¬ 였λ₯˜λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•΄κ²° 방법 3: 였라클 μ„œλΉ„μŠ€ μƒνƒœ 확인 및 μž¬μ‹œμž‘

였라클 μ„œλΉ„μŠ€μ˜ μƒνƒœλ₯Ό ν™•μΈν•˜κ³  ν•„μš”ν•œ 경우 μž¬μ‹œμž‘ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€. 였라클 μ„œλΉ„μŠ€κ°€ μ€‘μ§€λ˜μ—ˆκ±°λ‚˜ λΆ€μ •μƒμ μœΌλ‘œ μ‹€ν–‰λ˜κ³  μžˆμ„ λ•Œ ORA-12505 였λ₯˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μœ„μ˜ μ„Έ 가지 ν•΄κ²° 방법을 μ‹œλ„ν•˜μ—¬ ORA-12505 였λ₯˜λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이제 각 ν•΄κ²° 방법에 λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ„ μ„€λͺ…ν•˜λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

λŒ“κΈ€