본문 바로가기

Error

[오라클Error] ORA-12154: TNS:지정된 접속 식별자를 분석할 수 없음(오라클 인스턴스 2개인 경우 디폴트 sysdba 설정)

728x90

 

ORA-12154: TNS:지정된 접속 식별자를 분석할 수 없음

오라클 인스턴스 설정이 잘못되었나 살펴보기

<로컬 환경>
database : oracle 11.2.0.1.0
인스턴스는 A, B로 SID가 다르게 2개 설정

 

 

 현상

cmd 창에서 sqlplus에 접속하려고 하는데 해당 SID를 인식하지 못하고 있다.

지정된 접속 식별자라고 하는건 아이디/패스워드@접속식별자(아래 예시에서는 ORLC을 말함)

>sqlplus 아이디/패스워드@SID명

 

sqlplus 접속하면 나오는 에러

 

 

해당 SID 계정(ORCL)이 패스워드가 만료되어 막힌 관계로 풀어야 하는데 접속 자체가 안 되니까 해결 방법을 찾아야함!!

+ 오라클 인스턴스 2개인 경우 디폴트 sysdba 설정하는 방법

 

참고: 패스워드 만료일자 없애는 방법 👉👉  https://ggoyobirdy.tistory.com/67

 

 

 

 

 해결

1. 시스템 환경 변수 편집

환경 변수 > 시스템 변수에 아래 2가지 들어있는지 확인

변수이름 : ORACLE_HOME
변수 값 : C:\app\ggoyo\product\11.2.0\dbhome_1

변수이름 : TNS_ADMIN
변수 값 : C:\app\ggoyo\product\11.2.0\dbhome_1\NETWORK\ADMIN

 

 

2. tnsnames.ora 파일 확인

경로 : C:\app\ggoyo\product\11.2.0\dbhome_1\NETWORK\ADMIN

-------------------------------------------------------------------------------------------------------
// 인스턴스 A
ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) 

// 인스턴스 B
ORCLKS = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orclks) ) )

 

 

 

여기까지 잘 설정했는데 안 될 때는 나처럼 인스턴스를 2개 설정했을 경우일 가능성이 높다.

 

3. 레지스트리 편집기에서 디폴트 SID 설정하기

인스턴스A(ORCL)을 기본 SID로 설정하고 싶기 때문에

 

오라클 SID 경로
HKEY_LOCAL_MACHINE > SOFTWARE > ORACLE > KEY_OraDb11g_home1 

 

ORACLE_SID 값을 디폴트로 설정하고 싶은 SID로 바꾸면 끝