오라클 넷의 개념

 

1. 접속 방법 

 

  오라클 접속방법에는 위와 같은 두가지 방법이 존재한다.

  - 1의 경우 : 텔넷 등을 이용하여 운영체제에 먼저 접속하는 방식이다. 그 후 해당 데이터베이스에 접속하게 된다.    

                   이 우에는 오라클 넷을 이용하지 않게 된다.

 

  - 2의 경우 : 툴을 이용하여 운영체제에 대한 접속 없이 데이터베이스에 직접 접속하는 방식으로 오라클 넷을

                   이용하게 된다.

 

2, 오라클 넷의 개념

 

 위와 같이 외부에서 운영체제 인증 없이 데이터베이스로 직접 접속을 하기 위해서는 보통의 경우 오라클 넷이라는

아키텍처를 이용하게 된다. 오라클 넷의 특징은 다음과 같다.

 

  - 프로토콜에 독립성

  - 광범위한 플랫폼 지원

  - 추적 및 진단 제공

  - 기본 보안 제공

 

 오라클 넷은 이와 같은 특징을 가지며 이름 지정 방식을 이용하여 원하는 데이터베이스로 접속할 수 있는 정보를 획득하게 된다. 이름 지정 방식은 다음과 같이 네가지 종류가 존재한다.

 

  - 호스트 이름 방식 : 대상 데이터베이스의 호스트이름 또는 IP를 이용하여 대상 데이터베이스에 접속하는 방식.

 

  - 로컬 이름 방식 : 클라이언트에 존재하는 tnsnames.ora 파일에 등록된 대상 데이터베이스의 정보를 이용하여

                           접속하는 방식. (가장 많이 사용하는 방식)

 

  - 디렉토리 이름 지정 방식 : 별도로 존재하는 디렉토리 서버에서 대상 데이터베이스의 정보를 모두 관리하는 방식.

 

  - Oracle Names 방식 : 오라클에서 제공하는 디렉토리 이름 지정 방식.

 

3. 오라클넷의 구성 파일

 

 오라클 넷을 사용하기 위해서는 5가지의 파일이 필요하다. 각 파일의 특징을 확인한다.

 

  - ldap.ora : 디렉토리 서비스를 사용할 경우 클라이언트와 데이터베이스 서버에 존재하는 파일로 해당 디렉토리

                  서버를 엑세스 할 수 있는 정보를 저장한다.

 

  - names.ora : Oracle Names 방식의 오라클 디렉토리 이름 지정 방식을 이용할 경우 Oracle Names 서버에서 모든

                   데이터베이스의 정보를 저장하고 있는 파일

 

  - tnsnames.ora : 클라이언트에 존재하며, 데이터베이스의 정보를 저장하고 있는 파일로 로컬 이름 방식을 사용할

                         경우 이용하게 된다.

 

  - listener.ora : 데이터베이스 서버에 존재하는 파일로 접속을 요청하는 클라이언트와 실제 데이터베이스를 연결해

                      주는 역활을 수행하는 리스너 프로세스의 정보를 저장하는 파일

 

  - sqlnet.ora : 클라이언트와 데이터베이스 서버 양쪽에 존재하는 파일로 오라클 넷의 옵션 설정 등을 저장하는 파일

 

4. 오라클 넷의 구조

 

 

  1. 사용자에 의해서 데이터베이스에 접속 요청이 발생하면 클라이언트에는 유저 프로세스가 생성된다. 해당 유저 프로세스는 1과 같이 지정된 위치에 존재하는 tnsnames.ora파일로부터 접속하고자 하는 데이터베이스에 대한 정보를 획득하게 된다. tnsnames.ora 파일에는 접속하고자 하는 데이터베이스 서버의 IP와 포트 정보등 데이터베이스에 접속하기 위한 기본 정보들이 기록되어 있다.

 

2. tnsnames.ora 파일에서 획득한 정보로 데이터베이스 서버에 접속하게 되면 listener.ora파일의 정보를 이용해 미리 가동되어 있는 리스너 프로세스가 2와 같이 유저프로세스의 요청을 수신한다.

 

3. 유저 프로세스로부터 요청을 받은 리스너 프로세스는 해당 요청을 처리하기 위해 3과 같이 서버 프로세스를 기동시킨다.

 

4. 서버 프로세스가 기동한 후 리스너 프로세스는 해당 서버 프로세스에 대한 정보를 4와 같이 유저 프로세스에게 전달한다.

 

5. 서버 프로세스의 정보를 전달받은 유저 프로세스는 리스너와 연결을 끊고 5와 같이 서버 프로세스와 직접 통신하면서 작업에 대한 결과를 받게 된다.

 

 위와 같은 절차에 의해 클라이언트들은 데이터베이스 서버에 접속을 하게된다. 결국 로컬 이름 방식에서는 클라이언트의 tnsnames.ora 파일과 데이터베이스 서버의 listener.ora 파일만 존재하고 올바르게 설정되어 있으면 접속이 가능하다는 것이다.

 

 

 

 

 

 

Posted by Any DB
,