Client / Server 구조
- 분산처리
- 분산처리는 하나 이상의 다른 시스템에 있는 프로세서를 사용하여 개별 작업을 처리하게 됨
- 아래 그림 A 는 Client 와 Server 가 다른 장비에 위치하고 이 장비들이 네트웍을 통해 연결되어 있는 형태를 나타냄
이때, Client 와 Server 는 Oracle Net 서비스를 통해 통신하게 됨
그림 B 는 하나의 장비가 하나 이상의 프로세서를 가지고 있고, 이 프로세서들은 오라클 Application 의 수행을 분산처리 하게 됨
- 장점
- 일반적으로 Application 과 데이터베이스는 Client 와 Server 라는 개념으로 분리되어 관리되며, 물리적으로도 다른 서버에 위치하게 됨
- Client application 과 오라클 서버는 데이터에 대한 동시접속을 처리하기 위한 기능을 조정하게 됨
- Client application 은 데이터가 물리적으로 떨어져 있어도 아무런 문제가 없음
- 데이터가 다른 오라클 서버로 분산되어도 Application 은 아무런 변경없이 해당 기능을 수행할 수 있음
- 오라클은 해당 OS 의 다중처리 기법과 공유 메모리 기능을 활용함
결과적으로 동시접속에 대한 처리와 데이터 무결성 보장 그리고 application 의 성능을 보장할 수 있음 - 오라클은 시스템 확장처럼 분산 정도를 증가시킬 수 있음
Multitier 구조
Multitier 구조 환경에서, Application 서버는 데이터베이스 서버와 Client 사이의 인터페이스 역할을 담당하게 됨
이러한 구조는 인터넷 환경에서 상당히 중요하게 부각되고 있음
이 구조는 application 서버가 웹 브라우저와 같은 Client 요구사항을 검증하고 데이터베이스 서버에 연결하는 것을 용이하게 함
Oracle Net 서비스
- 동작원리
- 표준 네트웍 프로토콜에 대한 오라클 지원은 서버에서 동작하는 오라클 프로세스와 네트웍상의 다른 장비에서 동작하는 Application 프로세스 사이의 인터페이스를 제공함
- 오라클 프로토콜은 오라클 Application 의 인터페이스를 통하여 SQL 문장을 받은 다음 산업표준으로 인식되고 있는 상위 프로토콜을 거쳐서 오라클 서버로 전달하게 됨
- 오라클 서버를 탑재하고 있는 OS 에 따라, Oracle Net 서비스는 S/W 드라이버를 포함할 수 있고 또 다른 오라클 백그라운드 프로세스를 기동시킬 수 있음
- 리스너
- 오라클 인스턴스가 기동될 때, 리스너 프로세스는 오라클 서버와의 연결통로를 초기화 함
사용자 프로세스가 접속 요청을 보낼 때, 리스너는 다중서버 처리기로 연결할 지 아니면 전용 서버로 연결할지를 결정한 후 적당한 연결을 수립함 - 동적 서비스 등록 기능으로 다중 인스턴스 환경에서 관리 복잡성을 제거할 수 있음
리스너가 Client 요청을 어느 서비스로 전달해야 되는 가에 대한 정보는 리스너에 등록되어짐
서비스 정보는 '서비스 자동등록'이라 불리는 기능을 통해 리스너에 동적으로 등록될 수 있음
- 오라클 인스턴스가 기동될 때, 리스너 프로세스는 오라클 서버와의 연결통로를 초기화 함
오라클 utility 는 아래와 같은 작업을 가능하게 함
- Data Pump 의 Export / Import 기능으로 데이터와 메타데이터를 다른 데이터베이스로 신속하게 이전할 수 있음
- Metadata API 를 사용하여 데이터베이스의 메타데이터를 추출할 수 있고 가공할 수 있음
- Data Pump API 를 통해 데이터와 메타데이터를 다른 데이터베이스로 신속하게 이전할 수 있음
- SQL*Loader 를 사용하여 OS 파일데이터를 또는 External Table 을 사용하여 외부 자원을 오라클 서버로 loading 할 수 있음
- LogMiner 와 SQL 인터페이스를 통해 Redolog 파일을 검색할 수 있음
- Offline 상태의 데이터파일에 대한 검증을 DBVERIFY 를 통해 수행할 수 있음
- 데이터베이스의 DBID 와 DBNAME 을 DBNEWID 를 사용하여 변경할 수 있음
- Fault 진단 인프라스트럭쳐의 한 부분으로 ADRCI 를 사용할 수 있음
Data Pump Export / Import
- Data Pump Export
- OS 파일 형태로 데이터를 생성해내는 기능 제공
- Advanced Compress 옵션 라이센스가 있으면 압축을 할 수도 있으며, Advanced Sevurity 옵션 라이센스가 있으면 전체 혹은 암호화된 컬럼 값에 대한 암호화도 가능
- Data Pump Import
- export된 'dump file set' 을 해당 시스템에 loading 하기 위해 사용되는 utility
- Import 작업은 중간 파일의 고려 없이 원본 데이터베이스에서 대상 데이터베이스로 직접 데이터를 이관할 수 있는 기능도 제공
- Data Pump API
- Data Pump API 는 Data Pump Export / Import utility 의 기본이 됨
- 이를 사용하기 위해서 DBMS_DATAPUMP PL/SQL 패키리를 활용하게 됨
Metadata API
- Metadata API 는 아래와 같은 기능을 제공함
- XML 형태로 메타데이터를 추출할 수 있음
- 다양한 형태로 XML 데이터를 변형할 수 있음
- Metadata API 를 사용하기 위해서, DBMS_METADATA PL / SQL 패키지에서 제공하는 프로시저 사용
- Metadata API 의 사용 목적에 비춰볼 때, 데이터베이스 내의 모든 요소는 객체 타입에 속하는 객체로 표현됨
예를 들어, scott.emp 는 객체이고 이에 대한 객체타입은 테이블임
객체의 메타데이터를 추출하기 위해서는 객체타입을 지정해줘야 함
External Tables
- External table 기법은 기존 SQL*Loader 기능을 보강해 줌
- 사용자는 데이터베이스 테이블 데이터를 접근하는 것처럼 외부파일 데이터를 관리할 수 있음
- ORACLE_DATAPUMP 접근 드라이버를 사용하여 생성
- 단, DML 이나 인덱스 생성같은 작업은 External Table 에 대해 적용할 수 없음
그렇기 때문에, 기존 테이블의 인덱스 작업을 요하는 상황에서는 SQL*Loader Utility 가 더욱 효율적임
LogMiner
- 오라클 LogMiner 는 SQL 인터페이스를 통해 redolog 파일을 검색할 수 있는 utility 임
- 사용자 데이터에 대한 모든 변경사항, 그리고 데이터 딕셔너리에 대한 모든 변경사항이 redolog 파일에 저장됨
- 그러므로, redolog 파일은 복구작업에 필요한 모든 정보를 포함하게 됨
- LogMiner 기능은 명령어 라인 수준에서 활용할 수도 있고, EM을 통해서도 가능함
DBVERIFY
- 물리적 데이터구조를 검증하기 위한 외부 명령어 수준의 utility 임
- 이는 백업 파일 뿐만 아니라, OFFLINE / ONLINE 데이터베이스에 대해서도 적용 가능
- 백업 데이터 파일을 restore 하기 전 검증할 수 있으며, 데이터 붕괴 문제가 발생했을 때 진단방법으로 활용 가능
- OFFLINE 데이터베이스에 대해서도 사용될 수 있기 때문에, 검증작업이 훨씬 빨라짐
컨트롤 파일이나 redolog 파일에 대해서는 적용 불가능 - 검증 작업 대상이 되는 데이터파일의 디스크블록을 명시하는 명령과 세그먼트를 명시하는 명령 존재
DBNEWID
- DBID와 DBNAME 을 변경할 수 있는 utility
- 사용자는 데이터베이스 복사본을 생성하고, 컨트롤파일을 재생성 함으로써 새로운 DBNAME / DBID 를 지정할 수 있음
- 이 기능으로, 동일한 RMAN repository 에 원본 데이터베이스와 수작업으로 복사된 데이터베이스를 등록할 수 있음
ADRCI
- 자동 진단 레포지토리인 ADR 은 fault 진단 인프라스트럭쳐의 레포지토리임
이에 대한 진단 데이터를 볼 수 있고, 필요한 경우 incident 에 대한 패키징 작업을 할 수 있는 command-line 툴인 ADRCI 를 제공 - 진단 데이터는 incident / problem 에 대한 기술, trace 파일, 덤프, health monitory report, alert log 등을 포함하며, 필요 시 Oracle support 와 손쉽게 정보를 공유할 수 있는 기초 수단이 됨
'Oracle' 카테고리의 다른 글
Oracle 서버 시작 (0) | 2024.02.23 |
---|---|
Oracle 구조 구성 요소 (0) | 2024.02.23 |
Oracle Database 12c ② (0) | 2024.02.20 |
Oracle Database 12c ① (0) | 2024.02.20 |
Oracle Database 11g Release (1) | 2024.02.13 |