Oracle Architecture Reference - 이정규 강사님의 7월 BPAN 부산 강의 자료

Slides:



Advertisements
Similar presentations
안성필 내부구조. Oracle 이란 ? Oracle 사가 만든 DBMS 의 한 종류로 Database 에서 가장 많이쓰이는 프로그램 검색 · 갱신용 언어로는 국제 표준화 기구 (ISO) 에 서 표준화한 구조화 조회 언어 (SQL) 가 표준.
Advertisements

Copyright © 2005, Oracle. All rights reserved Oracle Structures.
Oracle DB 구조 및 트랜잭션 관리 이경화 Database 의 구조 Program Global Area (PGA) Instance Database Buffer Cache Redo Log Buffer Library Cache Shared.
1 Orange Part II WareValley. 2 Loader Tool 3 Loader Tool 실행.
오라클 백업과 복구.
DB 프로그래밍 학기.
DB 프로그래밍 학기.
1. 개발 시스템 개요.
Data Interface, Data mart Technology
오라클 입문.
장애와 복구 오라클의 구조와 백업대상 복구에 필요한 파일 운영 환경과 운영 모드
Database Laboratory, Hong Ik University
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
AWR DB 보고서 분석.
컴퓨터 프로그래밍 기초 [Final] 기말고사
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
PHP입문 Izayoi 김조흔.
12장 데이터 읽기 일관성과 락.
Toad for Oracle 설치 방법.
목차 백업과 복원.
Windows Server 장. 사고를 대비한 데이터 백업.
RAC설계 및 Backup.
SQL*PLUS.
Unix Project2 <test character device 생성>
장윤석과장 Technology Specialist (주)한국마이크로소프트
Make a Real DBA 오라클 데이터베이스 관리시스템 아키텍처 ㈜ 신한시스템즈 김 종 근.
5장 Mysql 데이터베이스 한빛미디어(주).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
오라클 데이터베이스 성능 튜닝.
07. 디바이스 드라이버의 초기화와 종료 김진홍
4-1장. MySQL 제13장.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
SELECT empno, ename, job, sal, dname FROM emp, dept
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
DB Backup/Recovery EXPORT / IMPORT.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
5장 Mysql 데이터베이스 한빛미디어(주).
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
웹 어플리케이션 보안 2016년 2학기 3. Mongo db.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
홀인원2.0 설치 메뉴얼.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
영상처리 실습 인공지능연구실.
뇌를 자극하는 Windows Server 2012 R2
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
ADO.NET (SqlConnection, SqlCommand)
오라클 넷(Oracle Net)의 개념 및 구성
데이터 베이스 DB2 관계형 데이터 모델 권준영.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
S-Work 2.0 DRM 신규 버전 설치 가이드 SOFTCAMP
Kernel, Ramdisk, JFFS2 Porting
( Windows Service Application Debugging )
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
오라클 11g 보안.
제 23 장 오라클에서 보안 기능.
JSP Programming with a Workbook
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
CHAP 15. 데이터 스토리지.
 6장. SQL 쿼리.
임시테이블과 테이블변수 SQLWorld Study Group - 최명환 -.
운영체제보안 SELinux 실습 박민재
Ⅰ. 데이터베이스 정의 Ⅱ. MS SQL 서버 Ⅲ. 데이터베이스 인터페이스
Presentation transcript:

Oracle Architecture Reference - 이정규 강사님의 7월 BPAN 부산 강의 자료 http://www.oramaster.net/ Oracle Architecture Reference - 이정규 강사님의 7월 BPAN 부산 강의 자료 - Oracle8i Administrator’s Guide

