오라클의 테이블스페이스

byeol·2022년 10월 4일
0
post-thumbnail

나는 뉴렉처님의 오라클 강의 들으면서
도대체 이 테이블스페이스는 DB와 차이가 무엇일까
또한 오라클은 DBMS인데 그러면 이 DB은 어디에 놓여지는 것인가? 에 대한 궁금증도 해결해보려고 한다.

DB VS. Tablespace

이 그림을 보면 쉽게 이해할 수 있을것이다.
Tablespace들의 모임이 Database가 될것이다.
sql developer를 이용해 보면 이 내용이 좀 더 구체적으로 다가올 것이다.
일단 DBA는 테이블 스페이스를 만드는데 만들 때 테이블들이 저장될 공간을 지정한다.
즉 실제 물리적 공간이라는 것이다.

그렇다면 DB와 Tablespace가 같은 거 아니냐? 라고 물어볼 수 있겠다.
하지만 다른 것이다.
Tablespace는 Data file이라는 물리적 파일 형태가 하나 이상 모여 있는 논리적 저장 공간이다.

예를 들어보자 DBA는 임시 A_Tablespace, 영구 A_ParTablespae 이렇게 두개를 사용하는 사용자 A , 임시 B_Tablespace, 영구 B_ParTablespae 이렇게 두개를 사용하는 사용자 B에게 Tablespace를 운영할 수 있는 권한을 주었다.

이제 오라클 PCB 서버에 A, B라는 사용자를 등록하면 이제 이 서버 즉 이 데이터 베이스에는 임시 A_Tablespace, 영구 A_ParTablespae , 임시 B_Tablespace, 영구 B_ParTablespae가 들어있는 논리적 개념의 DB가 만들어지는 것이다.

하나 더 배우면서 생겼던 궁금증을 해결해보고자 한다.

cdbroot:CDB여러PDB의관리를위한시스템카탈로그들이위치하는곳,컨테이너DBpdbroot :CDB 여러 PDB의 관리를 위한 시스템카탈로그들이 위치하는 곳, 컨테이너 DB pdbseed : CDB에 있는 또 다른 DB, 이는 플러그인 가능한 PDB를 생성하는데 쓰이는 비어 있는 템플릿 PDB다.

그리고 처음에 오라클을 설치할 때 먼저 만들어져 있는 연습용 PDB XEPDB1이 있다.

이렇게 서비스이름을 설정하여 PDB XEPDB1에 sys계정으로 접속이 가능하다.
여기서 sys계정으로 접속이 가능한 이유는 오라클 설치와 동시에 이미 생성되어 있는 관리자 계정 중 최고 권한을 갖고 있는 계정이기 때문에 저 DB에 접속이 가능한 것이다.

우리가 오라클을 다루다 보면 하나의 DB에 여러 개의 서버를 만드는 경우가 있는데
이는 사용자마다 다른 서버를 이용한다고 보면 될 것이다.

따라서 만약에 다른 세션(하나의 다른 창)에서 다른 사용자(같은 서버를 이용하는 같은 종류의 사용자 B)은 동시성에 대한 조절을 위해서 commit과 rollback의 영향을 받게 된다.

profile
꾸준하게 Ready, Set, Go!

0개의 댓글