본문 바로가기

반응형

분류 전체보기

(180)
Section4. Buffer Cache 내부의 Block 유형 및 Buffer Pools 유형 [출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드] Buffer Cache 내 블록 유형 (Free/Dirty/Pinned block) Free buffer: 아직 데이터가 할당되지 않은 buffer block(unused) 이거나, pinned buffer 였다가 서버 프로세스의 사용이 종료되고 update 되지 않은 buffer(Clean). 디스크에서 읽은 신규 데이터를 할당 가능함. Pinned buffer: 데이터가 할당 된 후 수정되지 않고 사용자 세션에 의해 사용되고 있는 buffer block 서버 프로세스 사용 종료 시 clean. Dirty buffer: 데이터가 이미 할당된 이후에 다시 데이터가 수정되었으나, 아직 disk 상의 data file에 write 되지 못한 buffe..
Section4. Buffer_Cache Hit_Ratio의 이해 및 문제점 [출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드] Buffer Cache Hit Ratio 시스템이 얼마나 Disk I/O를 줄이고 Buffer Cache를 잘 활용하고 있는지를 나타내는 지표 Hit Ratio = (1 - (Physical reads / Logical Reads ) ) * 100 Logical Reads: Buffer Cache Block 액세스 수 Pyhsical Reads: Disk Block 액세스 수 Buffer Cache Hit Ratio 통계 함정 (1) Buffer Cache Hit Ratio 99% 이면 전반적인 SQL 수행속도가 양호한 것일까? 100,000의 1% VS 1,000,000,000의 1% ->십만의 1%는 천, 그러나 십억의 1%는 천만. 이 천만이..
Section4. Buffer Cache 개념 및 Buffer Cache Access 메커니즘의 이해 [출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드] Buffer Cache 개요 Storage I/O Access를 최소화 하기 위해서 한 번 Access 한 Block은 RAM 영역에 저장하기 위한 공유 메모리 영역 즉 Storage 까지 안가고 RAM에서 해결하기 위해 블락을 버퍼캐시에 올려두는 것 임. (in memory 방식) 특히 Random I/O 성능 영향을 최소화하는 중요 역할 (Storage I/O는 랜덤I/O에 취약함) 서버 프로세스가 데이터 Access 시 최초에는 Storage에 Access 해당 Block 이 Buffer Cache에 로드 되면 이제는 해당 Blovk Access 시 Buffer Cache에서 Access 하므로 Storage I/O Access 량을 줄임 B..
Section4. 오라클 메모리 구조 및 SGA 개요 [출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드] Oracle Memory Structure Shared Memory 매우 많은 서버 프로세스가 동시에 메모리 자원을 공유 (SGA: Shared Global Area) Non Shared Memory 각 서버 프로세스가 개별 메모리 할당 (PGA: Program Global Area) 오라클의 메모리 활용 전략 Disk I/O를 최대한으로 줄일 수 있는가? 동시에 많은 프로세스에서 최대한 효율적으로 자원할당을 할 것인가? 시스템 안정성을 어떻게 유지할 것 인가? Oracle SGA 의 개요 Database Buffer Cache: Disk I/O의 영향도를 줄이기 위해 데이터 파일의 데이터 블록을 메모리로 Copy Shared Pool: 사용자들간..
Section3. B-Tree 인덱스의 이해 [출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드] B-Tree 인덱스 컬럼값과 해당 컬럼값의 테이블 Row가 위치해 있는 Rowid 값으로 구성 되어 있음. 인덱스에서 해당 컬럼값을 조사한 뒤 Rowid를 이용하여 Table 에 Access 함. B-Tree 인덱스를 통한 테이블 Access B-Tree 인덱스 세그먼트 구조
Section3. 오라클 Wait Event 개요 [출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드] Oracle Wait Event 성능 및 운영 관리를 위해 알아야 할 가장 중요한 요소 중 하나 오라클은 서버 프로세스 또는 백그라운드 프로세스가 DB의 CPU, Memory, Database File, I/O 등의 모든 자원을 엑세스 하고 이용하는 세부 단계별로 상세한 Wait Event(대기 이벤트) 를 발생 오라클의 모든 성능 요소 및 자원 사용현황은 Wait Event 의 발생 정도에 따라 모니터링 가능함 DB 내 문제점 진단과 분석을 위한 Wait Event 인체 내의 각 기관별로 진단을 위한 다양한 증상 및 이에 대한 해결책을 발전시켜 왔듯이, 오라클은 DB 내의 거의 모든 세부 프로세스 절차에서 Wait Event를 의무적으로 발생시키..
Section3. SID와 SERVICE_NAME 개념 그리고 DB_NAME과 GLOBAL_DBNAME 개념 설명 [출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드] SID, SERVICE_NAME, DB_NAME, GLOBAL_DBNAME 구분 SID는 Instance의 고유명을 나타냄 예를 들면 RAC에서 여러 인스턴스를 구분하기 위해 사용 하는 것이 SID. SERVICE_NAMES 는 개념적으로 DB에서 서비스 되는 Database 서비스명을 의미, 일반적으로 1개 또는 여러 개의 Instance가 결합되어 서비스 가능. 예를 들면 그림에서 사용자가 ORCL Service 접속 시 Service_NAME: ORCL 임을 확인 후 리스너가 ORCL_01 또는 ORCL_02 인스턴스에 보내줌. 예전에는 SID로 서비스를 찾아갔는데, 문제는 하나의 인스턴스가 죽으면 다른 인스턴스 SID를 모를 경우 서비스를 ..
중견 SI 업체 (공인문제) 우리 회사는 중견 SI업체이며, 수주한 프로젝트를 성공적으로 완수하기 위한 방법의 하나로 요구사항관리를 전산화하기로 했다. 이를 통해 프로젝트팀의 업무수행을 돕고, 전사적인 요구사항 관리 수준을 향상시키고자 한다. 프로젝트를 수주하면 프로젝트명과 발주처, 프로젝트 기간(시작일, 종료일), 수주금액, 프로젝트 개요 등을 저장하며, 이때 해당 프로젝트에 대한 프로젝트ID가 자동 생성되도록 한다. 등록된 프로젝트에 대해 영업사원은 팀장과 상의하여 적당한 PM(프로젝트매니저)를 선정하여 등록하고, PM은 계속해서 PL(프로젝트리더)와 프로젝트팀원을 선정하여 등록한다. 프로젝트팀에 선정된 인원들은 가급적 프로젝트 기간 동안 유지되지만 여러 가지 사정으로 불가피하게 중간에 교체되거나 추가 또는 프로젝트 기간 중간에..

반응형