오라클로 들어오는 요청을 감지하는 설정파일이다.
오라클 설치폴더 안의 network/admin 경로에 있다.
파일을 메모장으로 열어보면 다음과 같이 되어있다.
# listener.ora Network Configuration File: C:\oracle\NETWORK\ADMIN\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\oracle) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:C:\oracle\bin\oraclr19.dll") ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
이 부분이 현재 localhost 1521포트로 DB연결요청을 받고있다는 뜻이다.
cmd 창을 열어 ipconfig 명령어를 통해 내부IP 주소를 알아낸다.

현재 IPv4 주소가 192.168.0.2이므로 이 주소를 추가해 준다.
# listener.ora Network Configuration File: C:\oracle\NETWORK\ADMIN\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\oracle) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:C:\oracle\bin\oraclr19.dll") ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )
오라클의 연결포트는 1521번인데
같은 내부망일지라도 1521포트가 열려있지 않다면 접속할 수가 없다.
윈도우 검색창에서 '고급 보안이 포함된 Windows Defender'를 검색해서 연다.

'인바운드 규칙'란에서 오른쪽에 보이는 '새 규칙'을 누른다.

연결 종류는 '포트'

규칙은 'TCP', 특정 로컬 포트는 '1521'

그리고 계속 다음을 누르고 규칙이름을 정하면 1521 포트를 허용하는 규칙이 추가된다.
그리고 listener 서비스를 재시작해주어야한다.
윈도우 검색창에서 '서비스'를 검색해서
서비스명이 oracle로 시작하면서 listener로 끝나는 서비스를 찾아 다시 시작을 눌러준다.
귀찮으면 그냥 재부팅해도 된다.
(경험상 OS가 부팅될 때는 listener 서비스가 생각보다 늦게 시작된다)

내부 네트워크에서는 아까 설정한 192.168.0.2:1521:orcl로 접속이 되는 것을 확인할 수 있다.
(orcl은 서비스명, 기본설정값이 orcl이고 본인이 설치할 때 바꾸었다면 바꾼 값)
기억이 나지않는다면 listenr.ora와 같은 폴더에 있는
tnsnames.ora 파일을 열어 서비스명을 확인할 수 있다.
외부 네트워크에서 현재 오라클 DB에 접속하려면
외부 접속시 가장 먼저 만나는 게이트웨이로부터 포트포워딩을 받아야한다.
구성환경이 기업이나 회사라면 본인이 설정할 수 있는 부분이 아니므로 네트워크 관리자에게 문의해야하고,
가정집이나 본인이 네트워크 설정관리를 할 수 있다면
오라클DB를 구성하고 있는 192.168.0.2:1521로 포트포워딩 설정을 해주면 된다.