분류 전체보기 119

Oracle 저장구조

1. Oracle BlockOracle Block 은 OS Block 을 한 개 이상 합쳐서 생성하며 DB_BLOCK_SIZE 로 지정Oracle Block 의 크기가 8KB이고 OS Block 이 2KB 이면 OS Block 4개가 합쳐져야 1개의 Oracle Block OS 블록과 Oracle 블록을 1:1 비율로 생성하면 Block Split 현상이 생기지 않음 DB_BLOCK_SIZE 파라미터는 Create database 할때 한 번 지정이 되면 db를 재생성하기 전에 변경이 안되며이 파라미터에서 지정되는 크기 값을 standard block size 라고 한다 Block 의 크기는 2KB , 4KB , 8KB , 16KB , 32KB 가 제공 ( 간혹 64KB 지원하는 ..

Tablespace 와 Datafile 관리하기 연습문제

1. Data file , Redo log file, Control file 을 아래처럼 이동시키세요./app/oracle/disk1/control01.ctl , redo01_a.log , redo02_a.log , redo03_a.log/app/oracle/disk2/control02.ctl , redo01_b.log , redo02_b.log , redo03_b.log/app/oracle/disk3/control03.ctl , undo01.dbf/app/oracle/disk4/system01.dbf , sysaux01.dbf/app/oracle/disk5/users01.dbf , example01.dbf 2. 20g 하드 하나 추가해서 /data2 로 마운트 oracle 계정 소유로 변경한 후 spf..

카테고리 없음 2014.10.22

Tablespace 와 Data File 관리하기

Tablespace = D.B Cache 내에서 데이터를 작업하는 공간 일반적으로 Tablespace가 클수록 수행 속도가 빠름 Tablespace 의 종류 및 특징(1) SYSTEM tablespace- 데이터 딕셔너리 정보들이 저장되어 있어서 이 Tablespace 가 손상될 경우 Oracle 서버가 시작이 안됨데이터 딕셔너리 : 오라클 서버의 모든 정보를 저장하고 있는 아주 중요한 테이블이나 뷰들- Static Dictionary : 내용이 실시간으로 변경 안됨 USER_XXX , ALL_XXX , DBA_XXX = DB 상태가 OPEN 일때만 조회가능- Dynamic Performance View : 실시간으로 변경되는 내용을 볼 수 있음, Control File / 메모리로 가서 정보를 가져옴 ..

Redo Log 관리하기

Redo Log : 변경되는 내용이 있을경우 모두 기록해 두었다가 장애를 대비하는 기능Redo Log Buffer : 오라클에서 데이터 변경시 장애가 발생할 것을 대비해 변경되기 전과 후의 내용을 기록하는 메모리Redo Log File : 오라클에서 데이터 변경시 장애가 발생할 것을 대비해 변경되기 전과 후의 내용을 기록하는 파일 데이터 변경( DDL , DML , TCL ) 이 발생하면 두가지 매커니즘에 의해 Redo Log 에 기록 됨- Write Log Ahead : 데이터를 변경하기 전에 Redo Log 에 먼저 기록한 후 데이터를 변경DBWR 이 작동하기 전에 LGWR 이 먼저 작동 - Log force at Commit : 사용자로 부터 commit 요청이 들어오면 관련된 모든 Redo Rec..

Control File 관리하기

Control 파일은 Database가 운영될 때 실시간으로 각종 정보가 저장되고 또 조회가 된다. 이 파일에 장애가 발생할 경우 Instance가 실패되어 중단되므로 잘 관리해야함 컨트롤 파일 관리하기컨트롤 파일이 삭제 될 경우 아주 심각한 문제가 발생하기 때문에 이 파일이 삭제되지 않도록 주의해야 하며, 혹시나 삭제되더라도 복구할 수 있도록 여러곳에 복사본을 만들어 분산시켜 관리하는것을 권장 ( 이를 Multiplexing - 다중화 라고 한다 ) DBA가 startup을 실행하면 parameter file을 읽은 후 control file 의 위치를 확인 후 해당 control file들을 메모리로 불러와 내용을 확인. 다중화 할 경우 parameter file 에 control file 위치를 기..

ORACLE 시작하기 & 종료하기

※ Alter Log 파일은 10g 의 경우 $ORACLE_BASE/admin/SID/bdump/alert_SID.log11g 의 경우 $ORACLE_BASE/diag/rdbms/SID/SID/trace/alert_SID.log로 존재 1. Parameter File ( 초기화 파라미터 파일 )(1) 파라미터란 ?- 묵시적 파라미터 : 관리자가 지정하지 않을 경우 자동으로 기본 값을 가지는 파라미터- 명시적 파라미터 : 관리자가 지정해 주어야만 값을 가지는 파라미터 항목/파일 Pfile Spfile 파일이 존재하는 기본경로 $ORACLE_HOME/dbs 파일 이름 initSID.ora spfileSID.ora 내용 변경 관리자 ( 사람 ) 서버 프로세스 파일 형태 Text ( OS 편집기로 편집가능 ) ..

Oracle Background Process

User Process 사용자가 작성한 sql 문장을 server process로 전달해 주고 결과를 가져오는 프로세스 Server Process user process 가 전해준 sql 문장을 실제 수행하는 프로세스 Background Process oracle server 가 시작되면 자동으로 시작되어 운영과 유지를 담당하는 프로세스 1. 필수 Background process (1) DBWR( Database Writer ) - Database Buffer Cache 에서 변경된 블록을 데이터 파일로 저장하는 역할 DBWR 이 DB Buffer Cache 의 Dirty Buffer 의 내용을 파일에 내려쓰는 경우 1. Checkpoint 신호가 발생했을 때 2. Dirty Buffer 가 임계 값을..

SQL 문장의 실행 원리

(1) SQL 문장의 실행 원리 - User Process : 쿼리를 치는 프로그램으로 sqlplus, toad, orange 등이 있다 - Tnsname.ora : 주소록과 같은 개념으로 저장된 정보를 통해 Database를 찾아감 ( IP, PORT, SID 등 저장되있음 ) Oracle Client 를 설치해야 생김. netca 명령어를 실행- Server Process : 실제 작업을 수행하는 역할 , User Process 로부터 쿼리 내용 전달 받아서 D.B에서 찾음- Connection : 유저 프로세스와 서버 프로세스가 만나서 쿼리 전달받는 것- Session : 서버 프로세스가 유저 프로세스로부터 쿼리를 전달 받아 D.B에서 작업을 수행하는 것 과정 설명- 유저 프로세스에서 쿼리를 작성 ..

Oracle Architecture

(1) Oracle Server 전체 구조 Oracle 프로그램을 설치후 실행시키면 메모리와 디스크에 Oracle 만의 특별한 구조를 생성 이렇게 생성되는 구조를 Oracle Server 라고 함 메모리 부분에 생성되는 구조 (Instance) ( Instance 구조는 오라클 버전에 따라 다르다 ) 디스크 부분에 생성되는 구조 (Data base) - 데이터가 저장되는 데이터 파일 (Data File) - DB전체의 관리정보가 들어있는 컨트롤파일 (Control files) - 장애 복구시 사용되는 리두 로그파일 (Redo log files) 위 그림을 좀 더 자세하게 살펴 보자 (2) Oracle Instance 의 할당 및 관리 Instance..

PL/SQL sub program

PL/SQL 익명 블록과 서브 프로그램의 차이PL/SQL 블록에 이름을 지정하고 생성해서 저장해 두었다가 필요할 경우에 호출ㅇ해서 사용할 수 있도록 하는데 이를 서브프로그램 또는 프로그램 단위라 부른다. 대표 적인 유형으로 프로시저(PROCEDURE), 함수(FUNCTION), 패키지(PACKAGE), 트리거(TRIGGER) 가 있다 1. PROCEDURE (프로시저)특정 작업을 처리하는 이름있는 PL/SQL BLOCK 프로시저 생성 - create procedure프로시저 삭제 - drop procedure프로시저 수정 - alter procedure PROCEDURE 생성 문법 :CREATE [OR REPLACE] PROCEDURE PROCEDURE_name [( parameter1 [mode1] d..

오라클/PL/SQL 2014.10.16