목표:

내 노트북에 오라클 서버를 설치하고 넣은 데이터를 멀리 떨어진 팀원이 데이터 조회가 가능하도록 만들기.

 

상황:

내 노트북에 오라클 설치를 먼저 했고, 간단한 데이터 입력 및 조회가 되는 것까지 확인.

팀원 노트북에서도 같은 과정을 수행.

 

문제:

원격접속을 하려고 할 때 no listener란 error가 발생하거나 network adapter를 찾을 수 없다는 error가 발생함.

 

원인:

사설IP를 사용하면서 포트포워딩 없이 노트북의 포트에 접근하려고 시도해서 서버를 찾을 수가 없었다.

사설IP,공인IP,유동IP,고정IP의 개념이해가 부족했다.

 

해결:

1. 포트포워딩orDMZ를 한다

2. aws를 사용한다(1도 성공하긴 했지만, 집 컴퓨터를 서버로 내내 돌리기에는 유동ip 성격상 ip가 바뀌거나, 컴퓨터가 꺼질 상황을 염려하여 aws를 사용하기로 했다.)

 

해결하게 된 추론:

1. 호스트 접속시 error: no listener.

2. 각 컴퓨터 listener 켜져있는지 services.msc로 확인

3.listener파일이 제대로 설정되어 있는지 확인

4.ping test로 각 컴퓨터 연결되는지 확인

이때,listener 파일에 있는 ip와 ping test가 가능한 ip가 다른걸 보고 사설ip와 공인ip의 차이를 알게 되었다.

5.공인ip와 사설ip를 연결해주는 방법, 포트포워딩을 찾게 되었다.

6.포트포워딩보다 간단한 DMZ 설정을 해보았다.

7. 다시 시도, 해결!

 

공부한 내용:

IP는 컴퓨터의 주소라고 할 수 있다. 아파트에 비유하자면, 부산광역시 해운대구 우동 00 센텀0로 00,00동 0000호라는 주소가 있다고 치자. 여기서,  공인IP는 '부산~~00로00'까지이다. 사설IP는 '00동 0000호'이다. 원격접속을 위해서 쳐야할 주소란에 나는 00,0000로만 계속 알려준 것이다. 친구에게 찾아와라고 자기 집 주소를 알려줄 때, 어느동네 무슨아파트인지 얘기도 안해주고 00동 0000호라고만 얘기하면 어떻게 찾아올 수 있을까?

 

 

 

정확히는 'WAN'과 '공유기,LAN'사이에 광케이블에 연결된 모뎀이 있다

 

네이버에 '내ip'를 검색해서 나온 ip는 공인ip이고 ipconfig로 검색해서 본 wifi ipv4는 사설ip이다.

그렇다고 공인ip만 알면 되는건 아니다. 공유기(NAT)까지만 찾아올 수 있고, 내 컴퓨터까지 도달할 수 없다면 소용이 없다.

이때 필요한 것이 '포트포워딩'이다. 위 그림에서 (C)에서 (A)의 1521포트로 접속하기 위해서 (A)와 연결된 공유기에 

"1521포트를 요청하면 A컴퓨터의 1521포트로 연결해줘"라고 설정하는 것이다. 방법은 생각보다 간단하므로 검색해서 찾아보면 된다. (자신 공인아이피로 접속을 하면 관리자 페이지가 뜨는데, 거기서 매핑을 해주면 된다. 모든 포트를 열어버려서 더 간단한 DMZ도 있으니 참고하자)

 

+고정IP란? ISP에서 제공받아서 특정 컴퓨터(기기의 MAC주소로)와 1:1로 매칭되는 IP. 즉, 사설IP고 뭐고 하나의 IP만 알면 세계 어디서든 접속이 가능하다. 유지비용이 비싸고,  IP가 바뀌면 안되는 기업의 서버 설치에 사용된다. 그래서 도메인 서비스가 가능하다. 111.111.111.111->채니.com 요렇게

 

+유동IP란? ISP가 특정 대역을 가지고 있어서, 그 대역에 한해서 사용자에게 IP를 자동으로 뿌려주는 것. 즉, 하나의 IP에 대해 사용자가 계속 바뀐다는 것이다. 

 

그 이후...

사용자이름,비밀번호 <-서버에서 생성한 아이디와 비밀번호

호스트이름 <-접속할 IP 

포트 <-oracle은 보통 1521포트를 사용함.

SID <- 접속할 DB의 인스턴스 이름

 

이렇게 접속을 만들기 전tnsnames.ora 파일과 listener파일을 따로 설정해줘야한다. 오라클에서 네트워크를 통해 원격접속을 하려면 오라클 폴더의 설정파일을 수정해줘야하기 때문이다. (->https://oracle.tistory.com/87) 그 다음 DBlink를 설정해주면 DB를 공유할 수 있다!

 

 

 

 

+여담: 성공하긴 했지만, 집 컴퓨터를 서버로 내내 돌리기에는 유동ip 성격상 ip가 바뀌거나, 컴퓨터가 꺼질 상황을 염려하여 aws를 사용하기로 했다. aws를 사용하며 사용자ID만큼은 다르게 하려고 했지만, 이또한 dblink가 필요하고 이를 위해서 클라이언트+서버 프로그램 둘다 설치해야하기 때문에 아이디를 하나로 통일하기로 결정했다.

 

 

 

+그 외에 알게된 것..

더보기

+ftp(21). ssh(22),web(80),oracle(1521)..

+ping테스트로는 해당 주소가 네트워크에 연결되있는지만 확인 가능하지만 별도의 프로그램 설치를 통해 

tnsping을 이용하면 특정포트가 열려있는지까지 확인이 가능하다. 

+오라클xe설치로 서버를 먼저 설치하고 클라이언트 앱으로 sqldeveloper를 깔아서 쓰는 것이다. 

내장된 sqlplus 클라이언트도 있다.

http://blog.naver.com/PostView.nhn?blogId=jyc8618&logNo=220163994820

 

+서버를 이전하는 것= 마이그레이션

 

'Basic > Database' 카테고리의 다른 글

트랜잭션-동시성제어,회복  (0) 2022.10.03
트랜잭션  (0) 2020.01.30
Index(인덱스)  (0) 2019.12.17
NoSQL  (0) 2019.12.10
정규화  (0) 2019.12.10

+ Recent posts