오라클/Admin1 14

STATISTICS LEVEL

STATISTICS_LEVEL 초기화 파라미터는 ORACLE 9i R2 에서 주요 통계정보 수집과 advisor를 컨트롤하기 위해 처음으로 소개 되었다. STATISTICS_LEVEL 초기화 파라미터를 사용하여 캡처할 통계 집합을 제어할 수 있다. STATISTIC_LEVEL 캡처 레벨 BASIC : MMON이 DB 통계정보를 캡처하지 않기 때문에 AWR 통계 및 metric이 계산되지 않고, ASMM 을 사용할 수 없으며 ADVISOR 기능이 비활성화 된다. TYPICAL : 일부 통계만 수집. 일반적으로 오라클 데이터베이스 동작을 모니터하는 데 필요한 사항. 이 자동 통계 수집에서는 오래되거나 잘못된 통계로 인해 SQL 문의 성능이 저하될 가능성이 줄어든다. ALL : 가능한 모든 통계 캡처. 별도의..

오라클/Admin1 2010.07.23

언두 데이터 관리

언두 데이터 특징 수정되기 전 원래 데이터의 복사본 데이터를 변경하는 모든 트랜잭션에 대해 캡쳐된다. 적어도 트랜잭션이 종료될 때까지는 보존된다. 지원 작업 롤백 - 언두에는 수정 전의 데이터가 저장되기 때문에 커밋되지 않은 데이터를 롤백할 수 있다. 읽기 일관성 - query가 시작된 시점의 데이터와 일치하는 결과를 제공한다. Flashback Query - 어떤 목적을 가지고 과거 특정 시점의 데이터 버전을 요청하는 query 실패한 트랜잭션 recovery - 유저가 트랜잭션 도중 세션이 비정상적으로 종료되는 경우, 혹은 instance crash가 발생하는 경우 recovery 트랜잭션 및 언두 데이터 각 트랜잭션은 하나의 언두 세그먼트에만 할당된다. 하나의 언두 세그먼트는 한번에 여러개의 트랜잭..

오라클/Admin1 2010.07.22

[Oracle Virus] 왜 Index가 불필요하게 커지는가?

Index의 크기 증가와 Index Rebuild 문제는 많은 사람들을 혼란스럽게 하는 문제이다. 나 스스로도 아직 100% 명쾌한 해답을 가지고 있다고 자신하기는 힘들거 같다. 얼마전에 Richard Foote(Oracle의 왕이라고 알려져 있음)는 블로그 글을 통해 [왜 Rebuild를 했는데 Index의 크기가 오히려 커지는 때가 있는가]라는 의문을 해결하면서 Index 크기 문제에 대해 우리가 얼마나 많은 오해를 하고 있는가를 잘 보여준다. 아래 [Oracle Virus] 동영상들은 Index의 크기가 불필요하게 커지는 다양한 Case들을 소개한다. Index 크기 문제를 다룰 때 참조하면 도움이 될 것이다. Index 크기 문제 - Part I Index 크기 문제 - Part II Index ..

오라클/Admin1 2010.07.22

Static Data Dictionary View & Dynamic Performance View

Static Data Dictionary View - 데이터베이스에 존재하는 오브젝트 및 기타 정보에 대한 내용을 조회할 수 있는 뷰 - 출처 : internal table (obj$, tab$, users$) - sql.bsg → user_*, all_*, dba_* - catalog.sql - open 상태에서만 사용가능 (datafile에 포함되어 있는 테이블 이기 때문) - data의 생명은 instance와 무관 Dynamic Performance View - 메모리 상태 및 현재 세션에 대한 정보를 확인할 수 있는 뷰 - 출처 : parameter file, instance, control file → x$ table → v$ - mount 상태에서 사용가능 - data의 생명은 instanc..

오라클/Admin1 2010.07.22

SELECT 및 DML 처리 과정

select 문 1) Parse 동일문장 찾기 - shared pool의 library cache 에서 동일문장이 있는 확인 후 동일문장이 있을 경우에는 해당 동일문장이 실행되며 동일문장이 없을 경우 다음 단계로 syntax 검사를 한다. Syntax 검사 - syntax에 문제가 없을 경우 의미 검사 - 객체 존재유무, 권한등의 의미검사를 한다. 문장 검사를 위해 recusive SQL을 실행하여 최적의 실행계획을 만든다. 2) Execute - data block을 buffer cache에 올린다. 3) Fetch - select문에서만 적용되며 sort가 있을경우 data를 PGA로 가지고 와서 정렬한다. update 문 1) Parse - select와 동일 2) Execute - data blo..

오라클/Admin1 2010.07.21

Constraints의 활성화 및 비활성화

1. Constraints 상태 Constraints의 상태는 4종류가 있다. Table 생성시 constraint의 기본값은 enable이다. 하지만, 데이터베이스의 작업 상황에 따라 constraint를 disable 시킬 필요도 있다. 1) Disable Novalidate - 비활성화 상태로 constraint가 생성되었지만 현재는 작동하지 않는 상태. 즉, 입력된 데이터가 constraint에 위배 될수도 있는 상태 2) Disable Validate - constraint가 있는 컬럽을 수정할 수 없는 상태이며 constraint의 index는 삭제되고 constraint는 비활성화 된다. 3) Enable Novalidate - 활성화 상태로 비활성화 상태에서 데이터가 이미 저장되었을 경우,..

오라클/Admin1 2010.07.21

오라클 아키텍처

1. 오라클 아키텍처 구성요소 2. Oracle Server 오라클 서버란 오라클이 사용되는 시스템의 총체적인 의미로도 사용되고 제품의 이름으로도 사용되지만, 일반적으로 Oracle Server = Instance + Dabatabse 의 개념을 갖고있다. 이때 Instance 란 유닉스 시스템의 Shell 의 개념으로 실제 database 와의 인터페이스를 제공한다고 생각하면된다. 보통 Database 와 Instance 명을 갖게 설정을 해준다. 3. Instance Oracle Database를 액세스하는 수단이며 Memory(SGA,PGA)와 Background Process로 구성된다. Instance는 한번에 하나의 database를 연다. 하지만 database는 여러개의 Instance를 ..

오라클/Admin1 2010.07.16