본문 바로가기

개발자 양성과정 필기노트/DB | ORACLE19

다중행 비교 연산자 = OR IN, = ANY 우변에 있는 값과 동일한 값 > OR > ANY 최소값보다 큰 값 >= OR >= ANY 최소값보다 크거나 같은 값 = AND >= ALL 최댓값보다 크거나 같은 값 < AND < ALL 최소값보다 작은 값 2021. 11. 29.
DB 필수 물리적 파일 다중화 / 데이터파일 손실시 복구하기 I.DB 필수 물리적 파일 다중화 1. Control file - 최대 8개까지 다중화 제공됨 - 권장: 3개 - 다중화된 멤버 중 한개라도 문제가 생기면 DB작동이 멈춘다. - 때문에 손실된 멤버파일을 최신시점으로 복구하기 위해 다중화를 수행하는 것. - 정상적인 멤버파일을 활용하여 다중화를 수행한다. 2. Redolog file - 그룹 별 다중화 개수의 제한이 없다, - 권장: 그룹 3개, 각 그룹별 멤버 2개씩. (3 X 2) - 그룹에 정상적인 멤버파일이 하나라도 있다면 DB가 정상적으로 작동된다. - 다른 멤버를 활용하여 다중화를 수행하지 않는다. -> 손실된 멤버파일을 삭제하고 새로운 파일로 교체하는 방법을 사용한다. - DB를 계속적으로 운영하기 위해 다중화를 수행한다, II. 데이터파일 .. 2021. 11. 15.
Database Fail & Controlfile 다중화 절차 Database Fail의 여섯가지 유형 1. Statement Failure - SQL구문이 정상적으로 실행되지 않고 오류가 발생한 경우. - 원인: 문법오류, 오타, 권한부족, 저장공간 부족 등 - 해결: SQL구문 재작성 2. User Process Failure - 데이터베이스에 접속학 유저가 비정상적으로 접속을 끊은 경우. - 원인: 유저가 강제로 접속을 끊음, User Client PC 다운, DBA의해 kill당함 - 해결: 유저 재접속 ( 단, PMON이 트랜잭션 rollback 및 Lock 해제를 자동으로 진행한다.) 3. Network Failure - 데이터베이스는 정상이지만 접속이 안되는 경우. - 원인: 리스너가 꺼져있음, 네트워크 장애 - 해결: 리스터 켬, 네트워크 장애 해결 .. 2021. 11. 3.
Data Dictionary # Data Dictionary의 구성요소 1. Base Tables - 데이터 베이스의 모든 정보를 '오라클'이 보기 쉬운 형태로 기록해놓은 테이블. 2. Date Dictionary Views - Base Tables을 '사용자'가 보기 쉬운 형태로 만들어놓은 뷰. - 읽기전용임. ( Select만 가능 ) - 종류 1) user_XXX - 사용자 소유의 XXX 정보를 조회 - user_tables , user_objects , user_views , user_users 등 2) all_XXX - [사용자 소유의 테이블] or [사용자가 접근가능]한 정보를 조회함 - all_tables , all_objects , all_views 3) dba_XXX - 데이터베이스 내의 모든 정보 조회. ***DB.. 2021. 10. 12.
VIEW / SEQUENCE DB || DAY15 || VIEW, SEQUENCE # VIEW 1. VIEW란? 하나 이상의 베이스테이블을 기반으로 생성되었지만, 물리적으로 존재하지는 않고 단지 데이터딕셔너리에 select 구문의 형태로 정의만 되어있는 가상의 테이블이다. 2. VIEW 사용방법 CREATE VIEW 뷰명 AS SELECT 베이스테이블정보 FROM 베이스테이블명 3. VIEW 정의방법 - CREATE OR REPLACE VIEW - DROP VIEW - ALTER 구문은 없다. # SEQUENCE - 자동으로 고유한 번호를 반환해주는 번호생성기와 같은 오브젝트이다. - 특히 PRIMARY KEY, UNIQUE 제약조건의 경우에 유용하게 사용된다. 1. 시퀀스 생성 CREATE SEQUENCE *** 콤마 안찍는다! .. 2021. 10. 6.
데이터 삭제 조작어 DB || DAY14 || 테이블 삭제 관련 조작어 DROP & RECYCLEBIN, TRUNCATE, DELETE 1. RECYCLEBIN -> DROP TABLE 실행 되돌리기 # 휴지통조회하기 show recyclebin # 휴지통에 들어간 테이블 되살리기 FLASHBACK TABLE 테이블명 TO BEFORE DROP; #휴지통을 거치지 않고 테이블을 삭제하기 DROP TABLE 테이블명 PURGE; -> FLASHBACK으로 되돌릴 수 없다. 보안상 중요한 데이터를 삭제하는경우에 활용한다. 2. TRUNCATE TABLE 테이블의 구조는 남겨두고, 데이터만 삭제한다 # DELETE 와 TRUNCATE 조작어 비교 DELETE TRUNCATE 개념 특정 행만 삭제 모든 행을 삭제 문법 SQL> D.. 2021. 9. 29.
ALTER TABLE DB || DAY13 || ALTER TABLE # 테이블 1. 테이블명 변경 RENAME 기존테이블명 TO 수정한테이블명 # 컬럼 1. 컬럼 추가 ALTER TABLE 테이블명 ADD 2. 컬럼 수정 ALTER TABLE 테이블명 MODIFY 3. 컬럼 삭제 ALTER TABLE 테이블명 DROP (삭제할 컬럼명) ; 또는 ALTER TABLE 테이블명 DROP COLUMN 삭제할 컬럼명; 4. 컬럼명 변경 ALTER TABLE 테이블명 RENAME COLUMN 기존컬럼명 TO 바꿀컬럼명 # 제약조건 1. 제약조건 추가 *** 테이블을 복사해오는경우, 제약조건은 제대로 복사가 되지않고 NOT NULL조건만 복사가된다. 때문에 제약조건을 추가하는 과정이 필요하다. - 컬럼레벨 ALTER TABLE 테이블.. 2021. 9. 28.
제약조건 DB || DAY12 || 제약조건 # 제약조건 선언시기 1. 테이블 생성시 - CREATE TABLE . . . 2. 테이블 생성 후 - ALTER TABLE . . . # 제약조건의 유형 1. NOT NULL - 팔수정보인 컬럼에 선언함. 2. UNIQUE - 중복되는 데이터가 허용되지 않는 컬럼에 선언함. ex) 주민번호, 이메일 등 3. PRIMARY KEY - NOT NULL + UNIQUE 의 성격을 가짐. 4. FOREIGN KEY - 부모컬럼을 참조하는, 자식컬럼임. *** 이때, 참조대상인 부모컬럼은 PRIMARY KEY or UNIQUE 제약조건이 걸려있어야한다. # 컬럼레벨 *** FOREIGN KEY 키워드 사용하지 않음! create table . . . department_id .. 2021. 9. 13.
테이블 복사, INSERT, UPDATE, DELETE, 트랜잭션 , 치환변수 DB || DAY11 || 테이블 복사, INSERT, UPDATE, DELETE, 트랜잭션 , 치환변수 1. 기존테이블 복사하기 # 기존테이블과 같은 구조를 가지도록 복사하기 -> 데이터는 복사되지 않는다! CREATE TABLE 복사본테이블명 AS SELECT * FROM 기존테이블명 WHERE 1=2 ; # 기존테이블의 데이터를 복사하기 INSERT INTO 복사본테이블 SELECT * FROM 기존테이블명 2. UPDATE 테이블의 데이터를 수정할 때 사용한다. UPDATE 테이블명 SET 컬럼 = 값, 컬럼=값 . . . WHERE . . . 3. DELETE # 해당 행 전체를 삭제한다. DELETE FROM 테이블이름 WHERE 삭제하고 싶은 행의 조건 # WHERE 절이 없는경우 DELET.. 2021. 9. 13.