Steady Mind For My Life

https://github.com/jongseok3910/Spring-Study

728x90
728x90

전체 글 57

오라클의 메모리 관리(PGA & SGA)

오라클이 사용하는 메모리 영역은 크게 PGA, SGA로 구분된다. PGA(Program Global Area) 1. 특정 프로세스만이 사용하는 메모리영역 서버 프로세스는 각각 'PGA'라는 별도의 메모리 공간을 갖고 있다. 프로세스에 할당된 PGA는 해당 프로세스만 사용할 수 있으며 프로세스 간에 공유되지 않는다. ex: 내 개인 계정으로 접속 했다면 나한테만 할당되는 프로세스 2. PGA의 구성 요소 a. 세션메모리 세션 정보를 저장하기 위해 사용됨. b. Private SQL Area SQL 실행 시의 정보를 보관하고 정렬 등의 SQL 작업을 수행하기 위해 사용됨. * SQL작업은 Private SQL Area 내의 SQL Work Areas에서 수행된다. *서버프로세스는 RDBMS 원격 접속시 사용..

Oracle 2023.10.03

데이터베이스와 인스턴스(2)

인스턴스 SGA라 불리는 메모리 영역과 백그라운드 프로세스들로 구성되어있다. 인스턴스는 프로세스와 메모리 영역으로 구성되므로 데이터베이스가 정지돼 있을 때는 존재하지 않는다. SGA *데이터베이스 버퍼 캐시, REDO 로그 버퍼, *공유 풀, 라지 풀 자바 풀 등으로 구성돼 있으며, 프로세스 간에 공유하는 메모리 영역이다. 인스턴스를 기동하면 오라클은 초기화 파라미터라 불리는 설정값에 설정된 만큼의 SGA공간을 확보한다. (버퍼 캐시와 공유 풀은 SQL튜닝 공부 시 중요 개념이다) 백그라운드 프로세스 백그라운드 프로세스는 인스턴스의 기동에 맞춰 시작된다. 프로세스를 감시하거나 데이터를 파일에 기록하는 등의 작업을 백그라운드에서 수행한다. LGWR - REDO데이터를 REDO로그파일에 기록하는 역할 DBW..

Oracle 2023.08.27

데이터베이스와 인스턴스(1)

오라클의 데이터베이스와 인스턴스 구성도 데이터베이스 데이터베이스는 한 개 이상의 데이터 파일과 두개 이상의 REDO 로그 파일 한 개 이상의 컨트롤 파일로 구성되어있다. 파일종류 저장되는 데이터 데이터 파일 테이블 인덱스 UNDO 데이터 임시 데이터 REDO 로그 파일 변경 이력 컨트롤 파일 제어정보 데이터 파일 사용자가 생성한 테이블이나 인덱스 등의 데이터가 보관된다. 데이터베이스에 저장되는 데이터가 많아질수록 데이터 파일도 커진다. 과거의 데이터인 UNDO 테이터, 작업학 때 임시로 사용되는 임시데이터, 시스템 관리용 데이터도 보관된다. REDO 로그 파일 데이터베이스의 변경 이력은(ex:DML) REDO 로그 파일에 순차적으로 기록된다. 로테이션해 가면서 변경 이력을 기록하기 때문에 하나의 데이터베..

Oracle 2023.08.17

인덱스

데이터베이스 테이블에서 데이터를 찾는 방법은 두가지다 1. 테이블 전체 스캔한다. 2. 인덱스를 이용한다. 인덱스(책 뒤쪽에 있는 색인과 같은 느낌) 인덱스는 대용량 테이블에서 필요한데이터만 빠르게 효율적으로 액세스 하기 위해 사용하는 오브젝트이다. DBMS는 일반적으로 B*Tree 인덱스를 사용한다. B*Tree 인덱스(Balanced Tree) 인덱스 칼럼 값을 미리 정렬해 두고 정렬된 데이터 값을 비교해 매우 효율적으로 로우를 검색하는 인덱스다. 나무를 거꾸로 뒤집은 모양이어서 뿌리(Root), 가지(Branch). 잎사귀(Leaf) 순으로 구성되어있다. 리프블록에는인덱스 칼럼의 칼럼값이 ROWID와 함께 칼럼값으로 정렬된 상태로 저장된다. 인접한 리프블록은 서로 링크 돼 있다. 브랜치블록에는 자신..

Oracle 2023.07.31

쿼리 처리 원리

SQL의분석 SQL은 자바 같은 프로그래밍 언어와 달리 실행하기 전에 문법적인 에러를 검출할 방법이 없다. (자바는 컴파일 할 때 문법적에러를 검출 할 수 있다) 그래서 SQL을 실행하기 전에 분석을 해야한다. 분석작업은 아래와 같고 SELECT문 기준이다. 1.공유 풀 확인(SGA영역) 서버 프로세스는 전달받은 SQL과 같은 SQL의 분석 결과가 공유 풀에 존재하는지 확인한다. -하드파싱 a. 공유 풀에 사용 할 만한 분석결과가 있으면 분석단계를 넘어 SQL실행 단계로 간다. -소프트파싱 b. 공유 풀에 사용 할 만한 분석결과가 없으면 다음 SQL검증 단계로 진행된다. 아주 간단한 설명 홍길동을 구하는 SELECT쿼리를 수행한다. 1.SELECT NAME FROM 수첩 WHERE NAME = '홍길동'..

Oracle 2023.07.18

SQLD 자격증 취득 기록

자격증 취득 이유 22년 11월 어느 날 네이버 쪽지로 OCP시험 신청 방법을 알려달라는 메시지가 왔다. OCP시험정책이 피어슨뷰 > ORACLE 주최로 바뀌면서 많은 혼란이 있었고 바뀐정책에 관해 네이버카페에 글을 쓴 적이 있었는데 그 글을 보고 쪽지를 준 모양이었다. 시험관련해서 이것저것 알려주면서 많은 톡을 주고받으며 친해진 결과 대기업에서 DBA로 근무하면서 OCP취득을 목표로 하고 있는 분이라는 것까지 알게 되었다. 해가 지나 23년 1월이 되었고 그분한테서 OCP합격했다는 연락을 받았고 나도 내 일인 것 마냥 기뻐하며 같이 축하를 했다. 그분은 이제 SQLP 자격증 취득을 목표로 할 예정이라고 말했고 나에게 SQLD 자격증 취득 해 볼 생각이 없냐고 물어봤다. 당시 나는 DB관련 자격증은 OC..

자격증 2023.07.11

OCP 12C 자격증 취득 기록

OCP 12C 자격증 취득 이유 개발자로서 일을 하다 보면 한 번쯤은RDBMS환경에서 개발을 하게 된다. 나 역시 RDBMS환경에서 개발을 시작했다. 첫번째 프로젝트는 누군가 알려주는 대로 세팅을 하고 간단한 SQL문을 작성하며 일을 했다. 두 번째 프로젝트도 RDBMS환경에서 개발을 하게 됐는데 또 아무것도 모르니 누군가 알려주는 대로만 세팅을 하고 SQL문을 작성하며 일을 끝냈다. 나는 두 번의 프로젝트를 통해 경력이 쌓였지만 DB에 관한 지식이 쌓이지 않았고 발전이 없었다. 그리고 나의 무지함에 대해 답답함을 느꼈다. '앞으로도 계속 이런 답답함을 느끼고 싶지 않으면 이참에 제대로 DB공부를 제대로 하자 ' 그 뒤로 바로 ORACLE 강의를 수강신청 했고 OCP 12C 자격증 취득까지 목표로 하게 ..

자격증 2023.07.08
728x90
728x90