DBDBDEEP
Oracle Net 서비스 구성 및 관리 도구 본문
데이터베이스 간의 통신 구성
사이트 간 데이터나 메시지를 보내려면 두 사이트 모두에 네트워크를 구성해야 한다.
ㄴ> 네트워크 구성 : 네트워크 연결 + 데이터베이스 링크
> 데이터 베이스 링크
- 다른 데이터베이스의 객체에 액세스할 수 있도록 하는 데이터베이스의 스키마 객체
- 원격 데이터베이스에 연결이 설정되는 방식은 데이터베이스 링크를 생성하는데 사용한 connect to 절에 따라 결정
- 데이터 베이스 링크를 생성한 후에는 이를 사용하여 다른 데이터베이스의 테이블 및 뷰를 참조 가능
Dedicated Server
- 한 개의 서버 프로세스에 한 개의 User Process가 연결, 1:1 전담한다.
- 시스템 로드가 많아지면 메모리 및 CPU 리소스가 부족해지고, 확장성이 적어진다.
ㄴ-> 해결책으로 Oracle Shared Server 프로세스 구조를 사용한다.
Shared Server
- 적은 서버 프로세스 풀을 많은 수의 클라이언트에 사용 가능
- PGA도 같이 할당받게 된다.
ㄴ-> 앞에서 PGA는 백그라운드 프로세스와 서버 정보를 갖고 있다고 하였다. 이것을 공유하여 사용하자는 것
- 각 서비스에 디스패처 프로세스가 한 개 이상 있는데, 서버 프로세스를 미리 띄워놓고 디스패처를 통해 유저들의 요청을 순차적으로 처리한다. 한 개의 디스패처는 수백개의 유저 세션을 관리할 수 있다.
Shared 서버 Dedicated 서버 선택하는 방법
tns file에
(server=dedicated) 면 전용의 서버를 하나 만들어주고
(server=shared) 면 쉐어드 서버로 해주겠다
ALTER SYSTEM shared_server =3;
max_shared_servers = 10
ㄴ-> 3개는 기본 갯수이며, 추가하고 싶을때마다 추가 하는데 10개가 한계이다.
ALTER SYSTEM set dispatchers=‘(pro=tcp)(dis=2)’;
max_dispatchers = 10
ㄴ-> 2개가 기본. 디스패처는 자동으로 증가하진 않는다.
프로토콜이 필요한 이유는 디스패처와 리스너가 통신해야 하기 때문이다.
Shared Server 를 수행 하지 않아야 하는 특정 데이터베이스 작업 유형
- 데이터베이스 관리
- 백업 및 리커버리 작업
- 일괄처리 및 대량 로드 작업
- 데이터 웨어하우스 작업
Dispatcher 와 Listener를 그림으로 봐보자
ALTER SYSTEM shared_server =3;
ALTER SYSTEM set dispatchers=‘(pro=tcp)(dis=2)’;
Request Queue : 모든 디스패처에 대해 공용이다.
Response Queue : 디스패처 마다 존재한다.
Dynamic 리스너는 디스패처에 대한 정보를 받을 수 있는데 ,Static 리스너는 받을 수 없다.
리스너는 두 디스패처중 한가한 애를 알고 있다가, User 에게 소개한다.
즉, 유저들이 보내는 명령이 공용인 Request Queue에 들어가고, Response Queue에는 각 디스패처 별로 들어간다.
LREG : 오라클 DB의 필수 백그라운드 프로세서이고, 리스너에게 정기적으로 D0,D1에대한 정보도 알려준다.
LREG에 의해서 리스너에게 정기적으로 전달한다.
이런식으로 작동하는 것이 Shared 서버
리스너 컨트롤 유틸리티
1. lsnrctl 유틸리티
- 리스너 관리자 모드
- lsnrctl 명령어로 직접 들어갈 수 있으며, lsntctl _ _ _ 방식으로 기본 프롬프트 에서도 명령어를 수행할 수 있음.
> lsnrctl status
ㄴ-> 현재 Listener는 hostname, protocol, service name, port 순으로 연결중이다.
2. tnsping 유틸리티
- Oracle Net 서비스 Alias를 테스트 한다.
- 클라이언트와 Oracle Net 리스너 간 연결 확인
- 실제 connect 단계까지 가지 않고 리스너까지만 연결한다.
- 간단한 연결 이름 분석 지원 (Easy Connect Names Resolution)
'Oracle ADMIN' 카테고리의 다른 글
Oracle 권한 / Role (0) | 2022.07.03 |
---|---|
Oracle 유저 보안 관리 (계정 종류 및 유저 인증) (0) | 2022.06.30 |
Oracle 네트워크 환경구성 , Oracle net 서비스 (0) | 2022.06.28 |
Oracle이 정보를 적는 파일들 / Dynamic performance View / 데이터 딕셔너리 (0) | 2022.06.28 |
Oracle 데이터베이스 상태 (0) | 2022.02.08 |