Oracle Net 이름 지정방식은 네 가지종류가 있다.
다른건 모르겠고 실제 사용중인 DB 구성파일로 Oracle net 로컬 이름 방식의 접속 절차를 간략하게 알아보겠다. 우선 서버와 클라이언트의 설정 파일은 다음과 같다.
- 호스트 이름 방식
- 로컬 이름 방식
- 디렉토리 이름 지정 방식
- Oracle Names 방식
다른건 모르겠고 실제 사용중인 DB 구성파일로 Oracle net 로컬 이름 방식의 접속 절차를 간략하게 알아보겠다. 우선 서버와 클라이언트의 설정 파일은 다음과 같다.
- 서버의 listener.oraLISTENER_NAME =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/product/10.2.0)
(PROGRAM = extproc)
)
)
LISTENER_NAME =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 111.111.111.111 )(PORT = 1521))
)
)
)
INBOUND_CONNECT_TIMEOUT_LISTENER = 0 - 클라이언트의 tnsnames.oraSERVICE_NAME =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = 111.111.111.111)(Port = 1521))
)
(CONNECT_DATA =
(SID = SID_NAME)
)
)
>sqlplus useid/pass@service_name
- 사용자에 의해서 데이터베이스로 접속 요청이 발생하면 클라이언트에서는 tnsnames.ora 파일로부터 접속하고자 하는 데이터베이스에 대한 접속 정보를 획득하게된다. 예제의 경우 접속하려는 데이터베이스의 IP주소는 111.111.111.111 이고 port는 1521이다.
- tnsnames.ora 파일에서 획득한 정보로 데이터베이스서버에 접속하게되면 서버에서 요청을 기다리고 있는 리스너 프로세스가 클라이언트의 요청을 수신하게된다.
- 리스너 프로세스는 사용자의 요청에 맞는 정보를 클라이언트에게 알려준다. 예제에서는 요청한 SID_NAME을 가지는 테이블의 정보를 클라이언트에게 보낼 것이다.
- 수신받은 테이블에 대한 정보를 가지고 클라이언트는 데이터베이스에 접속할 수 있게된다.
'개발개발' 카테고리의 다른 글
@SuppressWarnings("unchecked") does not ignore raw types warnings anymore (0) | 2011.09.22 |
---|---|
Dynamic Web Module? (1) | 2011.09.15 |
Oracle 날자 관련 함수 (0) | 2010.04.09 |
Oracle 10g XE (0) | 2010.04.05 |
SQL Developer 64bit (0) | 2010.03.24 |