반응형

"TNS-01189: The listener could not authenticate the user" error message

오라클 설치를 끝내고 이제 리스너 시작을 하기 위해 lsnrctl 명령어를 이용했건만, 위와 같은 오류가 하염없이 뜨면서 사람을 괴롭히는 경우가 있습니다.


이 오류를 해결하기 위해 구글링을 했는데 의외로 해결책이 마땅한게 없어서 애를 좀 먹었습니다. 


이 오류를 해결하기 위해서는 반드시 살펴봐야 하는 사항이 2가지 입니다.


1. 현재 리눅스 접속 아이디가 오라클을 사용할수 있는 아이디로 접속을 하였는가?


2. lsnrctl 버전이 오라클과 다르지는 않은가?


 

첫번째의 경우가 해결책이 되는 경우는 사실상 거의 없습니다. 하지만 혹시나 현재 root로 접속하고 있는건 아닌지 한번 살펴보시기 바랍니다.


아마 대부분 오라클을 리눅스에 설치하기 위해 구글을 통해 정보를 찾아 그 설치과정을 그대로 따라했을 것입니다.


이렇게 되면 대부분 "oracle" 이라는 아이디를 만들었을것인데요. 아무리 root라 할지라도 리스너를 실행시킬수가 없습니다.


오라클 관련 권한은 전부 아이디가 oracle인 녀석에게 있기 때문입니다.



 

▲ 아이디가 oracle인지 root인지 반드시 확인 해볼것 



그렇다면 두번째를 살펴봐야 하는데요. 제가 두번째 케이스를 고려하고 다시 수정해서 해결을 했습니다.



리스너 버전을 확인하기 위해서는 단순하게 lsnrctl 명령어를 쳐보시면 확인할수 있습니다.






그럼 위와 같이 버전을 확인하실수가 있습니다. 지금은 11.2로 버전이 잘 업데이트가 되었지만 제가 TNS-01189 오류가 났었을때는 버전이 10.2였습니다.


오라클 버전은 11g 인데 리스너는 10.2였으니 버전이 서로 맞지가 않아 lsnrctl 명령어가 먹질 않았던 것입니다.


버전을 업데이트를 하면 거의 90%는 해결된다고 보실수 있는 문제입니다. 90%라고 하는 이유는 나머지 10%는 다른 이유가 복합적으로 작용해서 생긴 문제일수도 있기 때문입니다.


버전 업데이트 하는 방법은 listener.ora 파일에 들어가셔서 리스너 설정을 해주면 바로 해결될수 있는 문제인데요.


구글에 버전에 맞는 리스너 설정법을 검색하시면 쉽게 업데이트 가능합니다.


예를 들어 저 같은 경우 오라클 11g의 리스너 설정을 하고 싶기 때문에 "오라클 11g 리스너 설정" 이라고 검색하면 수많은 블로거 분들이 아주 잘 포스팅한 글들이 매우 많기 때문에 그것들을 그대로 복붙한다음 IP와 포트만 바꿔 주시면 됩니다.


간단한 예로 제가 설정한 리스너 내용을 밑에 올립니다.



이것은 오라클 11g 리스너 설정 내용이므로 다른 버전을 쓰신다면 다른 버전을 검색하시면 되겠습니다.



이것으로 포스팅 마치겠습니다. 

+ Recent posts