본문 바로가기
나중에 내가 보려고 기록해두기/오라클

[오라클 오류 해결일지] 오라클 리스너 추가하기 (feat. TNS-12560: TNS:프로토콜 어댑터 오류)

by 고기 2022. 10. 30.

1. 개요

2. 인텔리제이 View -Database 부재

3. 오라클 리스너 서비스 확인

4. 리스너 추가

5. 오라클DB 인텔리제이 연동


1. 개요

프로젝트를 진행하다가 오라클 db와 인텔리제이를 연동하는 과정에서 처음부터 오류가..... 나버렸네.................

(딱히 오라클을 선택할 필요는 없었지만 나중에 sqlp 공부할려면 오라클 공부해야한다는말에 미리 설레발치는중)

 

2. 인텔리제이 View - Database 부재

내가 이클립스를 많이 사용해본건 아니고 그렇다고 인텔리제이를 사용해본것도 아니지만...

최근 인텔리제이를 한 달가량 사용해봤을때 확실히 이클립스보다 좋다는 느낌이 든다.

뭐가 좋은지는 잘 모르겠음 ㅋㅋㅋㅋㅋㅋ

 

근데 이건 당연한 말이긴한데,

인텔리제이가 커뮤니티 버전이랑 울티메이트 버전에서 제공하는 기능이 차이가 많이 있는 것 같다.

 

그래도 말이야...?

무료로 사용하는 입장에서 알겠습니다 하고 사용하면 될 일이긴 해도 말이야...?

블로그에 기능을 포스팅하는 사람들은 커뮤니티 버전인지 울티메이트 버전인지 써줘야 할 것 아니냐고요?

 

그들이 소개하는 Database라는 메뉴는 커뮤니티 버전에는 없다.

따라서 인텔리제이 커뮤니티 버전에서 DB를 연결하려면 플러그인을 따로 설치해야 한다.

 

Database를 검색하면 제일 상단에 보이는 Database Navigator를 설치하자.

 

대충 자기들이 만든 플러그인이 아니라는 말. 수락버튼 클릭

 

인텔리제이 재시작

 

메뉴에 DB Browser 추가된 것 확인

 

왼쪽 상단에 +클릭해서 db connection을 추가하자.

티베로라던가 다른 db추가하는거는 내가 안해봐서 잘 모르겠는데 설치파일...? jar 파일...? 넣어줘야 할 듯?

일단 나는 오라클 사용할거라서 oracle 선택했다.

 

참고로 나는 오라클 11g 사용하고 있고 딱히 설정해준건 없지만 설정이 궁금하면 이전 포스팅 참고하면 된다.

https://1545154.tistory.com/65

 

[설치가이드] 오라클 21c 삭제 후 11g 설치

1. 오라클 21c 삭제 2. 오라클 11g 설치 며칠전에 오라클 21c 설치가이드를 작성했었는데... 이클립스랑 연동하려고 보니까 11까지밖에 없더라고? 따로 설정할 수 있는건지 모르겠는데 잘 모르겠네...

1545154.tistory.com

 

Name : connection 이름 설정

Description : 안써도됨

Host : localhost

Port : 1521

Database : orcl / SID가 아니라 Service name 선택

Authentication : User / Password 선택

User : 본인 오라클 계정

Password : 본인 오라클 비밀번호

 

ㅋㅋ 그리고 Test Connection을 클릭하면!!

IO 오류 : The Network Adapter could not establish the connection 이라는 무시무시한 에러를 뱉는다.

그러니까 대충 DB랑 연결이 안된다는 말이잖아.

 

3. 오라클 리스너 서비스 확인

CMD를 열고 lsnrctl status를 입력해보자.

허허 내가 오라클을 설치하고 실행되는거 확인하고 테이블까지 만들었던것 같은데 리스너가 분명히 있을...

없네?

 

리스너 서비스가 꺼져있나? 싶었는데 생각해보니까 서비스에도 없었던 것 같다.

서비스를 확인해보니 오라클 리스너가 없었다. 진짜루 내가 잘못설치해서 그런가? 딱히 손댄거 없는데.

 

4. 리스너 추가

 

리스너를 추가해주기위해서 오라클 설치하면 같이 딸려오는 프로그램들 중에서 

"Net Configuration Assistant"를 실행시키자.

 

리스너 구성 > 다음

 

이게 재구성/삭제/이름 바꾸기가 활성화되어있다는건 이미 리스너가 하나 등록되어있다는 소리다.

근데 왜 서비스에 등록이 안된거냐고 ㅋㅋㅋ

사진은 추가로 선택되어 있는데, 기존의 리스너 삭제 안할사람은 리스너 삭제부분은 넘겨도 된다.

나는 어떻게 활성화시켜야할지 모르겠어서 삭제하고 다시 만듦.

애초에 이게 더 빠르고 확실하기 때문에... 아무튼 삭제 선택하고 다음

 

삭제할 리스너 선택은 어차피 저 LISTENER 하나밖에 없다.

저게 원래 서비스에 추가되어야 하는데 왜 등록이 안됐는지 굉장히 궁금하지만...

내 능력으로는 도저히 파헤칠수 없...지는 않겠지만! (구글 선생님은 모든걸 알고 계시니까.)

알아보는건 다음으로 미뤄두자. 아무튼 다음

 

아니오가 아니라 예

 

다음

 

다음

 

이렇게 리스너가 하나도 등록되어 있지 않으면 추가만 활성화되어있다.

아까 리스너 삭제했으니까 당연히 추가만 활성화되어 있는 상태.

뭐 아무튼 다음

 

리스너 이름 설정하고 다음

 

아무것도 하지말고 다음

 

아무것도 손대지 말고 다음

다른 포트번호 사용해서 다른포트번호 적용하려면 따로 방화벽 설정 해주면 될...거다. (아마)

물론 나는 안해봐서 맞는방법인지는 모르겠지만.

 

아니오 > 다음

 

오예

다음 누르고 리스너 마법사 끄면 된다.

 

서비스를 확인해보면 OracleOraDb11g_home1TNSListener라는 리스너가 실행되어있다.

이렇게 리스너가 있어야 정상이다!

 

휴... 오늘도 에러를 하나 잡았다.

벌레같은녀석들... 죽여도 죽여도 끝없이 나온다니까.

 

5. 오라클DB 인텔리제이 연동

다시 인텔리제이로 돌아가서 db를 연동해보자.

2에서 설정했던대로 다시 입력 후 Test Connection을 클릭하면 당연히 스무스하게 성공한걸 볼 수 있다.

 

연동이 잘 되었는지 간단한 쿼리를 날려본다.

-- 현재 테이블스페이스에 존재하는 테이블 리스트 출력
select table_name from tabs;

 

잘 작동한다!

 

어라... 근데 내가 해야할건 이게 아니라 마이바티스 오라클 연동인데 왜 이짓을 하고 있었지?

그냥 dbeaver에서 하면 되는데....... 하...

댓글