SGA System Global Area System Global Area란? ◈ Oracle Server가 시작될 때 SGA는 메모리로 할당 되어 집니다. ◈ 사용 목적의 따라 오라클 파라미터 파일(init.ora)의 조정으로 SGA의 각 부분의 크기를 조절 할 수 있습니다. ◈ 여러명의 사용자가 동시에 오라클에 접속 할 경우 유저들 간에 SGA에 있는 데이터 들을 공유 합니다. ◈ SGA는 공유 풀(Shared Pool), 데이터베이스 버퍼캐쉬(DataBase Buffer Cache),  리두로그 버퍼(Redo Log Buffer) 이 세가지로 구성되어 있습니다. SGA Redo Log Buffer Shared SQL Area Database Buffer Cashe

Shared Pool System Global Area The Shared Pool Library Cache ◈ Shared Pool Contents - Text of the SQL or PL/SQL statement - Parsed form of the SQL or PL/SQL statement - Execution plan for the SQL or PL/SQL statements - Data dictionary cache containing rows of data dictionary information ◈ Library Cache - shared SQL area (공유 SQL영역) - private SQL area (전용 SQL영역) - PL/SQL procedures and package - control structures : lock and library cache handles ◈ Dictionary Cache - 데이터 베이스와 그 구조, 그리고 모든 사용자의 정보를 담고 있는 테이블과 뷰의 집합체 입니다. - 데이터 베이스 안에 있는 테이블들과 뷰들의 이름 - names and datatypes of columns in database tables - privileges of all Oracle users ◈ SHARED_POOL_SIZE Shared Pool Library Cache Shared SQL Area PL/SQL Procedures and Package for examples; Control Structures Locks Library Cache handles and so on ... Dictionary Cache for example: Character Set Network Security Attributes Runtime Memory :Reuse available

System Global Area Database Buffer Cache Shared Pool ◈ Size = DB_BLOCK_SIZE * DB_BLOCK_BUFFERS ◈ DB_BLOCK_BUFFERS : Number of buffers defined by(격자의 숫자) ◈ DB_BLOCK_SIZE : 한번 정하면 절대로 못 바꿈(DB생성시 정함). ◈ Database 버퍼 캐시는 데이터 파일로부터 읽어 들인 데이터 블록의 복사본을 가지고 있습니다. ◈ 버퍼캐시에는 Dirty List와 LRU List가 있습니다. ◈ Dirty List에는 수정 되었지만 아직 디스크에 기록하지 않는 Dirty Buffer를 가지고 있습니다. ◈ LRU List에는 빈버퍼, 고정된 버퍼와 더티목록에 이동되지 않는Dirty Buffer를 가집니다. ◈ LRU 알고리즘 : 최근에 사용된 블록을 유지하기 위해 오래된 것을 제거

System Global Area Redo Log Buffer ◈ Size defined by LOG_BUFFER Parameter ◈ 리두 로그 버퍼는 Database의 변경 사항 정보를 유지하는 SGA에 있는 Circular(순환) 버퍼 입니다. ◈ 변경 사항(즉, 변경된 블록, 변경 위치, 새 값)을 기록한 리두 기록을 저장하고 있습니다. ◈ DB에서 발생한 모든 변화는 LGWR에 의해 리두 로그 파일에 저장 합니다. ◈ Used Sequentially(순차적으로 사용됨)

Program Global Area Program Global Area Server Process PGA 공유되지 않고 오로지 혼자서만 쓰는 공간 Is an area that is used by only one process ◈ Process global area라고도 합니다. ◈ 단일 프로세스에 대한 데이터 및 정보를 갖고 있는 메모리 영역. ◈ Not shared and not writable ◈ Sort Areas : 데이터를 소트하는 메모리 영역(SORT_AREA_SIZE) ◈ Session Information (세션 정보) ◈ Cursor state (커서 상태) ◈ Stack space (스택 공간) : containing the session variables(세션 변수를 포함함) ◈ PGA는 프로세스가 생성될 때 할당되며 프로세스가 종료될 때 해제됩니다.

