Korean English Japanese Chinese (Simplified) Chinese (Traditional)

 

 

 

1-1 데이터베이스 기초지식

 

데이터베이스- 어떤 특정한 목적으로 필요한 데이터를 이용하기 쉽게 정리하여 보관한 것

 

DBMS(Database Management System)- 데이터베이스의 구축과 운용을 위해 사용하는 전용 소프트웨어

 

데이터베이스가 갖춰야 할 조건

- 대량의 데이터를 보관할 수 있다.

- 여러 사용자가 데이터를 공유하고, 동시에 이용할 수 있다.

- 데이터를 빠르게 참조, 변경할 수 있으며, 퍼포먼스가 뛰어나다.

- 데이터가 파손되거나, 장애가 발생했을 시 신속한 복구가 가능하다.(가용성)

- 사용자마다 액세스 할 수 있는 데이터나 실행할 수 있는 조작을 정해, 부정 액세스나 부정 조작을 방지할 수 있다. (시큐리티)

 

RDBMS(Relational Database Management System)- 데이터를 테이블 형식으로 정리해 놓은 데이터베이스로, Oracle은 DBMS임과 동시에 RDBMS이다. 즉, 관계형 데이터베이스를 관리는 소프트웨어이다.

 

-관계형 데이터베이스에서는, 데이터를 테이블에 격납한다. 관계형 데이터베이스는 2차원 구조를 가지고 있어, 열과 행으로 구성되어 있다. 행은 하나의 데이터에 대응하고, 열을 칼럼, 행을 레코드라고 부른다. 

-한 열에 지정한 데이터 형식과 다른 데이터 형식을 격납할 수 없다.

 

비(非) 관계형 형식의 데이터베이스

계층형 데이터베이스

-가장 높은 구성의 데이터로부터, 위에서 아래의 일방향으로 데이터 가지를 분기시키는 데이터베이스. 총무부-경리과,정보시스템과-사원1,사원2,사원3 과 같은 경우가 계층형 데이터베이스에 속한다.

네트워크형 데이터베이스

-데이터끼리 상하관계없이 연결된 구조. 소셜 네트워크의 친구관계와 같이, 데이터와 데이터가 맞물리는 정보를 다루는 데 사용된다.

 

 

1-2 SQL 기본지식

 

관계형 데이터베이스에 격납되는 데이터를 참조하거나, 변경하기 위해서는, SQL이라는 언어를 사용한다. 

 

SQL은 ANSI(미국규격협회)나 ISO(국제표준화기관) 단체에서 정한 표준규격이 정의되어 있다. Oracle을 포함한 수많은 RDBMS는 표준규격에 준거하기 위해, 서로 다른 제품에 똑같은 SQL 커맨드와 분류를 사용하고 있다.

 

SQL의 분류

분류 커맨드 설명
데이터 검색 SELECT 테이블에 격납된 행의 참조(검색)
데이터 조작언어
(DML: Data Manipulation Language)
INSERT 테이블에 행 추가 (삽입)
UPDATE 테이블의 행을 변경
DELETE 테이블의 행을 삭제
데이터 정의어
(DDL: Data Definition Language)
CREATE 오브젝트 작성
DROP 오브젝트 삭제
ALTER 오브젝트 정의변경
TRUNCATE 테이블에 격납된 모든 행을 일괄삭제
트랜잭션 제어어
(TCL: Transaction Control Language)
COMMIT 트랜잭션을 확정
ROLLBACK 트랜잭션을 삭제
데이터 제어어
(DCL: Data Control Language)
GRANT 권한 부여
REVOKE 권한 박탈

 

SELECT * FROM menu;

-> menu 테이블에서 모든 열을 출력할 것.

 

SELECT price FROM menu

WHERE dish_name = 'beef curry';

-> menu 테이블에서, 음식 이름이 'beef curry'인 price 열을 출력할 것.

 

INSERT INTO menu VALUEs ('katsudon', 900);

-> menu 테이블에 'katsudon', 900 데이터 추가

 

TRUNCATE 커맨드

- 테이블 안의 모든 행을 삭제하는 DDL, 삭제 대상 행을 지정할 수 없다. 

- 데이터는 모두 삭제하지만, 테이블 그 자체는 삭제하지 않는다.

 

 

트랜잭션 제어

-트랜잭션 처리 예시

(1) 계좌 A001로부터 5000원을 뺀다.

UPDATE ACCOUNT SET AMOUNT = AMOUNT - 5000 WHERE ACCOUNT_ID = 'A001';

(2) 계좌 B002로부터 5000원을 더한다.

UPDATE ACCOUNT SET AMOUNT = AMOUNT + 5000 WHERE ACCOUNT_ID = 'B002';

- 트랜잭션의 역할은 SQL의 다양한 처리로 인해 데이터베이스가 '어중간한 상태'가 되어 버리는 것을 방지하는 역할을 한다.

- 트랜잭션을 구성하는 2개의 UPDATE 중 하나라도 실패한다면, 트랜잭션 전체를 실패 처리해야 한다. (원자성:Atomicity)

 

암묵적 커밋

