학교에서 학습했던 것들을 복습하기 위해 집에 와서 노트북을 키고,
sqldeveloper를 실행하였다. 그리고 사용자와 테이블을 생성하기 위해 데이터베이스 접속을 하려는 순간..
요청한 작업을 수행하는 중 오류 발생:
IO 오류: The Network Adapter could not
establish the connection
업체 코드 17002
처음보는 오류가 나에게 간단한 자기소개를 하며 인사를 건넸🙋♂️..
아니, 발생했다.🙅♂️🤦♂️🤷♂️
'어떤 유형의 오류일까?'
오류는 나에게 간단한 자기소개만 해주었을 뿐, 다른 어떠한 것도 알려주지 않았다.
지피지기면 백전불태라고 했던가
해결하려면 어떤 성격을 가진 오류인지 찾아보지 않을 수 없었다.
따라서, 해당 오류 내용을 검색해 보았고,
Oracle Listener가 실행 중이지 않아서 데이터베이스 접속이 불가능하다는 원인을 알게 되었다.
먼저, Oracle Listener가 정말 실행 중이지 않은지 확인할 필요가 있었다.
확인하는 방법은 아래와 같다.
내 PC - 관리 - 서비스 및 응용 프로그램 - 서비스 - OracleXETNSListener 확인
정말 서비스 상태가 중지 되어 있었고, 시작을 눌러도 몇 초 뒤에 다시 중지
상태로 복귀했다. 아래 사진처럼 말이다.
똑같은 오류이지만 사용자의 환경에 따라서 오류가 발생된 원인이 천차만별이기 때문에 오류가 발생하기 전과 지금을 비교 했을때 어떤 환경의 변화가 있었는지
'나' 의 환경에서 원인을 생각해 보았다.
그리고 떠오르는 유력한 원인!!
바로, 노트북 사용자(디바이스) 이름 변경이다.
기기를 쉽게 구별하기 위해서 사용자 이름을 변경 했었는데 그게 원인이 된 거 같다.
이제 원인을 알았으니 해결할 차례다.
먼저, 오라클이 설치된 디렉토리로 가보자.
경로는 다음과 같다.
C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN
해당 디렉토리에 있는 listener.ora 파일과 tnsnames.ora 파일을 수정할 것이다.
수정을 위해 메모장으로 실행해 보자.
아니나 다를까, HOST 명이 변경하기 전 사용자(디바이스) 이름으로 되어 있었다.
두 파일 모두 바뀐 사용자 이름으로 변경 후 저장을 해주도록 하자.
변경과 저장까지 끝마쳤다면 Oracle Listener가 정상적으로 실행이 되는지 확인하기 위해, 방금전 실행했던 컴퓨터 관리를 통해 실행해 주도록 하자.
[정상적으로 실행되는 모습이다]
생각해보니 오라클이 설치될 때 입력받은 호스트 명과 현재 호스트명이 다르니
오류가 발생할 수 밖에 없었던 것이다.
이제 오류가 해결 되었는지 확인해 볼 차례다.
재부팅 후, sqldeveloper를 실행하여 데이터 베이스 접속을 시도해 보자.
[정상적으로 접속되는 모습이다]
다행히 정상적으로 접속이 되었다.
다시 공부에 전념을 할 수 있게 되다니.. 너무나도 감동적이지 않은가?
공부를 하기 위해 sqldeveloper를 실행 했더니 오류가 발생했고, 해당 오류를 해결하기 위해 작은 공부를 하게 되었다. (이게 공부를 위한 공부인가..?)
이처럼 사용자의 사소한 환경 변화에도 반응을 한다는 걸 새삼 느끼게 되었고, 오류를 해결하기 위한 작은 공부였지만 그 어느때 보다 뿌듯한 기분이다!
끝으로 개인적으로 좋아하고 존경하는 인물인
멋쟁이사자처럼 프로그래머 이두희 님의 말씀으로 글을 마무리 하겠다.
"개발자의 가장 큰 덕목은 인내력이라고 생각해요. 대부분 개발과정이 창의력과 논리력으로 구조를 만드는 건 전체의 10%도 안 되고 개발하면서
문제점을 찾는 부분이 나머지 90%이고 이땐 진짜 고생을 많이 해요.
(따라서)진짜 필요한 덕목은 인내력이라고 생각해요."
(▶https://youtu.be/hUZuOYO_BAAsellev/ 영상 중에서.)
하....이 오류때문에 고생했는데 제가 서비스에서 수동으로 해놨었네요......ㅜ