Background Process 오라클 필수 프로세스 DBWR(Database Writer) LGWR(Log Writer) ◈ 버퍼 캐시에 있는 수정된(Dirty) 버퍼의 내용을 데이터 파일에 기록 합니다. ( write all dirty buffers to datafiles ) ◈ DBWR는 데이터베이스 버퍼 캐쉬로부터 데이터 파일로 더티 버퍼(dirty buffer)를 옮겨 적습니다. 이렇게 함으로써 데이터베이스 버퍼 캐쉬 내에 충분한 수의 프리 버퍼(free buffer)가 사용 가능 하게 됩니다. ☞ DBWR이 발생하는 이벤트 1) 더티 버퍼 수가 임계값에 도달 했을 때(The number of dirty buffers reaches a threshold value) 2) 프로세스가 지정된 갯 수의 블록을 스캔 하고도 Free Buffer를 하나도 발견하지 못했을 때 3) 시간이 초과 했을 때 --> 3초 동안 작업이 중단 될 때(A time-out occurs) 4) DBWR checkpoint occurs LGWR(Log Writer) ◈ 리두 로그 버퍼를 관리 합니다. ◈ 리두 로그 버퍼를 디스크에 있는 리두 로그 파일에 기록 합니다. ☞ LGWR프로세스에 의해 리두 로그 버퍼가 디스크에 저장되는 시점 1) 데이터베이스 커밋(commit)이 수행되었을 때. 2) 리두 로그 버퍼가 1/3이상 찼을 때 3) 체크 포인트에 의한 DBWR 프로세스가 수정된 버퍼를 디스크에 기록 할 때 4) When a timeout occurs(3 초마다)

Background Process 오라클 필수 프로세스 SMON(System Monitor) ◈ 시스템 모니터는 오라클 인스턴스를 관리 하는 프로세스 입니다. ☞ 역할 1) 오라클 인스턴스 fail시 인스턴스를 복구하는 역할을 합니다(Performs automatic instance recovery) 2) 데이터 파일의 빈 공간을 연결하여 하나의 큰 빈공간으로 만듭니다. (테이블 스페이스내 사용 가능한 영역 Merge) 3) 더 이상 사용하지 않는 임시 블록 세그먼트들을 재사용 할 수 있게 합니다.(임시 세그먼트 정리) PMON(Process Monitor) ◈ 오라클에 서버에서 사용되는 각 프로세스들을 감시하는 프로세스 입니다. ☞ 역할 1) 비정상 종료된 데이터베이스의 접속을 정리 합니다. (Cleans up abnormally terminated connection) 2) 정상적으로 작동하지 않는 프로세스들을 감시하여 종료 시키며, 비정상적으로 종료된 프로세스들에게 할당된 SGA 리소스를 재사용 가능하게 합니다. 3) 커밋되지 않은 트랜잭션을 롤백 시킵니다.(Rolls back uncommited transactions)

Background Process 그 밖의 프로세스 CKPT(Check Point) ARCH(Archiver) ◈ 모든 변경된 데이터베이스 버퍼를 디스크 내의 데이터 파일로 저장하는 것을 보장 합니다. ◈ 변화된 데이터 블록의 수, 또는 일정 시간을 두고 DBWR프로세스가 데이터베이스 버퍼(더티 버퍼)를 데이터 파일로 저장하도록 명령하는 일을 합니다. ◈ 체크포인트가 발생하면 데이터 파일과 컨트롤 파일의 헤더를 갱신 합니다 (Updates header of datafiles and control files at the end of checkpoint) ◈ is enabled by setting the parameter CHECKPOINT_PROCESS=TRUE ☞ 체크 포인트와 관련된 오라클 파라미터 - LOG_CHECKPOINT_TIMEOUT : 체크포인트가 발생할 시간 간격 설정(단위 :초) - LOC_CHECKPOINT_INTERVAL : 체크포인트가 발생할 리두 로그 파일의 블록수 지정 ☞ 체크포인트 발생시점 - log switch change - log_checkpoint_interval - log_checkpoint_timeout - shutdown - tablespace offline ARCH(Archiver) ◈ 아카이버는 Online Redo Log File이 꽉차거나 DBA가 Alter system switch logfile의 명령어로 강제적으로 LOG SWITCH가 발생할 때 리두 로그 파일들을 지정된 저장장치로 저장하는 역할을 합니다. * LOG SWITCH : 리두 로그 그룹 간의 이동 ◈ Operates only when a log switch occurs ◈ Copies redo log files to tape or disk for media failure ◈ Is optional and is only needed when in ARCHIVELOG mode ◈ May write to a tape drive or to a disk

