RDB/Oracle

[오라클] 기초

창문닦이 2019. 1. 16. 17:32

- EDIT

sqlplus edit 콘솔창에 입력하면 버퍼창이 뜸. (제일 최근에 입력된 명령어 저장되어있음).

커맨드 창을 통해 쿼리를 작성하다가 오타가 났을 경우, 버퍼에 있는 내용을 수정하고 alt+F4로 저장 후 실행하면 수정된 명령어가 실행됨

 

- SQL파일 실행

@mdept.sql (@파일이름.sql) 파일 읽어와서 실행됨.

@c:\abc\def\mdept.sql <해당경로에 있는 파일 실행

 

- 데이터

data < Record < Table < Tablespace < Database

tablespace: 같은 비슷한 역할을 하는 테이블끼리 모아놓은 논리적인 묶음(개념)

 

- 데이터 전송

동기종간에 데이터 전송 (여기서 exp, imp는 반드시 소문자여야함. 파일경로 유의) - 오라클 데이터베이스내의 테이블 이동

exp LEE/BOB TABLES=(CUSTOM,SALES,COMPANY,PRODUCT,RESEARCH,POINT) FILE=C:\DB\SAMPLEDB.DMP

imp LEE/BOB TABLES=(CUSTOM,SALES,COMPANY,PRODUCT,RESEARCH,POINT) FILE=D:\Oracle\SampleDB\DB\SAMPLEDB.DMP

▲TEMP TABLESPACE 에 TEMP01.DBF파일이 존재하는 것

 

▲ 데이터 FETCH시 모든 데이터 단위로 전송. (공부하면서 진행되는 데이터의 크기는 크지 않으므로 설정 변경)

 

 

 

▲ SQLPLUS 접속시 명령어

 

 

▲ 위의 명령어는 네트워크로 접속한 pc로는 작동하지 않음. (서버PC에서 사용하는 명령어)

 

 

일반적으로 회사에서는 로컬에서 접속하는게 아니라 네트워크로 접속. 접속pc는 클라이언트에 해당한다.

오라클DB를 구축 뒤 일반 사용자들은 네트워크로 접속함.

 

Q. 관리자는 로컬로 접속이 가능한가? A. X (처음구축할때 빼고는 없음)

은행컴퓨터는 로컬로 접속 안되게 해놓음 . 서버와 클라이언트 피시를 구분하여 놓은 후 오라클디비, os설치 뒤 cd-rom, 키보드, usb단자,파워 전부 다 막아놓음.

 

▲ 어떤 계정에 어느DB에 로그인이 되었는지 볼 수 있게 수정하는 방법.

SET sqlprompt “_USER’@’_CONNECT_IDENTIFIER>” 삽입.

 

 

▲ 명령어 입력시 커서 앞에 사용자명 조회됨

 

- 관리자 계정에서의 사용자 생성 및 권한 부여 방법

 

- 앞으로 공부할 내용 

 

 

① QUERY(DATA 검색어)

- SELECT - 가장 중요

② DML(DATA MANIPULATION LANGUAGE : 데이터 조작어)

- INSERT,(삽입) UPDATE(수정), DELETE(삭제)

③ DDL(데이터 정의어)

- CREATE, ALTER, DROP, RENAME

④ TCL(트랜잭션 언어 TRANSACTION LANGUAGE)

- COMMIT(exit 명령어 안에는 commit명령어가 반영되어 있음. 디비에 실행된 모든 내용을 반영.)

- ROLLBACK(실행한 내용 취소)

- SAVEPOINT(저장 지점)

⑤ DCL(권한 정의어)

- GRANT(권한 부여)

- REVOKE(권한 삭제)

 

# 언어에서는 쿼리와 DML을 CRUD 명령어라고 함. 가장 많이 사용

SAVEPOINT :  하나의 트랜잭션을 작게 분할하여 저장하는 기능.

- SAVEPOINT는 [SAVEPOINT SAVEPOINT 이름]

- 저장된 SAVEPOINT에 [ROLLBACK TO SAVEPOINT명] 문을 이용하여 해당 SAVEPOINT까지 ROLLBACK할 수 있다.

- SAVEPOINT는 하나의 트랜잭션에서 여러 개 지정이 가능하다.

 

- DISTINCT : 중복값을 제외하고 출력

 

- TEMP

TEMP라는 TABLESPACE는 반드시 필요함. 없을 경우 정렬시 시스템에서 진행되어 속도 몹시 느려짐.

TEMPORARY TABLESPACE TEMP 라는 공간을 생성해서 디비에서 용량이 부족할 경우를 대비하는 개념.

우선순위 1. PGA 2.TEMP 3.SYSTEM . 1 없으면 2 , 2 없으면 3에서 진행.

 

- 튜닝

시스템을 더 단순하고 빠르게 되도록 SQL쿼리를 수정해주는 작업. 어렵다