트랜잭션 실행중에 DDL 커맨드를 실행하면, 그 DDL커맨드 앞에 실행되고 있던 트랜잭션은 확정 처리된다.

 

 

 

1-3 오라클 데이터베이스의 개요

 

클라이언트/서버 시스템

 

Oracle을 사용하는 방법

1. 오라클 소프트웨어를 설치한다.

2. 오라클 데이터베이스를 작성한다.

DBCA(Oracle Database Configuration Assistant) 툴을 이용하여 데이터베이스를 생성한다.

 

3. 어플리케이션용 사용자를 작성한다.

-Oracle 데이터베이스를 작성하면, SYS유저와 SYSTEM 유저 등의 관리용 유저가 사전에 작성된다. 

-SYS유저나 SYSTEM유저 등의 관리용 유저는 강력한 권한을 가지고 있기 때문에, 시큐리티상 리스크가 있을 수 있으므로 어플리케이션 데이터 관리에는 사용하지 아니한다.

4. 유저에게 권한을 부여한다.

5. 테이블을 작성하고 데이터를 읽고 쓴다.

-SQL을 작성하는 툴로써, 일반적으로 SQL*Plus가 사용된다.

 

 

Oracle 데이터베이스 관리자의 태스크

분류 태스크
셋업설치 Oracle 소프트웨어의 설치
데이터베이스 작성
Oracle Network 환경 구성
일상적인 업무 리스너 관리 (기동/정지)
인스턴스 관리 (기동/정지)
테이블스페이스의 관리
유저 관리
스키마 오브젝트 관리
데이터 로드
장애대책 퍼포먼스의 감시
백업과 리커버리의 실행

 

Oracle의 주요 데이터베이스 관리 툴

기능
Oracle Database Configuration Assistant (DBCA) 데이터베이스 작성, 삭제 및 템플릿 관리
Oracle Universal Installer (OUI) Oracle 소프트웨어의 설치 및 삭제를 관리
Database Upgrade Assistant (DBUA) 구 릴리스의 데이터베이스를 새로운 릴리스 버전으로 업그레이드
Oracle Enterprise Manager Database Express (EM Express) 웹 브라우저 화면 GUI조작으로 데이터베이스 관리 가능
Oracle Enterprise Manager Cloud Control  웹 브라우저 화면 GUI조작으로 여러 데이터베이스를 일원적으로 관리 가능하며, 수많은 관리작업을 진행할 수 있음.
SQL *Plus 커맨드 인터페이스로 SQL을 실행
Oracle Net Manager Oracle을 네트워크 환경에서 사용하기 위한 설정을 진행함, NetCA보다 더 광범위한 설정을 서포트
Oracle Net Configuration Assistant 
(NetCA)
Oracle을 네트워크 환경에서 사용하기 위한 주요한 설정을 진행(리스너나 리모트접속의 구성 등)
LSNRCTL 리스너의 기동/정지
SQL *Loader CSV파일 등의 데이터베이스 외부의 파일의 데이터를 테이블로 로드
Oracle Data Pump 데이터베이스 안의 데이터를 다른 데이터베이스로 전송
Recovery Manager (RMAN) 데이터베이스의 백업 및 장애발생시의 복구작업(Media Recovery)을 진행

 

 

 

1-4 Oracle 데이터베이스의 기본적인 동작과 구조

 

 

1. 클라이언트 어플리케이션에 유저를 접속시켜 유저 프로세스를 만든다.

2. 유저 프로세스는 리스너 프로세스에게 데이터베이스 접근에 관해 요구한다.

3. 리스너 프로세스는 요구를 받고, 서버 프로세스를 생성한다.

4. 서버 프로세스는 유저 프로세스와 접속되어 유저 프로세스로부터 처리요구를 대기한다.

5. 이후, 유저 프로세스는 SQL문을 서버 프로세스에 직접 송신하고, 서버 프로세스는 데이터베이스에서 SQL을 실행한 후, 그 결과를 다시 유저 프로세스에게 대답한다.

 

 

Oracle Database

Oracle 데이터베이스는 인스턴스와 데이터베이스 파일 부분으로 나뉘어져 있으며, 둘과의 관계는 1대 1이다.

성능 향상을 위해, RAC(Real Application Control)구조를 채택하여 하나의 데이터베이스 파일에 여러 개의 인스턴스를 연결할 수 있다.

 

 

 

 

 

연습문제

Oracle Database 관리에 사용하는 툴과 그 설명으로서, 가장 적절한 짝을 고르시오.

A. Enterprise Manager Database Express: 여러 데이터베이스를 일괄 관리할 때 사용한다.

B. Enterprise Manager Cloud Control: GUI로 인스턴스의 기동이나 데이터베이스의 백업을 진행할 수 있다.

C. Recovery Manager: 리커버리를 진행할 때 사용하는 툴이지만, 백업은 불가능하다.

D. Database Upgrade Assistant: 임의의 릴리스로부터 임의의 릴리스에 직접 업그레이드가 가능하다.

 

 

정답: B

 

If you like this post, please give me a ❤️...!
 
✰Popular Posts✰
✰Recent Posts✰
 

❤ Seoul, Daejeon, Tokyo, Fukuoka
Site developed by Ryu Hyunwoo