Background Process 그 밖의 프로세스 그 밖의 프로세스 ◈ RECO(Reciver) - 데이터베이스 복구시에 시작되는 프로세스 입니다. ◈ LCKn(Lock) - LOCK 프로세스 - 오라클 병렬 서버에만 적용되며, 오라클 병렬 서버에서 다수의 오라클 인스턴스 사이에서 Locking을 수행 합니다. ◈ Pnnn(Parallel Query) - 병렬 질의 - 오라클 병렬서버에서, 병렬 질의를 제공 합니다. ◈ SNPn(Shapshot Refresh) - 자동으로 Shapshot Table을 갱신 할 때 사용 ◈ Snnn(Shared Server) - 공유 서버 - Multi Threaded Server구성에서 여러 클라이언트 요청에 응답 합니다 ◈ Dnnn(Dispatcher) - 다수의 사용자 프로세스가 서버프로세스를 공유하도록 하여 Multi Thread 구성을 지원합니다

User Process User Process ◈ 클라이언트에서 수행 됩니다. ◈ 사용자가 오라클 Application Program을 실행 시켰을 때 사용되는 프로세스 입니다. - Pro*C 와 같은 응용프로그램 - Oracle Enterprise Manager or SQL*Plus · ◈ 사용자가 오라클 서버에 접속할 때마다 사용자 프로세스가 생성 됩니다. ◈ 사용자가 실행시킨 SQL문을 서버 프로세스에 전달하고, 그 결과를 서버 프로세스로부터 받는 역할을 수행 합니다 (Passes SQL to the server process and receives the results )

