본문 바로가기
DB

tablespace, schema, user, table 간의 관계

by cook_code 2023. 10. 15.

오라클 데이터베이스 기준 데이터베이스, 스키마, 유저, 테이블 간의 관계

테이블 스페이스, 유저, 스키마

테이블 스페이스는 오라클 서버 단위로 생성됩니다.
유저는 하나의 테이블 스페이스를 가질 수 있습니다.
유저가 하나의 테이블 스페이스를 할당 받으면,
해당 테이블 스페이스 내에 자신만의 테이블 생성 공간인 스키마가 생깁니다.
이 공간은 유저의 이름과 매핑됩니다.

테이블

테이블명은 유저 이름 + 테이블명 조합으로 결정됩니다.
만약 SCOTT이라는 유저에 BOARD 라는 테이블이 있다면
해당 테이블은 실제로 SCOTT.BOARD 라는 이름을 갖습니다.
SCOTT 유저로 접속했을 때 BOARD 라는 테이블을 검색하면 오라클은 자동으로 접속한 유저에 해당하는 테이블을 조회합니다.
이러한 이유로 같은 테이블 스페이스 내에서 유저가 다르다면 같은 테이블 명을 쓸 수 있습니다.

유저 간 테이블 접근 권한

유저들끼리는 기본적으로 다른 유저 테이블 영역에 접근이 불가합니다.
접근해야 한다면 다른 유저 테이블에 권한을 할당해주어야 합니다.
DBA 권한을 할당한다면 모든 사용자의 테이블에 접근하는 것도 가능한데,
사용자별로 테이블 리스트가 조회되기 때문에 관리가 까다로워질 수 있습니다.

DBMS 별 특징

MS-SQL에서는 스키마를 유저와 별개로 관리할 수 있습니다.
스키마 관리용 유저를 만들어 전체 스키마를 관리하는 것이 가능합니다.
오라클에서는 스키마가 유저 단위로 자동 생성되고, 변경이 불가합니다.
따라서 소규모 시스템에 성격별로 유저를 각각 생성하게 되면 관리에 어려움이 따릅니다.

참고 블로그

https://m.blog.naver.com/catchbug/20129719270

반응형

'DB' 카테고리의 다른 글

데이터백업이란? .dmp와 .csv 백업의 차이  (0) 2023.11.08
ESCAPE SEQUENCE  (2) 2023.10.24
MYSQL 실행 안될 때  (2) 2023.10.15
MYSQL 비밀번호 분실 시 대처방법  (0) 2023.10.15
오라클 계정 LOCK 해제  (0) 2023.10.15