독서 노트 시리즈 01 - < 수확, Oracle 뿐만 아니 라 >
1. Oracle 기본 원리
1.1 Oracle 물리 체계 책 에서 유사 한 생활 사례 를 통 해 나머지 한 곳, 아빠 가 옷 가 게 를 운영 하고 엄 마 는 학교 옆에서 식당 을 운영 하 며 Oracle 물리 체 계 를 도입 하여 재미 가 넘친다.
1 구역: PGA, 2 구역: Instance (SGA + 배경 프로 세 스), 3 구역: Database (각종 파일)
구문 실행 과정 을 통 해 Oracle 시스템 구 조 를 체험 합 니 다. 검색 어 (select) 실행 과정: 1 구역 에서 준비 하고 사용자 연결 정보의 저장 과 권한 저장 을 완성 하 며 유일한 hash 값 을 생 성 합 니 다. 2 구역 에 들 어가 면 먼저 공유 탱크 에 가서 처리 합 니 다. 이 hash 값 이 없 으 면 문법 적 의미 권한 분석 생 성 실행 계획 을 검사 한 다음 에 데이터 버퍼 에 들 어가 조회 해 야 합 니 다.없 으 면 데이터 버퍼 는 데이터 파일 에서 데이터 버퍼 를 찾 아 가 져 와 사용자 에 게 보 여 줍 니 다.수정문 (update, insert, delete) 실행 과정: 쿼 리 문 구 는 어떤 과정 이 있 습 니 다. 데이터 버퍼 에서 수정 할 블록 을 찾 습 니 다. 수정 하기 전에 미 러 (CR 블록) 를 생 성하 고 수정 후 제출 합 니 다. LGWR 프로 세 스 는 log buffer 항목 을 redo logfile 에 기록 합 니 다. DBWR 프로 세 스 가 언제 수정 데 이 터 를 디스크 에 기록 할 지 는 확실 하지 않 습 니 다.
undo 의 역할: 사물 스크롤, 일치 성 읽 기 (구조 CR 블록) redo 의 역할: 데이터베이스 의 모든 작업 을 기록 하고 로그 쓰기 우선 원칙, 데이터 베 이 스 를 신속하게 제출 하 며 이상 단전 도 데이터 손실 이 없습니다.
사고 문제: 1) 수정 문 (update, insert, delete), 어떤 문 구 는 undo 가 가장 많 습 니까?어떤 문구 가 redo 가 가장 많 습 니까?참고 답안: 일반적으로 undo 가 기록 한 것 은 역방향 조작 이기 때문이다.insert 의 역방향 동작 은 delete 입 니 다. undo 는 delete 줄 의 rowid 만 기록 하면 되 기 때문에 insert 가 발생 하 는 undo 가 가장 적 습 니 다.delete 의 역방향 동작 은 insert 입 니 다. undo 는 insert 의 모든 필드 의 값 을 기록 해 야 하기 때문에 delete 가 발생 하 는 undo 가 가장 많 습 니 다.update 는 둘 사이 에 있 습 니 다.메모: undo 항목 도 redo 에 기록 되 어 있 습 니 다.
2) ORA - 01555 원인 과 해결 방안 은?참고 답안: 이 유 는 Oracle 조회 가 일치 성 읽 기 를 확보 해 야 하기 때 문 입 니 다. 검색 어 실행 시간 이 비교적 길 면 나중에 검색 블록 을 조회 해 야 하 는 undo 정보 가 덮어 져 일치 성 읽 기 에 필요 한 cr 블록 을 구성 할 수 없 기 때 문 입 니 다.Oacle 은 ORA - 01555 오 류 를 던 집 니 다.해결 방안:
a. 이 조회 SQL 을 최적화 하고 실행 시간 을 단축 합 니 다.
b. undo 증가retention 값 을 설정 하고 이 undo 표 공간 을 guarante (alter tablespace undotbs 1 retention guarantee;) 로 설정 합 니 다.
1.2 Oracle 논리 체계 서 는 유사 생활 사례 를 통 해 왕 부자 의 농장 (database) 을 서로 다른 양식 업자 (tablespace) 에 게 임대 하고 각 양식 업자 가 각각 소, 양, 돼지 (segment) 등 을 양식 한다.왕 씨 재 주 는 마음속 에 8 평 미 터 를 최소 계산 단위 (block) 로 하고 누구의 양식 공간 이 왕 씨 부자 에 게 공간 (extent) 을 신청 하기에 부족 합 니까? 공간 이 아무리 부족 하 더 라 도 왕 씨 재 주 는 특히 원칙 적 으로 3 개의 농장 을 남 겼 습 니 다. 시스템 농장 (시스템 표 공간), 임시 농장 (임시 표 공간), 스크롤 백 농장 (스크롤 백 공간) 은 각 양식 업자 에 게 편 의 를 제공 합 니 다.이 일련의 간단 하고 이해 하기 쉬 운 작은 일 을 통 해 Oracle 논리 체 계 를 도입 하여 사람들 로 하여 금 Oacle 표 공간, 세그먼트, 구역, 블록 의 개념 을 이미지 적 으로 이해 하 게 한다.표를 만들어 데 이 터 를 삽입 한 후 dba 를 통 해extents, dba_segments, dba_tablespace 는 논리 구 조 를 체득 합 니 다.
1.3 학습 체계 구조의 의미 도 책의 핵심 이다. 모든 일 을 다 배우 고 그 의 미 를 연구한다.만약 에 체계 구 조 를 단순히 설명 하 는 것 이 라면 제 가 예전 에 배 웠 던 체계 구조 노트 는 실제 내용 이 더욱 상세 합 니 다.
-- :
create or replace procedure proc1
as
begin
for i in 1 .. 100000
loop
execute immediate 'insert into t values ('||i||')';
commit;
end loop;
end;
/
--
drop table t purge;
create table t(x int);
alter system flush shared_pool;
set timing on
exec proc1;
--
select sql_id, sql_text, parse_calls, executions from v$sql where sql_text like '%insert into t values%';
그 다음 에 바 인 딩 변수, 정적 개작, 대량 제출, 집합 쓰기, 직접 경로, 병행 설정 에서 한 걸음 한 걸음 최종 체험 에서 우주선 속도 로 최적화 되 었 다.여기 서 중요 한 최적화 절 차 를 정리 하고 구체 적 으로 원서 내용 을 참고 할 수 있다.
-- : +
create or replace procedure proc3
as
begin
for i in 1 .. 100000
loop
execute immediate 'insert into t values (:n)' using i;
end loop;
commit;
end;
/
-- : + + + nologging
create table t nologging parallel 16 as select rownum x from dual connect by level <= 1000000;
정성 들 여 구 성 된 테스트 사례 이지 만 실제 최적화 작업 에서 도 위의 하나 또는 여러 가지 기술 수단 으로 조정 하 는 경우 가 많다.
@?/rdbms/admin/utlchain.sql
analyze table t list chained rows into chained_rows;
select count(*) from chained_rows where table_name = 'T';
조회 에 기록 이 있 으 면 줄 이전 이 존재 한 다 는 것 을 증명 한다.
2. Oracle 표 디자인
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.