Server Process Server Process ◈ 서버에서 실행 됩니다.(Runs on the server machine ◈ 각 서버 프로세스는 사용자 프로세스를 하나씩 담당 합니다 각 서버 프로세스는 PGA(Program Global Area)라고 불리우는 메모리 영역을 사용합니다. ◈ 오라클 서버 프로세스는 사용자로부터 받은 요구사항(SQL문)을 처리 합니다. (Parce and execute SQL statements) ◈ Disk 상의 Datafile 에서 SGA의 Shared Database Buffer로 필요한 Data를 Read 합니다. (Read data blocks from disk into the shred database buffers of the SGA) ◈ 전달받은 SQL문을 Parse, 실행(Execute), 페치(Fetch) 작업을 통해 실행 시키는 역할을 합니다. ◈ Return the results of SQL statements to the user process ☞ Parse, Execute, Fetch 과정 ① Parse - SQL문 문법 검사(check syntax) - 사용자 인증 및 권한 검사(security access) - 객체의 사용 가능 여부 검사 ② Execute - 파스 과정에서 만들어진 파스 트리로 원하는 데이터를 찾음 - 데이터를 찾은 후 실제 데이터 Read를 수행 하고, 필요할 경우 데이터 수정 합니다. (applies the parse tree to the data, perform a physical read and change) ③ Fetch - 데이터를 사용자 프로세스 에게 전달(Passes data to the user [only SELECT])

SGA 오라클 인스턴스 Oracle Instance Oracle Instance Shared Pool DB Buffer Cache Redo Log Buffer 오라클 인스턴스 PMON SMON SNPn LCKn REDO Dnnn Pnnn CKPT ARCH LGWR DBWR ◈ Oracle Instance는 SGA와 Background Processes의 결합 입니다 ◈ Instance가 시작될 때 SGA의 Memory Buffers들이 할당되어지고 Background Process들이 시작 됩니다 ◈ 오라클 데이터베이스를 접속하는 수단 입니다. (Is a means to access an Oracle database) ◈ 항상 하나의 데이터베이스 만을 OPEN 합니다. (Always opens one and only one database) ◈ Database는 Instance에 의해서 Mount되어 집니다

Oracle Database Oracle Database Oracle Database 컨트롤 파일 데이터 파일 리두 로그 파일 ◈ 오라클 데이터 파일(Data files), 컨트롤 파일(Control files), 리두 로그 파일(Redo log files)을 합해서 오라클 데이터베이스 라고 합니다. ◈ 데이터베이스 이름(DB_NAME)으로 식별 합니다. ◈ 데이터베이스 이름을 인스턴스의 이름과 다르게 짓는 것이 가능하지만 관리의 편리를 위해 같은 이름을 사용 할 것을 권장 합니다. init.ora - db_name = "oracle" - instance_name = oracle

Oracle Database 데이터 파일(Data File), 컨트롤 파일(Control File) ◈ Tables &Indexes들과 같은 Logical structure들을 물리적으로 Datafiles에 저장되는 파일 입니다. ◈ 데이터 파일은 생성시에 그 크기를 명시하고, 더 많은 저장 공간이 필요할 경우 그 크기를 확장할 수 있습니다. ◈ 데이터 파일은 오라클에 의해서 생성되고 삭제 해야 합니다. 운영체제 명령을 이용해서 사용자가 삭제 하거나 이동을 시켜서는 안됩니다 컨트롤 파일(Control File) ◈ 컨트롤 파일은 데이터베이스의 제어 정보를 가지고 있는 파일로 오라클 서버의 데이터베이스 이름이 컨트롤 파일에 저장 됩니다. ◈ 컨트롤 파일은 오라클 DB를 마운트 하고 Open하여 DB를 사용하는데 꼭 필요한 파일 입니다. ◈ 컨트롤 파일이 손상되면 오라클을 mount, open할 수 없으므로 적어도 두개 이상의 컨트롤 파일을 백업 받아서 다른 디스크에 저장해 놓는 것이 좋습니다

Oracle Database 리두 로그 파일(Redo Log File) 리두 로그 파일(Redo Log File) ◈ 리두 로그 파일은 데이터베이스에서 생긴 모든 변화를 기록 하는 파일 입니다 ◈ 리두 로그 파일은 데이터를 복구 하는데 사용 됩니다. ◈ SGA 내의 리두 로그 버퍼 캐쉬에 저장된 데이터들은 리두 로그 버퍼가 일정 수준 이상 채워지게 되면 LGWR에 의해서 리두 로그 파일로 저장 됩니다. ◈ 리두 로그 파일은 적어도 두개 이상의 그룹을 가지며, 한 그룹내의 각 맴버들은 모두 동일한 테이터를 가집니다. ◈ 리두 로그 파일을 구성하는데 1Group에 2개 이상의 Member를 동일 Machine 상에서 다른 Disk에 분리하여 구성하기 권장 합니다 REDO01.LOG REDO02.LOG REDO03.LOG Group 1 Member 2 Group 2 Member 2 Group 3 Member 2 REDO01b.LOG REDO02b.LOG REDO03b.LOG

Oracle Database 그 밖의 파일들 파라미터 파일(Parameter File) ◈ 파라미터 파일은 오파클을 시작하는데 필수적인 파라미터 들이 정의 되어 있으며, 오라클 인스턴스를 기동하기 위해서는 꼭 파라미터 파일을 읽어야 합니다. ◈ 일반적으로 init.ora파일로 저장 됩니다. ◈ Control file 의 위치와 이름을 가지고 있습니다. ◈ 오라클 파라미터 값을 조절해서 오라클 데이터베이스의 메모리 사이즈와 인스턴스 프로세스의 세팅을 조절합니다. Ex) db_block_buffers = 2048, shared_pool_size = 15728640, db_block_size = 8192 ◈ 파라미터의 정보를 보고 싶을 때는 v$parameter을 이용합니다. SVRMGR> SELECT name, value FROM v$parameter WHERE UPPER(name) LIKE '%DB%'; NAME VALUE ------------------------------------ -------- dbwr_io_slaves 0 db_file_direct_io_count 64 db_block_buffers 2048 ◈ 파라미터 하나의 값을 볼 때는 SHOW PARAMETER 명령어를 이용 합니다. SVRMGR> SHOW PARAMETER shared_pool_size ; ----------------------- ------- --------- shared_pool_size string 15728640

