본문 바로가기

DataBase/Oracle

Chapter 4 데이터 조작어(DML) - PLT 4.1 INSERT, UPDATE, DELETE Chapter 4 데이터 조작어(DML) DML(Data Manipulation Language) 명령은 데이터를 입력,수정,삭제하는 SQL명령어이다. 데이터베이스에 영구적으로 반영되지 않은 데이터 조작 명령어들을 TRANSACTION이라고 하며 오라클에서는 이를 하나의 논리적 작업 단위로 사용한다. 명 령 어 설 명 INSERT 테이블에 새로운 행 추가 UPDATE 테이블의 행 내용을 변경 DELETE 테이블의 행 삭제 COMMIT 저장되지 않은 모든 변경 사항을 Database에 저장 SAVEPOINT savepoint 설정 ROLLBACK 저장되지 않은 보든 변경 사항을 취소 PLT 4.1 INSERT INSERT INTO table_name [(column1[, column2, . . . . . .. 더보기
PLT 3.3 Role PLT 3.3 Role 롤은 여러 가지 권한과 롤의 그룹으로 사용자에게 동시에 부여되고 철회될 수 있고 각 사용자 별로 활성화 여부를 결정할 수 있습니다. SQL명령어 CREATE ROLE을 사용하여 롤을 생성할 수 있습니다. 롤을 생성하려면 CREATE ROLE시스템 권한이 있어야 하며 일반적으로 보안 관리자만이 이 시스템 권한을 가집니다. ROLE 이란 사용자에게 허가할 수 있는 권한들의 집합 이라고 할 수 있습니다. l ROLE을 이용하면 권한 부여와 회수를 쉽게 할 수 있습니다. l ROLE은 Create Role권한을 가진 User에 의해서 생성 됩니다. l 한 사용자가 여러 개의 ROLL을 ACCESS할 수 있고, 여러 사용자에게 같은 ROLE을 부여할 수 있습니다. l 시스템 권한을 부여하고.. 더보기
Chapter 3 Oracle 사용자 관리 - PLT 3.1 사용자 생성 Chapter 3 Oracle 사용자 관리 데이터베이스 시스템에서 사용자도 하나의 개체로서 데이터베이스관리자(DBA)에 의해 생성 또는 제거되고, 적절한 권한 부여와 자원 사용에 대한 제한 사항이 관리된다. 사용자 관리는 SQL*Plus를 통해 SQL 명령문으로 수행할 수 있고, Oracle Navigator라는 툴을 통해서 직관적으로 쉽게 관리하는 방법이 있다. 본 장에서는 DBA가 새로운 사용자를 SQL*Plus를 통해서 생성하고 권한 또는 롤을 부여하는 방법을 알아본다. PLT 3.1 사용자 생성 새로운 USER를 생성하기 위해서는 CREATE USER문을 이용하면 됩니다. USER를 생성하기 위해서는 USER생성 권한이 있는 사용자로 접속해야 합니다. Oracle에서 사용자를 생성할 때 기본적으로.. 더보기
PLT 2.5 SYNONYM PLT 2.5 SYNONYM 오라클 객체(테이블, 뷰, 시퀀스, 프로시저)에 대한 대체이름(Alias)를 말합니다. Synonym은 실질적으로 그 자체가 Object가 아니라 Object에 대한 직접적인 참조 입니다. SYNONYM을 사용하는 경우 n 오브젝트의 실제 이름과 소유자 그리고 위치를 감춤으로써 database 보안을 개선하는데 사용 됩니다. n Object에의 Public Access를 제공 합니다. n Remote Database의 Table, View, Program Unit를 위해 투명성을 제공 합니다. n Database 사용자를 위해 SQL 문을 단순화 할 수 있습니다. Private Synonym : 특정 사용자만 이용할 수 있습니다. Public Synonym : 공용 사용자 그.. 더보기
PLT 2.4 SEQUENCE PLT 2.4 SEQUENCE SEQUENCE는 테이블의 행에 대한 SEQUENCE 번호를 자동적으로 생성하기 위해 사용될 수 있다. SEQUENCE는 사용자가 생성한 데이터베이스 객체이다. SEQUENCE에 대한 전형적인 사용은 각행에 대해 유일해야 하는 PRIMARY KEY 값을 생성하기 위해서 입니다. SEQUENCE는 Oracle에 의해 발생되고 증가(또는 감소) 됩니다. SEQUENCE 값에 대해 보다 빠른 액세스를 허용하기 위해 메모리에 SEQUENCE를 CACHE합니다. CACHE는 SEQUENCE를 처음 참조할 때 형성됩니다. 다음 SEQUENCE 값에 대한 요구는 CACHE된 SEQUENCE에서 읽어 들입니다. 마지막 SEQUENCE가 사용된 후에 SEQUENCE에 요구하면 CACHE된 .. 더보기
PLT 2.3 View PLT 2.3 View 하나 혹은 그 이상의 table로부터 사용자에게 비추어지는 데이터의 또 다른 방식의 창이다. View는 정의된 table 혹은 table들의 모든 column이나 몇 개의 column만 선택하여 정의 할 수 있다. 중요한 것은 index와는 달리 view는 독립적으로 데이터가 저장되는 것이 아니라는 것이다. 단지 또 다른 방식의 창과도 같다. View를 사용하는 목적 l Sensitive Security 제공 : End user가 access할 수 있는 row나 column등에 제한을 가함으로써 필요한 경우 security를 보장할 수 있다. l Data Access Performance 향상 : 두 개 이상의 table로부터 data access하는 경우가 빈번히 발생하는 경우 .. 더보기
PLT 2.2 Index PLT 2.2 Index 인덱스는 테이블이나 클러스트에서 쓰여지는 선택적인 객체로서, 오라클 데이터베이스 테이블내의 원하는 레코드를 빠르게 찾아갈 수 있도록 만들어진 데이터 구조입니다. l 자동 인덱스 : 프라이머리 키 또는 uinque 제한 규칙에 의해 자동적으로 생성되는 인덱스 입니다. l 수동 인덱스 : CREATE INDEX 명령을 실행해서 만드는 인덱스들 입니다. 인덱스의 분류 1. 물리적 분류 : 비트리(B-tree) 인덱스와 비트맵(Bitmap) 인덱스 2. 논리적 분류 : 단일열 인덱스와 결합(Concatenated) 인덱스, Unique 인덱스와 NonUnique 인덱스 물리적 분류 B-Tree index n 인덱스의 칼럼이 여러개 동일한 키갑을 가지고 있을 경우 (ex 부서번호) n 널.. 더보기
Chapter 2 Oracle 객체 - PLT 2.1 Table Chapter 2 Oracle 객체 PLT 2.1 Table 테이블은 실제로 데이터들이 저장되는 곳 이라고 생각하면 쉽게 이해 할 수 있습니다. CREATE TABLE명령어를 이용해서 테이블을 생성 할 수 있습니다. 다음은 테이블에 관한 설명입니다. 1. 테이블은 오라클 데이타베이스의 기본적인 데이타 저장 단위 입니다. 2. 데이타베이스 테이블은 사용자가 접근 가능한 모든 데이타를 보유하며 레코드와 컬럼으로 구성 됩니다. 3. 관계형 데이타베이스가 아닌 예전의 데이타 베이스 용어에서는 파일과 테이블이, 필드와 컬럼이, 그리고 레코드와 행이 동일시 되었습니다. 4. 테이블은 시스템내에서 독립적으로 사용되길 원하는 엔티티를 표현할수 있습니다. 예를 들면, 회사에서의 고용자나 제품에 대한 주문은 테이블로 표현.. 더보기
PLT 1.3 롤백 세그먼트 (ROLLBACK SEGMENTS) PLT 1.3 롤백 세그먼트 (ROLLBACK SEGMENTS) 롤백세그먼트는 롤백(취소)에 필요한 데이터들이 저장되는 세그먼트입니다. 사용자가 트랜잭션을 유발하는 SQL문 등을 사용하면 해당 트랜잭션의 내용이 롤백을 위해 데이터파일에 저장됩니다. 어떤 컬럼을 UPDATE 한 후 사용자가 데이터에 변경한 내용을 이전으로 되돌리고 싶다면 ROLLBACK 명령을 사용할 것입니다. COMMIT 명령을 사용하거나 내부적으로 COMMIT 이 발생하면 변경한 내용은 영구적으로 반영되고, 트랜잭션이 종료될 것입니다. 트랜잭션이 종료되면 롤백세그먼트에 저장되었던 데이터들은 더 이상 필요 없는 것들이 됩니다. 롤백세그먼트의 용도 용 도 내 용 트랜잭션 롤백 트랜잭션이 테이블 내의 행을 변경할 때 구 이미지(이전 데이터 .. 더보기
PLT 1.2 리두 로그 파일(Redo Log Files) PLT 1.2 리두 로그 파일(Redo Log Files) 오라클 서버는 데이터베이스 내의 데이터 손실을 최소화하기 위해 온라인 리두 로그 파일을 유지합니다. 리두로그 파일은 데이터베이스 버퍼 캐쉬 내의 데이터에 가해진 모든 변경사항을 기록합니다. 리두 로그 파일은 인스턴스 실패 같은 상황에서 데이터 파일에는 쓰여지지 않은 Commit된 데이터를 복구하기 위해 사용됩니다. · 온라인 리두 로그 파일의 동일한 사본들을 온라인 리두 로그 그룹이라고 합니다. · 백그라운드 프로세스인 LGWR 은 그룹 내의 모든 온라인 리두 로그 파일에 동시에 동일한 정보를 기록합니다. · 오라클 서버는 데이터베이스의 정상적인 작동을 위하여 최소한 두 개의 온라인 리두 로그 그룹을 필요로 합니다. · 위의 그림은 리두 로그 그.. 더보기