본문 바로가기

Archived(CSE Programming)/Database(Oracle)

Chap 0. Oracle 기본 및 접속법

0) DBMS 용어 이해

  • Schema : Data의 논리적 구조(DB Schema)
  • DB : Database Schema + Data + Log  
  • DataBase Management System : DB를 관리하기 위한 시스템이다(DB system : DBMS + DB)
  • TableSpace는 Table의 저장 공간(segment 단위로 공간 구분, 하나의 Table은 하나의 Tablespace에서 공간 할당받음)
  • Oracle은 Segment를 디스크에 할당하고 extent 단위로 반납 받는다(하나의 extent는 논리적으로 연속된 여러 개의 Oracle data block들로 구성)
  • tablespace > segment > extent > data block
  • Table들과 Index들의 정의가 저장되는 곳은 Users Tablespace.
  • System과 관련된 내용들이 저장되는 곳은 System Tablespace. 

1) DO 연산 

  • DO 연산(실행) - ex) 홍길동 -> 일지매 이름 바꿔라, 결과물과 로그 기록 산출(before image와 new image 기록)
  • UNDO 연산(취소) - ex) 일지매 -> 홍길동 변경 취소(복귀), 보상 로그 기록 산출 
  • REDO 연산(재실행) - ex) 홍길등 -> 일지매 다시 변경, 실행 취소후 다시 재실행

오라클은 이미 이개념부터 다르다(IBM과 다름) 
DO 연산 후 UNDO records가 UNDO tablespace에 저장, REDO 개념도 가지고 있음 
UNDO 연산은 New obejct 에다가 UNDO 로그로 바로 수행 
REDO 연산은 Old object 에다가 REDO record로 처리 

오라클은 log lecord가 아닌, UNDO record, REDO record라고 표현

 

2) Transaction

Transaction이란 A set of Database Read and Write operations with the following ACID properties. 
(A - atomicity, C - consistency, I - Isolation, D - durability) 

  • 원자성(Atomicity) : 트랜잭션 수행은 다 되던지 안되던지(부분적 수행 불가, Commit/Rollback)
  • 일관성(Consistency) : 트랜잭션 수행은 DB를 일관적 상태에서 다른 일관적 상태로 옮기는 것
  • 격리성(Isolation) : 트랜잭션이 동시에 수행되더라도 혼자서 수행한 것처럼(끼어들 수 없다, LOCK)
  • 지속성(Durability) : 트랜잭션 수행 후 바뀐 상태는 트랜잭션에 의해 변경되지 않는 한 보존되야 함(Backup & recovery)

3) Oracle 접속

oralcle_sid는 server instance를 가동할 때 필요한 것 
oracle_account는 권한이 부여되는 오라클 계정 

- SQLPlus

$ sqlplus oracle_account/비번@oracle_sid 
$ sqlplus system/Secret@account // SYSTEM 계정 접속 
$ create user NAME identified by PW // 계정 생성 
$ grant connect, resuource to NAME // 권한 부여 
$ revoke connect, resource from NAME // 권한 회수 
$ alter user NAME identified by PW // 계정 변경 


- SQLDeveloper 
새 접속을 통해서 connection 생성 
account/pw 를 통해 인증 후 연결

 

4) SYSDBA

$ sqlplus 계정/비번@sid as SYSDBA  // SYSDBA 접속 

SYSDBA는 SYSOPER 권한과 더불어 DB 생성, 삭제, 불완전복구 권한을 보유하고 있다 

 

'Archived(CSE Programming) > Database(Oracle)' 카테고리의 다른 글

Chap 2. ER diagram  (0) 2019.10.22
Chap 1. DBMS & Relational Model  (0) 2019.10.22
B+ Tree의 삽입  (0) 2019.10.16
Oracle Table Index  (0) 2019.10.16
ER 다이어그램(ER Diagram)  (0) 2019.10.14