Oracle Database 그 밖의 파일들 Alert File Trace file Password file ◈ 오라클 Instance가 실행중에 Error 발생시 messages은 Alert File에 쓰여 집니다 ◈ Alert File은 BACKGROUND_DUMP_DEST에 지정된 곳으로 쓰여 집니다 SVRMGR> SHOW PARAMETER background_dump_dest; NAME TYPE VALUE -------------------- ------- ------------------------------ background_dump_dest string C:\Oracle\admin\oracle\bdump Trace file ◈ Server & Background process에 의해 발견된 Error정보는 Trace file로 쓰여 집니다· ◈ Trace File의 위치는 Background process에 의해 dump된 정보는 BACKGROUND_DUMP_DEST에 지정된 곳으로 쓰여지고 Server process에 의해 dump된 정보는 USER_DUMP_DEST에 지정된 곳으로 쓰여 집니다 SVRMGR> SHOW PARAMETER user_dump_dest; NAME TYPE VALUE ------------------- ------- ------------------------------ user_dump_dest string C:\Oracle\admin\oracle\udump Password file ◈ 권한이 있는 데이터베이스 사용자를 인증하는데 사용됩니다

① ④ ③ ② Oracle Database 오라클 데이터베이스 커밋(Commit) 과정 서버 프로세스 LGWR 사용자 프로세스 * System Change Number 트랜잭션이 커밋될 때마다 오라클 서버는 트랜잭션에 커밋 SCN(System Change Number)을 지정합니다. SCN은 데이터베이스 내에서 유일한 값이로 증가합니다. SCN을 사용함으로써 오라클 서버는 운영 체제의 날짜나 시간에 의존하지 않고 일관성 검사를 수행할 수 있습니다. Redo Log Buffer Shared SQL Area Database Buffer Cashe ① 서버 프로세스 ④ LGWR ③ ② 사용자 프로세스 컨트롤 파일 SQL>COMMIT; 데이터 파일 리두 로그 파일 1. 서버 프로세스는 SCN과 함께 커밋 기록을 리두 로그 버퍼에 위치 시킵니다. 2. LGWR은 모든 리두 로그 버퍼 엔트리와 커밋 기록을 리두 로그 파일에 연속적으로 옮겨 적습니다. 이후 오라클 서버는 실패하는 경우에도 변경 사항을 잃지 않게 됩니다. 3. 사용자에게 COMMIT이 완료되었다는 것을 알립니다. 4. 서버 프로세스는 트랜잭션이 완료되었으며 자원 잠금(lock)이 해제되었다는 것을 나타내는 정보를 기록 합니다.

SGA 오라클 인스턴스 Oracle Architecture 오라클 아키텍쳐 Shared Pool DB Buffer Cache Redo Log Buffer 오라클 인스턴스 PMON SMON SNPn LCKn REDO Dnnn Pnnn CKPT ARCH LGWR DBWR 데이터 파일 리두 로그 파일 컨트롤 파일 서버 프로세스 사용자 프로세스 파라미터 파일 패스워드 파일 PGA