database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Tutorials 9049 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 9049
Oracle을 외부 네트워크로 열어주고자 할때(MTS인 경우)
작성자
정재익(advance)
작성일
2001-12-25 13:33
조회수
4,215

FireWall이 설치되어있는 경웁니다.

MTS가 아닌경우에는 Listener의 Port만 열어주면 외부에서 들어 올수 있지만 MTS라면 아래의 방법으로 해결하기 바랍니다.

 

사용하시는 firewall 의 listener port 가 open 되어 있는지 확인해 주십시오.

만약, 서버가 MTS(multi thread server) 를 사용하신다면 아래처럼 dispatcher 의 port 를 미리 지정해서 firewall 에서 listener 이외에 dispatcher port 들도 open 해 주셔야 합니다.

가장 간단히 확인하는 요령은 $ps -ef|grep ora 해보시면

ora815    3901     1  0    10:59 ?        00:00:20 ora_pmon_ORA815
ora815    3903     1  0    10:59 ?        00:00:00 ora_dbw0_ORA815
ora815    3905     1  0    10:59 ?        00:00:00 ora_lgwr_ORA815
ora815    3907     1  0    10:59 ?        00:00:00 ora_ckpt_ORA815
ora815    3909     1  0    10:59 ?        00:00:07 ora_smon_ORA815
ora815    3911     1  0    10:59 ?        00:00:00 ora_reco_ORA815
ora815    3913     1  0    10:59 ?        00:00:00 ora_s000_ORA815
ora815    3915     1  0    10:59 ?        00:00:00 ora_d000_ORA815
ora815    3971     1  0    11:30 ?        00:00:00 /ora/app/oracle/product/815/b
ora815    3985  3734  0    11:40 pts/1    00:00:00 ps -ef

 

위에 d000 이라는 process 가 있죠? 이녀석이 dispacher 입니다. 만약, ps 명령으로 봤을때 이런 process 가 없다면 MTS 가 아닌 dedicated 방식을 사용하는 것이므로 listener port 만 정확히 firewall 에서 열어주시면 외부에서 접속하는데 문제가 없죠.

 

MTS Server 를 셋팅하고 Firewall 이 설치되어 있는 시스템에서 외부에 있는 클라이언트에서 접속을 하려고 했을 때 dispatcher 의 포트가 Firewall 에서 개방되어 있지 않아 접속이 안됩니다.

7.3.3 이상 버전에서 Dispatcher 의 Port 를 DB 기동 시 지정할 수 있는 기능이 제공됩니다.

 

=====================================================================

initSID.ora 파일의 내용을 다음과 같이 바꿉니다.

 

변경전

======

MTS_DISPATCHERS="tcp,2"

 

 

변경후

======

MTS_DISPATCHERS="(ADDRESS=(PARTIAL=TRUE)(PROTOCOL=TCP)

(HOST=144.25.16.201)(PORT=15000))(DISPATCHERS=1)"

MTS_DISPATCHERS="(ADDRESS=(PARTIAL=TRUE)(PROTOCOL=TCP)

(HOST=144.25.16.201)(PORT=15001))(DISPATCHERS=1)"

 

위와 같이 해주시면 각각의 Dispatcher 가 15000, 15001 Port 를 가지고

기동하게 됩니다. 이때 Firewall 에서는 이 두개의 포트와 Listener 가

사용하는(일반적으로 1521 포트) 포트를 열어주면 접속이 가능합니다.

 

# SDU/TDU 도 지정할 수 있습니다.

 

MTS_DISPATCHERS="(DESCRIPTION=(SDU=8192)(TDU=8192)

(ADDRESS=(PARTIAL=TRUE)(PROTOCOL=TCP)(HOST=ukhp55)))

(DISPATCHERS=1)"

 

위 사항은 반드시 7.3.3 이상 버전에서만 가능합니다.

=======================================================================

테스트 결과입니다.

RC80:/mnt3/rctest80/app/oracle/product/804/dbs> lsnrctl serv LSNR80

LSNRCTL for SVR4: Version 8.0.4.0.0 - Production on 28-OCT-98 11:30:33

(c) Copyright 1997 Oracle Corporation.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=TCP)(Host=o200)(Port=1527))
Services Summary...
RC80          has 3 service handler(s)
   DEDICATED SERVER established:0 refused:0
     LOCAL SERVER
   DISPATCHER established:0 refused:0 current:0 max:254 state:ready
     D000 
     (ADDRESS=(PROTOCOL=tcp)(DEV=17)(HOST=152.69.16.63)(PORT=15000))
   DISPATCHER established:0 refused:0 current:0 max:254 state:ready
     D001 
     (ADDRESS=(PROTOCOL=tcp)(DEV=17)(HOST=152.69.16.63)(PORT=15001))
The command completed successfully

한국 Oracle에서 인용한 자료입니다.

[Top]
No.
제목
작성자
작성일
조회
9053Data와 Index가 같은 tablespace에 있는 경우 를 분리하는 방법
정재익
2001-12-25
4788
9052Oracle 8i의 Migration workbench
정재익
2001-12-25
5182
9051Repository 생성 절차
정재익
2001-12-25
4060
9049Oracle을 외부 네트워크로 열어주고자 할때(MTS인 경우)
정재익
2001-12-25
4215
9047SQL Loader 예제
정재익
2001-12-25
4700
9045Oracle8의 national Character Set(nchar)에 대하여
정재익
2001-12-25
4105
9044Oracle8i 에서의 character set 변경
정재익
2001-12-25
3866
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.049초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다