Oracle 외부에서 연결하기

✒️ 2025-05-28 16:31 내용 수정


참고 자료 : MelonPeach 오라클(Oracle) 공유기 포트포워딩 방법, heekng's 내 컴퓨터 데이터베이스 외부에서 접속하기(오라클DB, 방화벽 설정), DevelopLSB Oracle 외부에서 로컬DB 접속하기

U+ 공유기 포트포워딩 설정 참고 자료 : 4강신화's LG U+ 공유기 포트포워딩 설정하는 방법, Lamanus's 포트 포워딩 설정하기 - U+ 이중 공유기


포트포워딩, 네트워크 설정

  1. 작업 표시줄의 윈도우 마크에서 우클릭 - 실행 - cmd를 입력해 명령 프롬프트(cmd)를 실행한다.
  2. cmd를 실행하면 ipconfig를 입력해 이더넷 어댑터 이더넷 정보에서 IPv4 주소와 기본 게이트웨이 주소를 체크한다.

oracle portfowarding.png

  1. cmd에서 lsnrctl status를 입력해 Oracle 서비스의 정보를 출력해 PORT를 확인한다.
    • Oracle의 포트는 Protocol = TCP에 PROT = 1521이다.

oracle portfowarding 2.png

  1. 포트포워딩을 위해 웹 브라우저 주소창에 기본 게이트 웨이를 입력한다.
    • 예를 들어 게이트 웨이가 192.168.201.1이라면 주소창에 그대로 입력한다.
    • 공유기 회사별로 페이지 및 설정 방법이 조금씩 다르기 때문에 본인이 사용하는 제품의 포트포워딩 설정 방법을 따로 찾아보는 것을 권장한다.
  2. 공유기 페이지가 뜨면 공유기 아이콘을 클릭하고, 로그인 창이 뜨면 공유기의 뒷면에 있는 admin 비밀번호(사용하던 제품에선 http://게이트웨이주소 옆에 있었음)와 보안 코드를 입력해서 로그인한다.
    • U+ 기준 해당 페이지에서 변경한 설정들이 있으면 반드시 하단에 설정 적용을 눌러줘야만 설정이 저장되며, 매번 설정을 저장할 때 마다 공유기가 재시작하기 때문에 네트워크가 일시적으로 끊긴다. 중요한 작업중이라면 주의할 것.
    • 집 환경에선 2개가 떴는데, 이 때 위쪽 기기를 누르면 된다.

포트포워딩 1.png
포트포워딩 2.png

  1. U+ 기준 네트워크 설정 - 유선 네트워크 설정에서 WAN의 IPv4 Only가 체크되어 있는지 확인하고, 만약 안되어 있다면 체크한 후에 아래쪽에 설정 적용을 해준다.
    • Auto로 되어 있을 때 NAT 설정 시 먼저 IPv4 Only로 바꾸라는 알림이 떴었다.

포트포워딩 3.png

  1. 네트워크 설정 - NAT 설정에서 포트포워딩 설정 추가 버튼을 누른다.
    • 사진은 게임 서버와 이미 추가해둔 Oracle 포트가 있는 상태다.

포트포워딩 4.png

  1. 서비스 포트에 Oracle의 포트인 1521 - 1521을 입력하고, 프로토콜은 TCP/IP, 내부 IP 주소는 cmd로 확인했던 IPv4 주소를 입력하고, 내부 포트도 1521로 입력한 뒤 추가를 눌러준다.
  2. 추가가 완료되었다면 반드시 아래쪽에 있는 설정 적용을 누르면 네트워크 설정은 끝이다. (공유기 재시작으로 인터넷이 잠깐 끊기는 걸 잊지 말자)

포트포워딩 5.png


Oracle 서비스 설정 및 상태 확인

  1. 드라이브:/oraclexe/app/oracle/product/11.2.0/server/network/ADMIN 폴더에서 listener.ora 파일과 tnsnames.ora 파일이 있는지 확인한다.
  2. listener.ora 파일과 tnsnames.ora 파일에도 HOST가 컴퓨터 이름인지 확인한다.
    • Oracle 버전이나 컴퓨터 환경에 따라 조금씩 다른 것 같은데, 몇몇 글에선 HOST = ip주소, 다른 글에선 HOST = 컴퓨터 이름으로 설명되어 있다. 둘 다 작성한 다음 cmd에서 lsnrctl start를 해서 제대로 작동되는 쪽을 선택하면 되는 것 같다.
    • Oracle 리스너에서 host 이름이 컴퓨터 이름으로 설정된 상태라면 그대로 둬도 잘 작동했다.
    • HOST = localhost로 작성되어 있거나 다른 내용이 있어 작동이 잘 안 된다면 컴퓨터 이름을 제어판 - 시스템 및 보안 - 시스템에서 확인하고 내용을 수정한다.

oracle portfowarding 10.png

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 컴퓨터이름)(PORT = 1521)) // 호스트 주소
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) 
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oraclexe\app\oracle\product\11.2.0\server) // Oracle 설치 위치
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 컴퓨터이름)(PORT = 1521)) // 호스트 주소
    )
  )

