본문 바로가기

728x90

분류 전체보기

(85)
SQLP 기초 - 1. SQL 처리 과정 : 파싱, 최적화, 캐싱 1. SQL 파싱과 최적화- 파싱(parsing) : Syntax 체크(문법 체크) - Semantic 체크(의미 체크) - Shared Pool 체크(공유 메모리에 캐시 되어 있는지 체크) 과정, 최적화 이전 단계.- 최적화 : DBMS 내부에서 Optimizer가 각종 정보를 가지고 다양한 실행경로 중 효율적인 하나를 선택하는 단계.- 최적화 이후 로우 소스(실행가능한 코드 혹은 프로시저)를 생성한다. 2. Optimizer- 최적의 데이터 엑세스 경로를 선택해 주는 DBMS의 핵심 엔진(별도의 백그라운드 프로세스가 아닌 서버 프로세스가 가진 기능임)*컴퓨터 프로그래밍에서 엔진(engine)이란 특정 프로그램 내부에서 또는 다른 프로그램들을 위해 핵심적이고 본질적인 기능을 수행해주는 프로그램- 옵티마..
그림으로 공부하는 오라클 구조 - Ch10,11. 오라클 백업/복구, 백그라운드 프로세스 백업과 복구 백업온라인 백업 : 데이터베이스 운영 상황에서 백업 => BEGIN BACKUP과 END BACKUP 사이에 변경이 일어난 블록을 Redo 로그에 기록하여 불완전 복구 방지콜드 백업 : 인스턴스 정지 후 백업복구장애(인스턴스) 복구 : 장애 발생 시 자동으로 실행되는 복구미디어 복구 : 사용자가 명시적으로 실행완전복구 : 최신 데이터까지 복구불완전 복구 : 특정 시점까지 복구데이터베이스/테이블스페이스/데이터파일/블록의 복구기본적인 복구 흐름데이터베이스 손상 확인재작업할 수 있도록 현재 상태 백업필요한 데이터 파일과 아카이브 리두 로그 파일 restore복구 실행 백그라운드 프로세스의 동작과 역할DBWR(DBW) : 이미 변경된 데이터를 캐시에서 디스크로 기록LGWR : commit 시 red..
그림으로 공부하는 오라클 구조 - Ch9. 리두(Redo)와 언두(Undo)의 동작 트랜잭션이 지켜야 할 원칙 ACIDAtomicity 원자성트랜잭션에 포함되는 데이터 변경은 'All or Nothing' 이어야 한다.즉, 트랜잭션은 더 이상 분할할 수 없는 데이터 변경의 최소 단위라는 의미이다.Consistency 일관성트랜잭션에 의해 데이터 간 일관성이 어긋나서는 안된다.예를 들어, Customer 테이블의 데이터가 변경되었는데 Customer 테이블의 인덱스 데이터가 변경되지 않은 경우가 없어야 한다는 것이다.Isolation 고립성트랜잭션은 다른 트랜잭션을 의식할 필요가 없어야 한다.즉, 트랜잭션은 고립되어 있어 단독 실행이든 다른 트랜잭션과 동시 실행이든 결과는 같아야 한다.Durability 지속성Commit한 트랜잭션은 장애가 발생하더라도 데이터는 반드시 복구되어야 한다. ..
그림으로 공부하는 오라클 구조 - Ch8. 오라클의 대기와 락 값을 변경하는 작업(UPDATE)을 할 때는 변경하기 전의 값을 바라봐도 상관없는 검색(SELECT)를 제외하고는 아무도 그 값에 접근할 수 없도록 해야 한다.→ UPDATE 문은 이러한 이유로 자동으로 LOCK을 걸게 된다. 이 경우 **LOCK에 의한 대기(WAIT)**가 발생한다.Dead Lock : 서로가 상대가 보유하고 있는 LOCK을 기다리느라 교착 상태 발생  예시)Transaction A는 트랜잭션을 끝내기 위해 Accounts 를 변경하고 Orders를 변경해야 한다. (Order를 참조하여 회계전표를 생성하고 Order의 상태를 전기 상태로 바꾸기 위해)Transaction B는 Orders를 작업하고 Accounts를 작업해야 한다.(Accounts에 전기된 오더를 취소하기 위해 Ac..
그림으로 공부하는 오라클 구조 - Ch7. 오라클의 데이터 구조 익스텐트는 ‘연속된’ 블록의 집합으로 익스텐트의 위치와 블록 개수로 관리를 하여 관리 정보를 줄이는 역할을 한다.(블록 개별로 관리하면 많아서)세그먼트는 익스텐트의 집합이다. 사용자(개발자)가 생성하는 테이블, 인덱스 등 이외에 undo 세그먼트, 정렬 세그먼트 등이 있다.데이터 파일 안에는 서로 다른 세그먼트들의 서로 다른 익스텐트들이 혼재해 있다. 즉 물리적으로 같은 세그먼트의 데이터들이 모여있는 것이 아니다.테이블 스페이스는 세그먼트를 분류하여 보관하기 위한 공간. 한 개 이상의 데이터 파일로 구성되어 있다.세그먼트는 ‘PCTFREE’와 ‘PCTUSED’ 파라미터를 사용하여 세그먼트 내의 빈 블록 공간을 점검하고 관리한다. 세그먼트 안에 공간이 부족하면 ‘익스텐트’를 추가하여 빈 블록을 늘린다.RO..
그림으로 공부하는 오라클 구조 - ch6. 커넥션과 서버 프로세스의 생성 lsnrctl start : 기본 리스너 기동 명령어listener.ora : 리스너 설정 파일tnsnames.ora : Connection desripter, 커넥션에 필요한 정보가 담긴 파일 즉, 데이터베이스의 주소가 담긴 파일sqlnet.ora : DCD(Dead connection detection) 기능, SDU 등을 사용하기 위한 파라미터들 설정 파일*DCD : 검출 패킷을 클라이언트에게 보내 확인, 클라이언트의 데이터베이스와의 연결 해제 없이 갑작스러운 서버 다운 및 충돌로 인한 disconnet를 감지하기 위한 기능.Session Data Unit (SDU) 설정 : 오라클 클라이언트와 서버 사이의 네트워크 통신에서 주고받는 데이터 단위 설정 Connection Pool일반적으로 서버 프로..
그림으로 공부하는 오라클 구조 - Ch5. 오라클의 기동과 정지 오라클의 4가지 상태OPEN - 데이터를 처리할 수 있는 상태, 즉, SQL을 처리할 수 있는 상태MOUNT - 데이터 파일 등에 접근할 수 있는 상태(컨트롤 파일을 읽은 상태)NOMOUNT - 백그라운드 프로세스와 공유메모리가 존재하는 상태SHUTDOWN - 정지 상태 SHUTDOWN → NOMOUNT 단계 : 파라미터를 읽어서 백그라운드 프로세스를 기동하고 공유 메모리 할당한다.NOMOUNT → MOUNT 단계 : 컨트롤 파일을 읽는다.MOUNT → OPEN 단계 : 데이터 파일, 리두 로그 파일 등을 확인한다.오라클의 인스턴스인스턴스는 백그라운드 프로세스와 공유 메모리를 의미한다.즉, NOMOUNT 상태는 인스턴스가 기동한 상태이다.일반적으로 데이터베이스와 1대1 대응하지만 RAC(Real Appl..
(작업중)SSL이란 (with SAP) https://namu.wiki/w/TLS#toc https://www.youtube.com/watch?v=hHnEaQB-3C4&ab_channel=SAPBASIS

728x90