1. Oracle DB의 저장공간인 dbf(database file)
오라클 데이터 저장 단위 중 가장 상위에 있는 단위를 테이블 스페이스라고 한다.
데이터 저장 단위는 물리적, 논리적단위로 나눌 수 있다.
물리적 단위는 파일을 의미하고 논리적 단위는 데이터블록 -> 익스텐트 -> 세그먼트 -> 테이블스페이스로 나뉜다.
데이터 블록 여러개가 모여 익스텐트 하나를 만들고, 익스텐트 여러개가 모여 하나의 세그먼트를 구성하며, 테이블스페이스는 가장 최상위 개념의 데이터 공간이다.
이 테이블 스페이스가 저장되는 곳을 오라클에서는 .dbf / M*SQL에서는 table이라 불린다.
우리가 DB에 접근하기 위해선 데이터가 저장될 데이터파일(.dbf; 물리적 저장단위)을 만든 뒤 테이블 스페이스(논리적 저장단위)가 만들어지고, 그 스페이스에 접근할 계정이 만들어져야한다.
사용자들은 계정에 로그인하여, DB에 접근을 한다.
그리고 이 DB에 접근할 수 있는 가장 최고의 권한을 가진 계정을 최고관리자 계정이라고 한다.
● [최고관리자 계정]
- Oracle : system 또는 sys
- Maria DB : root
- MS-SQL : sa
● [DCL명령어] Data Control Language 제어어
- 사용자가 별로 쓸일 없음. 호스팅 업체가 주로 사용
- grant 사용자 접근 권한 부여
- revoke 사용자 접근 권한 취소
- deny 특정 사용자만 접근 차단
2. 계정 만들어보기
이제 직접 계정을 만들어보자!
계정을 만들기 이전에 현재 나의 db의 계정들을 확인하고 .dbf 부터 만들어보자.
1) 계정 생성시 세션 변경하기
계정을 생성할 때는 아래의 코드를 입력하여 세션을 변경해야한다.
alter session set "_ORACLE_SCRIPT"=true;
이는 오라클 12c부터는 공통계정 앞에 c## 키워드를 붙이도록 네이밍 규칙이 바뀌었기 때문이다.
c## 이 붙어야 하는 이유는 CDB(Container DB)와 PDC(Pluggable DB)의 개념이 등장해서라고 한다.
자세한 개념은 더 찾아봐야할 것 같다.
2) 사용자 계정 목록 확인하기
계정 목록 안에 관리자 계정인 system과 sys가 들어있는 것을 확인할 수 있다.
select username from all_users;
3) 테이블 스페이스(dbf; 테이블의 저장 공간) 생성
아래의 코드를 사용하여 테이블 스페이스를 만들어보자.
형식) create tablespace 테이블스페이스이름
datafile '데이터파일경로' size 초기사이즈
autoextend on
next 자동증가사이즈
maxsize 최대사이즈;
4) 테이블 스페이스에 사용자 계정 생성하기
사용자 계정을 생성하는 코드의 형식은 아래와 같다.
형식) create user 아이디 identified by 비번
default tablespace 테이블스페이스이름;
이것으로 사용자 계정을 임시로 만들어보자.
create user java202207 identified by 1234
default tablespace java202207;
이제 만들어진 사용자 계정으로 로그인을 해보자(신남!!)
...안된다(시무룩)...
왜냐하면 계정에 대한 권한 부여가 아직 이루어지지 않았기 때문이다.
5) java202207 계정에 모든 권한 부여하기
grant connect, resource, dba to java202207;
이제 sqlplus에서도 정상적으로 로그인이 된다.
6) 계정 삭제하기
계정을 생성할 수 있다면 당연히 삭제할 수도 있다.
drop user java202207 cascade;
commit; -- 커밋은 센스
7) 테이블 스페이스 종류 확인하기
형식)
select tablespace_name, contents from dba_tablespaces;
테이블 스페이스의 종류도 확인할 수 있다.
permanent 형식은 삭제하지 않는 이상 영구히 지속되는 계정이란 뜻이다.
(저건 테이블 스페이스다, 계정을 삭제했는데 왜 있찌!!?! 하고 놀라지 말아라* 경험담 맞다)
8) 테이블 스페이스 삭제하기
마지막으로 테이블 스페이스를 삭제하는 방법을 알아보자.
형식) drop tablespace 테이블스페이스명
including contents and datafiles
cascade constraints;
여기까지가 Oracle DB에서 .dbf 파일을 만들고 테이블 스페이스를 만든 뒤 계정을 생성하는 방법이었다.
'⁂ Oracle DB > : 기본 익히기' 카테고리의 다른 글
[Oracle] #6-4 프로시져(PL/SQL (Procedural Language)) (0) | 2022.08.30 |
---|---|
[Oracle] #6-3 뷰(View) (0) | 2022.08.30 |
[Oracle] #6-1 SQL Developer로 CSV파일 가져오기 (0) | 2022.08.29 |
[Oracle] #5-3 rownum으로 페이징하기 (0) | 2022.08.29 |
[Oracle] #5-2 조인(Join) (0) | 2022.08.26 |