DEFAULT_SERVICE_LISTENER = (XE) // 내 설정에서는 XE가 기본이었다.
  1. 작업 표시줄의 윈도우 마크 우클릭 - 실행 - services.msc에서 OracleServiceXE와 OracleXETNSListener가 실행중인지 확인한다.
    • 실행 중이 아니라면 서비스를 실행시켜주거나, cmd에서 lsnrctl status로 현재 Oracle 서비스 상태를 확인하고 lsnrctl start로 실행한다.

oracle portfowarding 9.png
oracle portfowarding 11.png


방화벽 설정

  1. 작업 표시줄의 검색에 방화벽을 검색해서 방화벽 설정을 열고, 고급 설정을 선택한다.

oracle portfowarding 3.png

  1. 왼쪽 메뉴에서 인바운드 규칙을 선택하고, 오른쪽의 작업에서 새 규칙을 선택한다.

oracle portfowarding 4.png

  1. 규칙의 종류를 포트로 설정한다.

oracle portfowarding 5.png

  1. TCP 규칙으로 설정하고, 특정 로컬 포트로 Oracle의 포트인 1521을 입력한다.

oracle portfowarding 6.png

  1. 규칙 적용 타입은 도메인, 개인, 공용을 모두 선택한다.
    • 몇몇 참고 자료에선 상황에 따라 선택하길 권장했다. 다만 그 기준을 잘 몰라서 내가 설정할 때는 모두 체크했다.

oracle portfowarding 7.png

  1. 규칙 이름을 OracleDB로 작성하고 마침을 누르면 새 방화벽 규칙이 추가된다.

oracle portfowarding 8.png


Oracle에서 DB 연결 추가하기

  1. 새 데이터베이스 연결을 눌러 Oracle을 선택한다.
  2. Host에 호스트 컴퓨터의 외부 ip 주소를 입력하고, Database 항목에 tnsnames.ora 파일과 listener.ora에서 설정한 이름 및 SID 혹은 Sevice Name을 선택해서 입력한다.
    • 내 기본 설정에서는 XE로 설정되어 있어서 서비스 이름과 XE로 설정했다.
  3. Authentication에서 Oracle 사용자의 이름과 비밀번호를 입력한 후 Test Connection을 눌러 연결이 제대로 되는지 확인한다.
    • 만약 system 외의 다른 사용자가 없다면 Oracle에서 미리 생성해준다.
  4. Connected가 뜬다면 이제 외부에서도 해당 Oracle에 접속해서 사용할 수 있다.
    • 서버 컴퓨터에서도 해당 ip 주소를 입력해서 연결을 확인했고, 팀원분들도 연결이 잘 되는 것을 확인해주셨다.

db 연결.png


기타

DMZ 설정

  1. 네트워크 설정 - NAT 설정 - DMZ 설정에서 DMZ 사용함을 체크해주고, DMZ IP 주소를 cmd에서 확인한 IPv4 주소를 입력하고 설정 적용을 눌러준다.

포트포워딩 6.png


고정 IP 설정

  1. 설정 - 네트워크 - 어댑터 옵션 변경을 선택한다.

고정ip 1.png

  1. 사용중인 이더넷에 우클릭을 하고, 인터넷 프로토콜 버전 4(TCP/IPv4)를 클릭해 속성 버튼을 누른다.

고정ip 2.png
고정ip 3.png
고정ip 4.png

  1. 다음 IP 주소 사용하기를 선택해 사용하려는 IP 주소를 입력하고, cmd에서 ipconfig를 입력해서 확인할 수 있는 서브넷 마스크와 기본 게이트웨이를 입력한다.
  2. DNS도 다음 DNS 서버 주소 사용하기를 선택해 DNS 기본 설정은 8.8.8.8 (구글), 보조 DNS 서버는 8.8.4.4로 설정하고, 이 부분이 이미 되어 있다면 IP 주소만 설정하고 확인을 누른다.

고정ip 5.png


이더넷 고정 IP 설정이 안될 때 DHCP 고정 IP 설정

  1. Oracle 외부에서 연결하기#포트포워딩, 네트워크 설정에서 상태 정보 - DHCP 할당 정보로 들어가서 DHCP 고정 할당을 선택한다.
  2. DHCP 고정 할당 추가 메뉴의 맥주소 검색 버튼을 누른다.

포트포워딩 7.png

  1. 현재 사용 중인 컴퓨터 장치들의 IP 주소, 하드웨어 주소, 인터페이스가 뜬다. 이 중에서 서버 컴퓨터의 IP주소나 하드웨어 주소와 비교해서 고정할 맥주소를 선택해준다.

포트포워딩 8.png

  1. 할당할 IP 주소를 설정하고 오른쪽의 추가 버튼을 눌러 DHCP 고정 할당 목록에 추가한 후 화면 아래의 설정 적용을 눌러준다.

포트포워딩 9.png