본문 바로가기

분류 전체보기198

[이론] chapter 03. Oracle Background Process [Oracle Background Process]user process : 사용자가 작성한 SQL문장을 server process로 전달해줌, 사용자의 접속유무에따라 생성server process : user process로부터 받은 SQL문장을 실제 수행하는 프로세스, 사용자의 접속유무에따라 생성background process : oracle server의 운영과 유지를 담당, oracle server의 시작과 함께 시작/종료 1. DBWR (Database Writer)- DB buffer cache에서 변경완료 후 저장되어야하는 블록(dirty)을 데이터파일로 저장하는 역할- 기본적으로 DBW0 하나만 작동, but, I/O작업이 많을 경우 최대 10개까지(DBW0~DBW9)1. checkpoin.. 2014. 10. 20.
[이론] chapter 02. SQL 문장의 실행 원리 [select 문장 실행원리]1. 사용자 SQL 문장 수행2. user process가 server process를 찾아서 SQL문장을 전달3. oracle server process는 SQL을 분석 (SQL parser -> parse tree 생성)4. 문법검사(syntax) -> 의미검사(semantic) -> 권한검사(dictionary cache사용=row cache)5. 실행계획검사: SQL을 ASCII값으로 변경 -> hash함수로 hash값 생성 -> library cache의 hash list 확인커서공유(soft parse) : libarary cache의 hash list를 확인하여 동일한 값이 있는지 확인하는 과정hash bucket : hash list는 여러개의 hash buck.. 2014. 10. 20.
[이론] chapter 01. Oracle Architecture 1. DBMS와 ORACLE- CPU : 실제 작업을 함- 메모리 (RAM) : 작업을 하는 장소- 하드디스크 (HDD) : 데이터를 저장 - oracle : DataBase Management System(DBMS)- database : 데이터를 저장하는 보관소 - DBMS : 대량의 데이터를 사람을 대신해서 지켜주고 관리해주는 전문적인 프로그램 - 메모리의 속도가 하드디스크보다 비교도 안될 만큼 빠르기 때문에- 사용자가 저장한 데이터를 전부 하드 디스크에 저장- 실제 내용을 조회하거나 변경하는 등의 작업은 전부 메모리에서 진행 2. ORACLE SERVER(1) Oracle Server 전체구조- 오라클 프로그램을 설치 한 후 실행 시키면 메모리와 디스크에 자신만의 특별한 구조를 생성함.- 메모리와 .. 2014. 10. 17.
6장. PL/SQL Sub program - 자주 사용되는 PL/SQL 블록에 저장해 두었다가 필요할 경우에 호출해서 사용할수 있도록 하는 프로그램.- 프로시저(Procedure), 함수(Function), 패키지(Package), 트리거(Trigger) - 익명블록이름이 지정되지 않은 PL/SQL 블록매번 사용시마다 컴파일데이터베이스에 저장되지 않음다른 응용프로그램에서 호출 불가능값을 반환하지 않음파라미터를 사용할수 없음 - 서브프로그램이름이 지정된 PL/SQL 블록최초 실행될때 한번만 컴파일됨데이터베이스에 저장됨다른 응용프로그램에서 호출 가능함수일 경우 값을 반환파라미터 사용 가능 1. 프로시저 (PROCEDURE)- 특정 처리를 실행하는 서브프로그램의 한 유형- 단독으로 실행되거나 다른 프로시저나, 툴 또는 다른 환경에서 호출되어 실행- .. 2014. 10. 16.
5장. PL/SQL 예외처리 2014. 10. 16.
4장. PL/SQL Cursor (커서) 1. SQL 커서란 ? 2. 묵시적 커서 (Implicit Cursor) 3. 명시적 커서 (Explicit Cursor) 4. 명시적 커서 (Explicit Cursor) 처리단계(1) 명시적 커서 선언 (Declaration)(2) 명시적 커서 열기 (Open)(3) 명시적 커서로부터 데이터 읽어서 변수로 할당 (FETCH)(4) 명시적 커서 닫기 (Close) 5. 명시적 커서와 Cursor FOR LOOP 문 활용 6. 파라미터 Explicit Cursor 7. Cursor 와 SELECT FOR UPDATE 문장 8. REF Cursor 9. 커서 연습문제 2014. 10. 14.
3장. PL/SQL 제어문 1. IF 문 (조건문) 2. CASE 문 3. 반복문(1) BASIC LOOP(2) WHILE(3) FOR(4) CONTINUE (11g 추가기능) 2014. 10. 14.
2장. PL/SQL 변수 1. 개요(1) PL/SQL 에서 변수를 사용 하는 이유- 변수는 데이터의 임시 저장 영역- 저장된 값을 조작하기 위해 사용- 저장된 값을 반복해서 재사용 가능 (2) PL/SQL 에서 사용될 변수의 규칙- 반드시 문자로 시작- 문자나 숫자, 특수문자 포함가능- 변수명은 30 bytes 이하- 예약어 포함 불가능 (3) 변수 처리 순서① 선언부에서 선언, 특정 값으로 초기화 가능, 제약조건 지정 가능② 실행부에서 실행되면서 값이 할당 (:= 할당연산자 사용)③ 서브 프로그램의 파라미터로 전달되기도 하며 서브 프로그램의 출력결과를 저장하기도 함 2. 주요 변수들 종류 - 변수 : 데이터 임시저장, 초기값 부여가능, 블록내에서 변경가능- 파라미터 : 매개변수, 서브 프로그램과 값을 상호 전달하는 역할담당- .. 2014. 10. 14.
1장. PL/SQL 시작 1. PL/SQL (Procedural Language/SQL)- ada 라는 언어를 기반으로 오라클에서 제작한 프로그래밍 언어- 기존 SQL과 PL/SQL을 함께 활용함으로써 효과적으로 데이터베이스에 접근 할수 있다.- 반복적이거나 조건을 받아서 처리하는 작업에서 편리하게 사용 가능.- 데이터 트랜잭션 처리능력, 정보보호, 데이터보안, 예외처리 기능, 객체지향 등 데이터베이스 업무 최적화- 단, 활용도는 아주 좋지만 성능은 느릴 가능성이 있음 (동일한 작업으로 SQL 함수와 PL/SQL 함수를 비교했을때) 2. PL/SQL 런타임 구조 - 데이터베이스에서 처리된 데이터를 PL/SQL이 저장하기 위해서 변수를 선언해야함- 변수를 잘못선언할 경우 데이터베이스에서 처리된 결과를 PL/SQL 엔진이 사용할수 .. 2014. 10. 14.
13장. 계층형 쿼리 (Hierarchical Query) - 화면에 출력할 때 상하 관계 표시, 명확하게 상하관계 표시- 계층 형 쿼리가 수행되는 순서① START WITH 절에 시작조건 검색② CONNECT BY 절에 연결조건 검색③ WHERE 절의 조건 검색- 대량의 데이터가 있을 경우 시간이 오래걸리므로 - start with, connect by, where 절의 컬럼에 반드시 인덱스가 적절히 설정되어 있어야 함 1. 계층형 쿼리 주요 문법 # prior 위치에 따른 결과 비교 2. CONNECT_BY_ISLEAF ( ) 함수- 중간지점의 데이터는 보지 않고 가장 마지막 지점의 데이터만 보고싶을 경우에 사용- 중간과정을 생략하기 때문에 중각 내용을 요약해 주는 SYS_CONNECT_BY_PATH( ) 함수를 사용하면 good. 2014. 10. 14.