리눅스 서버 자체를 재 기동 시켜야 할 경우가 있어 재 기동을 시켰다.
서버에 있는 프로세스들도 마찬가지로 재 기동을 시켜준 후 DB Tool인 DBeaver을 통해서 원격 접속을 하려고 할 때 위 사진과 같이 “The Network Adapter could not establish the connection” 오류가 떴다.
이 때 서버의 인터넷 문제인가 싶어 Ping 명령을 수행했을 때 정상적으로 통신이 이루어졌다.
그래서 아래와 같은 가설들을 세우며 문제를 해결 하고자 하였다.
오라클 리스너
는 네트워크를 이용하여 클라이언트에서 오라클 서버로 연결하기 위한 오라클 네트워크 관리자이다.
오라클 서버에서 리스너를 시작 시켜줘야만 클라이언트들이 접속할 수 있다.
이 때 오라클 리스너가 꺼져있다면 지금 접속이 안되고 있는 것이 설명이 되기 때문에 오라클 시스너에 대해서 먼저 살펴보았다.
오라클 리스너 상태를 확인 하기 위해서는 아래의 과정을 따라서 확인할 수 있다.
su - oracle
lsnrctl status
이 때 리스너가 꺼져있다면 리스너가 없다는 문구가 뜨거나 Service의 상태가 READY가 아닐 것이다.
그러나 나는 이 때 리스너가 정상적으로 동작 중이며, Service의 상태가 READY로 표시 되었다.
혹시 오라클 리스너 설정 파일에서 IP가 재부팅시 변경 되었는지를 확인 하기 위해서 listener.ora와 tnsnames.ora 파일을 살펴 보았는데 정상적으로 IP가 기입 되어있었다.
listener.ora와 tnsnames.ora 파일의 경로는 lsnrctl status 명령어 실행시에 Listener Parameter File에 대한 경로를 확인하면 찾을 수 있다.
그래서 나는 서버가 재부팅 되었을 때 Oracle의 기본 Port인 1521에 대해 방화벽 설정이 막히게 되어서 통신이 현재 불가한지를 살펴보고자 하였다.
결과부터 확인하면 방화벽의 문제가 맞았다.
서버가 재 기동 되면서 기존 1521번의 방화벽 설정이 리셋이 되면서 포트가 닫힌걸로 확인된다.
아래의 과정을 따라가며 나는 문제를 해결하였다.
firewall-cmd --query-port=1521/tcp
1521번 포트가 현재 열려있는지의 여부를 확인한다.
만약 열려있으면 yes를 반환하고, 닫혀있으면 no를 반환한다.
firewall-cmd --add-port=1521/tcp --permanent
1521번 포트를 영구적(--permanent)으로 열어놓겠다는 뜻이다.
이 때 영구적이라는 뜻은 변경이 불가하다는 뜻이 아니라, 서버가 재기동 될 시에도 해당 설정은 초기화 되지 않고 지속 된다는 뜻이다.
firewall-cmd --reload
reload 옵션을 통한 업데이트를 통해 해당 설정을 적용 시켜야 한다.
1521번 포트에 대한 방화벽 설정을 열어주고 나니 정상적으로 Conenction이 되었다!