Database: 227개의 글
문법NORMAL 새로운 데이터베이스 CONNECTION은 더 이상 허락하지 않습니다. 현재 USERS들이 맺고 있는 CONNECTION은 그 사용자들이 DISCONNECT할 때까지 기다립니다. 현재 처리 중인 트랜잭션이 있다면, 그 트랜잭션이 끝날 때까지 기다린 후 서버 종료합니다. 다음 DATABASE STARTUP시 어떤 INSTANCE RECOVERY 절차도 필요로 하지 않습니다.TRANSACTIONAL 모든 클라이언트가 특정 인스턴스에서 새로운 트랜잭션을 시작 할 수 없습니다. 클라이언트의 진행중인 트랜잭션을 모두 끝마치면 서버를 종료 합니다. 모든 트랜잭션이 끝나는 즉시 종료 되며, 이후 시작시 인스턴스 복구가 필요 없습니다.IMMEDIATE 현재 처리중인 SQL Statement가 있다면, 다..
DB StartUp 문법 - FORCE :오라클 DB가 시작된 상태에서 다시 재시작할 때만 사용 - RESTRICT : DBA권한을 가진 USER만이 connect하여 Oracle DB를 이용할수 있음 - PFILE : 오라클이 기본으로 제공하는 파라미터 파일인 INIT.ORA파일이 아닌 관리자가 생성한 파라미터 파일을 사용하여 오라클 서버를 시작할 때 사용 - NOMOUNT : 인스턴스만 시작된 상태, 주로 오라클 DB를 생성할 때 사용 - MOUNT : 인스턴스에 대한 control file을 open. 일반 USER는 접속 불가능하고 SYSDBA 권한만 접근 가능 함. - OPEN : 인스턴스에 대한 모든 파일을 오픈하고 모든 USER가 데이터베이스를 사용 - RECOVER : 오라클 복구시 사용하..
출처 : http://www.gurubee.net/lecture/1084
오라클 데이터 파일(Data files), 컨트롤 파일(Control files), 리두 로그 파일(Redo log files)을 합해서 오라클 데이터베이스라고 합니다. 데이터베이스 이름(DB_NAME)으로 식별 합니다. 데이터베이스 이름을 인스턴스의 이름과 다르게 짓는 것이 가능하지만 관리의 편리를 위해 같은 이름을 사용 할 것을 권장 합니다. init.ora - db_name = "oracle" - instance_name = oracle 데이터 파일(Data Files) 데이터 파일은 실제 데이터가 저장되는 하드디스크상의 물리적 파일 입니다. 테이블이나 인덱스 같은 데이타 베이스의 논리적 구조는 데이타베이스를 위해 할당된 데이타 파일에 물리적으로 저장 됩니다. 데이터 파일은 생성시에 그 크기를 명시..
Oracle Instance는 SGA와 Background Process의 결합 입니다 Instance가 시작될 때 SGA의 Memory Buffers들이 할당되어지고 Background Process 들이 시작 됩니다 항상 하나의 데이터베이스 만을 OPEN 합니다. Database는 Instance에 의해서 Mount 되어 집니다. Database Mount라는 개념은 Control File을 읽어서 Database를 OPEN을 준비한다는 의미입니다. 여기서 User는 들어 올 수 없고, SYSDBA 권한으로만 접근이 가능합니다. 하나의 DB에 여러개의 Instance를 생성하는것은 가능하고(이런 환경을 RAC라고 불리웁니다.), 하나의 Instnace에 여러개의 DB를 생성하는건 불가능합니다. 출처 ..
서버 프로세스(Server Process) Oracle은 서버프로세스를 생성하여 접속된 사용자 프로세스의 요구 사항을 처리합니다. 서버 프로세스는 사용자 프로세스와의 통신과 사용자 프로세스의 요구 사항을 수행하는 Oracle과의 상호 작용을 담당합니다. Oracle은 서버 프로세스당 사용자 프로세스 수를 조정하도록 구성될 수 있습니다. 전용 서버 구성에서 서버 프로세스는 단일 사용자 프로세스에 대한 요구 사항을 처리합니다. 공유 서버 구성에서는 여러 개의 사용자 프로세스가 적은 수의 서버 프로세스를 공유하여 서버 프로세스 수를 최소화하는 동시에 사용 가능한 시스템 자원 활용도를 최대화 합니다. 오라클 서버 프로세스는 사용자로부터 받은 요구사항(SQL문)을 처리 합니다. 전달받은 SQL문을 Parse, 실..
Oracle 10g 강좌에서 좀 더 자세한 내용을 확인 할 수 있습니다. 오라클 백그라운드 프로세스는 5개의 필수 프로세스와 그 밖에 프로세스로 구성되어 있습니다.오라클 필수 프로세스 SMON(System Monitor), PMON(Process Monitor), DBWn(Database Writer), LGWR(Log Writer), CKPT(Check Point) 이들 프로세스는 오라클 데이터베이스가 시작되기 위해서는 꼭 필요 하며, 데이터베이스가 종료되면 위의 프로세스들도 모두 종료 됩니다.SMON(System Monitor) 시스템 모니터는 오라클 인스턴스를 관리 하는 프로세스 입니다. 오라클 인스턴스 fail시 인스턴스를 복구하는 역할을 합니다. 데이터 파일의 빈 공간을 연결하여 하나의 큰 빈공..
Program Global Area(PGA) 하나의 단일 프로세스에 대한 데이터와 제어 정보를 가지고 있는 메모리 공간으로 USER PROCESS가 Oracle Database에 접속하고 Session이 생성될 때 Oracle에 의해 할당 됩니다. 각 SERVER PROCESS에 하나만 할당되는 PGA 메모리 영역은 SGA 영역과 달리 다른 프로세스와 공유되지 않는, 각 프로세스가 독립적으로 사용하는 non-shared 메모리 영역 입니다. PGA는 세션변수, 배열, 다른 정보를 저장하기 위해 스택영역을 사용 합니다. PGA는 프로세스가 생성될 때 할당되며 프로세스가 종료될 때 해제 됩니다. 출처 : http://www.gurubee.net/lecture/1855
SGA란? - SGA는 간단하게 오라클서버의 메모리영역이라고 할 수 있습니다. - SGA는 Oracle의 인스턴스에 대한 데이타와 제어 정보를 가지는 공유 메모리 영역의 집합 입니다. - 사용 목적의 따라 오라클 파라미터 파일(init.ora)의 조정으로 SGA의 각 부분의 크기를 조절 할 수 있습니다. (initSID.ora 파일을 열어보시면 large_pool_size=8388608, shared_pool_size=50331648 이렇게 사이즈가 지정되어 있습니다.) - Oracle9i부터 오라클 서버의 종료 없이 SGA의 구성을 SGA_MAX_SIZE 파라미터 값 범위 내에서만 각각의 크기를 동적으로 변경 가능 합니다. - Oracle 서버를 동시에 사용하고 있는 사용자는 시스템 글로벌 영역의 데이..
Conditional INSERT ALLConditional INSERT ALL을 사용하면 특정 조건에 맞는 행만 원하는 테이블에 입력할 수 있다.서브쿼리로의 결과 행을 WHEN ... THEN절에서 체크한 후 조건에 맞는 절에 기술된 테이블에 INSERT 작업을 수행한다.-- Conditional INSERT ALL SyntaxINSERT ALLWHEN 조건절1 THEN INTO [테이블1] VALUES (컬럼1,컬럼2,...)WHEN 조건절2 THEN INTO [테이블2] VALUES (컬럼1,컬럼2,...)........ELSE INTO [테이블3] VALUES (컬럼1,컬럼2,...) Subquery; 직접 실습을 하면서 이해해보자. 아래는 부서별로 연봉인상율을 다르게 하여 각각의 테이블에 입력하..