database/oracle

ipTIME 공유기 내부 네트워크에 Oracle 설치 및 방화벽 설정

두억시니 2012. 1. 13. 12:42

집의 인터넷 공유기 안에 Oracle 11g를 기본값으로 설치하고 외부 접속 때문에 고생하고 몇자 끄적여 본다.
(이리도 쉬운걸 뱅뱅 돌고 돌아 해결하고 나니 속이 후련하기도 하고, 화가 나기도 하고 그러네.ㅡ,.ㅡ;;;)
아마도 Oracle 9i 또는 10g 도 공통적인 문제점(?)이 발생될것이 예상되니 이 문서를 참고해도 될듯 싶다.

오라클 버전별 호환성

다행히도 회사에서 사용하는 10.2와 9.2 버전은 11.2 버전과 호환이 된다. (출처 : http://branden.tistory.com/entry/oracle)


< 적용 환경 >
OS : Microsoft Windows 7 Ultimate K (x64)
DB : Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (32-bit)
인터넷 공유기 : ipTIME N8004(WOL, DDNS, 포트포워드를 사용)



< 방화벽 설정에 문제가 있을때 자주 볼수 있는 에러 메세지>
TNS-12541: TNS:리스너가 없습니다.
ORA-12170: TNS: 접속 시간 초과가 발생함


자, 이제 본격적으로 설정 방법을 알아보자.

① 오라클이 설치될 컴퓨터(서버)의 아이피는 당연히 고정으로 설정해준다.

Internet Prorocol Version 4 (TCP/IPv4) 속성

ipTIME 인터넷 공유기의 DHCP로 아이피를 부여받은 PC는 잘 변경이 되지 않는데, 혹시 모르니 고정 아이피로 설정해준다. 아니 여러가지 이유로 IP는 고정으로 설정해주는게 좋다. ㅎㅎ



② 오라클 설치, 별다른 주의사항은 없다. 자신이 특수한 네트워크 환경을 추구한다면 기본적인 Setting값 정도는 알고있지 아니한가? 



③ 리스너 구성
[시작]-[모든 프로그램]-[Oracle - OraDb11g_home1]-[구성 및 이전 툴]-[Net Manager] 를 실행하고,

Oracle Net Manager

화면 하단의 [주소 추가] 버튼을 누르고 위의 1번에서 설정한 IP를 입력해준다. 리스너 구성이 변경되었다면 명령 프롬프트(cmd) 를 열고 lsnrctl stop 하고 lsnrctl start 해서 리스너를 재시작해주는것이 좋다.




④ ipTIME 공유기 설정

iptime

인터넷 공유기 설정의 포트포워드 설정을 한다. DMZ로 설정했다면 상관 없겠지만, 그렇지 않은경우 포트포워드로 Oracle 1521 포트에 대한 설정을 해준다.




⑤ 윈도우7의 방화벽 설정
[시작]-[제어판]-[시스템 및 보안]-[Windows 방화벽에서 프로그램 허용]

허용되는 프로그램

oracle.exe 와 TNSLSNR.EXE 가 각각 등록되어 있는지 확인한다. 되어있지 않다면 오라클 설치폴더의 BIN 폴더에서 추가해준다. Oracle 11 버전의 경우 위의 프로그램들이 자동으로 등록되는것 같다. 하위 버전에서 되지 않는다면 수동으로 추가해준다.



특별히 윈도우즈 방화벽 설정에서 인바운드 TCP 1521 포트를 열어주진 않아도 된다. 추후 Oracle의 기본포트 1521를 바꿀수도 있으니 포트를 열어주기 보단 프로그램을 추가하는게 보안상에 더 안전하다. 위의 ⑤번 작업을 하고도 외부에서 접속이 되지 않는다면 잠깐 방화벽을 disable 해보고 접속해보고 윈도우즈 방화벽이 문제인건지 확인해 볼수 있다. ①번부터 ⑤번까지 번호(순서)를 채번하긴 했지만, 설정 순서라기 보단 필요한 부분만 참고하면 되겠다. 필자 본인은 이렇게 해서 외부에서 DDNS 주소로 접속하니 접속이 잘 된다. 필자처럼 ③번 항목 리스너 구성에서 주소를 DDNS(xxxxx.iptime.org)로 입력하는 우를 범하지 말길 바란다.