-
SQL_TABLESPACE 연결, 확인 & DATA DICTIONARY (2)Data Base_Oracle/SQL 2020. 1. 13. 22:27
TABLESPACE 연결
§ 형식
▶ 계정 연결
[ SQL> create user 계정명 identified by 암호 default tablespace 테이블스페이스명; ]※ 해당 계정에서 만든 모든 테이블, 뷰, 시퀀스 등이 연결한 테이블스페이스에 저장됨
▶ 테이블 연결
[ SQL> create table 테이블명 tablespace 테이블스페이스명; ]※ 따로 설정하지 않으면 [tablespace users]가 생략된 상태로 테이블이 생성됨
→ 작업 내용이 USERS 테이블스페이스에 저장# 예제
▶ sys 계정에서 oradata2를 테이블스페이스로 갖는 kim2 유저 생성
[ SQL> create user kim2 identified by kim2 default tablespace oradata2;
사용자가 생성되었습니다. ]※ kim2계정에서 작업한 모든 내용은 oradata2 테이블스페이스에 저장됨
▶ sys 계정에서 oradata2를 테이블스페이스로 갖는 t2테이블 생성
[ SQL> create table t2(c1 number) tablespace oradata2;
테이블이 생성되었습니다. ]※ t2테이블에서 작업한 내용은 oradata2 테이블스페이스에 저장
▶ kim2 계정에서 oradata2를 테이블스페이스로 갖는 test테이블 생성
[ SQL> create table test(id number);
테이블이 생성되었습니다. ]※ kim2 계정은 기본 테이블스페이스로 oradata2가 연결되어 있기 때문에
테이블을 생성하면 자동으로 oradata2에 저장됨
TABLE SPACE 확인_DATA DICTIONARY
※ user_users
해당 계정과 계정에 연결된 테이블스페이스의 정보를 담고 있는 Oracle 시스템 테이블
▷ [ SQL> desc user_users ]
이름 널? 유형 USERNAME NOT NULL VARCHAR2(30) USER_ID NOT NULL NUMBER ... ... ... DEFAULT_TABLESPACE NOT NULL VARCHAR2(30) TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30) ... ... ... ※ user_tables
해당 계정의 테이블과 연결된 테이블스페이스 정보를 갖고 있는 Oracle 시스템 테이블
▷ [ SQL> desc user_tables ]
이름 널? 유형 TABLE_NAME NOT NULL VARCHAR2(30) TABLESPACE_NAME VARCHAR2(30) ... ... ... # 예제
▶ kim2 계정에서 현재 계정과 계정에 연결되어 있는 default tablespace 확인
[ SQL> select username,default_tablespace from user_users; ]USERNAME DEFAULT_TABLESPACE KIM2 ORADATA2 ▶ kim2 계정 내의 테이블과 테이블에 연결되어 있는 tablespace 확인
[ SQL> select table_name,tablespace_name from user_tables; ]TABLE_NAME TABLESPACE_NAME TEST ORADATA2
테이블스페이스를 계정/테이블에 연결하고, 연결된 테이블스페이스를 확인하는 방법에 대해 알아보았습니다.
작업 내용 또는 계정에 따른 저장 공간의 분리가 필요하다면 테이블스페이스를 사용할 수 있겠습니다.
'Data Base_Oracle > SQL' 카테고리의 다른 글
SQL_TABLESPACE_DATAFILE 병렬 연결 & 삭제 (0) 2020.01.14 SQL_TEMPORARY TABLESPACE & AUTOEXTEND (0) 2020.01.14 SQL_TABLESPACE 개요, 생성 & DATA DICTIONARY (1) (0) 2020.01.13 SQL 데이터 복원 | FLASHBACK (0) 2020.01.13 SQL_RECYCLE BIN | DATA DICTIONARY (0) 2020.01.13