이름 지정 방식 - 목표
- 이 단원을 마치면 다음을 수행할 수 있다.
- Host 이름 지정과 로컬 서비스 이름 분석 간의 차이점 설명
- Oracle Net Manager를 사용하여 다음 사항 구성 :
- Host 이름 지정 방식
- 로컬 이름 지정 방식
- 네트 서비스 이름
- 간단한 연결 문제 해결
이름 지정 방식 - 개요
- 이름 지정 방식은 Database 서비스에 대한 연결을 시도할 때 클라이언트 응용 프로그램에서 연결 식별자를 Connect Descriptor로 변환하기 위해 사용한다.
- Oracle Net은 다음의 다섯 가지 이름 지정 방식 제공
- Host 이름 지정
- conn hr/hr @ xxxx ◀는 host, protocol, port, service(SID)가 들어갈 수 있다.
- @뒤에 나오는 이름은, 실제 실행중인 서버의 컴퓨터 이름이 된다. 이것은 tnsname이 아니다.
- TCP/IP 프로토콜을 이용하며, 서버 및 클라이언트도 TCP/IP 방식이어야 한다.
- 로컬 이름 지정
- tnsnames.ora 를 각 클라이언트가 구성을 해서 DB를 찾아간다.
- 클라이언트의 수가 늘어나거나, 서버의 변화가 있을 경우에는 tnsnames.ora 파일의 갱신이 필요하고, 유저의 수가 늘어나면, DB가 많은 부담을 느낄 수 있다. 또한, 관리자가 직접 갱신할 것이 많아진다.
- Directory 이름 지정 - Oracle Names 와의 기능은 동일하지만, 관리 및 프로토콜의 방식에 차이가 있다.
- 트리구조의 name 서버를 구성할 수 있다. (대기업 등에서 사용한다.)
- Oracle Names - Oracle 9i 이전 버전에서 사용했던 방식
- 외부 이름 지정 - 비 오라클 방식
- 오라클과 호환되는 서드파티 도구나 응용프로그램에서 사용한다.
Host 이름 지정
- 다음 조건에서는 클라이언트가 Host 이름을 사용하여 Server에 연결할 수 있다.
- Oracle Net 서비스 클라이언트 소프트웨어를 사용하여 Oracle Database 서비스에 연결하는 경우
- 클라이언트와 서버 둘다 오라클을 설치했을 경우.
- 클라이언트와 Server가 TCP/IP 프로토콜을 사용하여 연결하는 경우
- Host 이름이 DNS 또는 로컬 /etc/hosts 파일과 같은 IP 주소 변환 방식을 통해 분석되는 경우
- Oracle Connection Manager 또는 보안 옵션과 같은 고급 기능이 사용되지 않는 경우
- 암호화 등의 고급 기능의 추가적 사용이 불가능하다.
Host 이름 지정 - 클라이언트 측
- names.directory_path = 사용자가 서버에 접속할 때 사용할 naming 메소드가 무엇인지 기술한다.
- (,)로 구분하여 여러개의 방식을 지정할 수 있으며, 가장 앞에 지정한 방식이 우선된다.
Host 이름 지정 -서버 측
- GLOBAL_DBNAME = stc-sun02.us.oracle.com 이 도메인은 서버 파라미터파일(DB_DOMAIN_NAME에 적음)
- 이것은 HOST 이름 지정방식에서반드시 필요한 구성요소가 된다.
- 이곳에서는 DB이름을 적는 것이 아니라, 서버의 컴퓨터 이름을 적어준다.
Host 이름 지정 -예제
- listener.ora 파일 :
- 서버에서는 위와 같이 지정하였다면, 아래의 클라이언트도 마찬가지로 @ 뒤에 동일하게 적용한다.
- 클라이언트에서 연결 :
Net Manager를 사용하여 Host 이름 지정 구성
- 사용방법 중에, 왼쪽은 가능한 방법, 그리고 오른쪽은 선택된 방법이다.
- 선택해서 올림/내림 버튼으로 우선순위를 지정할 수 있다.
- 이 작업을 수행하고 나면, Names.Directory_path 가 변경이 된다.
로컬 이름 지정
- 어떠한 방식을 사용하더라도, tnsnames.ora 가 있어야 한다.
- 서버측에도 sqlnet.ora가 존재할 수 있다. 추가 구성을 했을 경우
Net Manager를 사용하여 tnsnames.ora 파일구성
- 서비스 이름에는 @ 뒤에 사용할 이름을 넣는 것이다.
- 둘 중에 하나만 넣어도 된다. 하지만 SID를 넣는것보다는 서비스 이름을 입력했을 때 더 많은 장점을 제공할 수 있다.
- Service_name 을 입력하게 되면, INSTANCE를 가리지 않고, DB 서비스에 접속이 가능하다.(병렬서버)구성
- 실제 DB의 이름이 ORCL이라고 했지만, 별칭을 ORDDD1로 지정했더라도, 사용자는 ORDDD1로 접속할 수 있으며, 이렇게 할 경우 이점은 사용자에게 DB의 이름이 노출되지 않는다는 것이다.
- 접속유형에 내 전용서버를 할당 받고 싶을 경우, 접속유형을 선택할 수 있다.
- 테스트를 클릭하면 다른 창이 또 뜨는데, 그곳에는 ID와 PW가 자동으로 입력되어 있고, 그것은 scott/tiger로 되어 있다. 9i 버전이후에는 직접 수정해야 한다.
- 이 테스트 버튼은 운영체제의 PING과 같으며, 오라클에는 TNSPING 이라는 유틸리티를 이용하여, 서버와 접속상태를 테스트할 수 있다.
-
과정이 끝나면, 다음과 같이 설정했던 내용의 확인이 가능하다.
▼위의 마법사를 끝내고 나면, 다음의 파일을메모장등을 통해 확인이 가능하다.
TNSNAME.ORA 파일
SQLNET.ORA
클라이언트측 문제 해결
다음 오류 코드는 클라이언트측의 문제와 관련되어 있다.
이러한 문제들은 대부분 작성하는 사용자의 오타에 의해 발생된다.
'Web Develop Tech > Oracle9i Fundmantal II' 카테고리의 다른 글
ORACLE - Oracle .Net 연결 (0) | 2012.10.26 |
---|---|
ORACLE - Net Server 측 구성 (0) | 2012.10.26 |
ORACLE - Oracle Shared Server의 사용 및 구성 (0) | 2012.10.26 |
ORACLE - Oracle Shared Server의 사용 및 구성 [실습] (0) | 2012.10.26 |
ORACLE - Backup and Recovery 개요 (0) | 2012.10.26 |