일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- intellij
- 오라클튜닝
- SQLP
- leetcode215
- 리트코드215
- 로버트C마틴
- 알고리즘
- SQLD
- 클린코드
- 데이터모델링
- database
- 파이썬
- SQL튜닝의시작
- B*Tree인덱스구조
- db
- join
- 리눅스
- B*Tree인덱스
- heapq
- table full scan
- RAC
- Oracle
- index fast full scan
- B*Tree
- 결합인덱스구조
- clean code
- 오라클
- 클린 코드
- 조인
- 친절한SQL튜닝
- Today
- Total
개발노트
[Oracle] Tablespace 본문
Tablespace 조회
dba_tablespaces : 모든 tablespace 목록
SQL> get tbs1
1 select tablespace_name, block_size, max_size/1024/1024, status, contents, logging, extent_management, allocation_type, segment_space_management
2* from dba_tablespaces
SQL> @tbs1
TABLESPACE_NAME BLOCK_SIZE MAX_SIZE/1024/1024 STATUS CONTENTS LOGGING EXTENT_MANAGEMENT ALLOCATION_TYPE SEGMENT_SPAC
-------------------- ---------- ------------------ ------------------ -------------------- ------------------ -------------------- ------------------ ------------
SYSTEM 8192 2048 ONLINE PERMANENT LOGGING LOCAL SYSTEM MANUAL
SYSAUX 8192 2048 ONLINE PERMANENT LOGGING LOCAL SYSTEM AUTO
UNDOTBS1 8192 2048 ONLINE UNDO LOGGING LOCAL SYSTEM MANUAL
TEMP 8192 2048 ONLINE TEMPORARY NOLOGGING LOCAL UNIFORM MANUAL
USERS 8192 2048 ONLINE PERMANENT LOGGING LOCAL SYSTEM AUTO
dba_data_files : tablespace file 목록
SQL> get tbs2
1 select tablespace_name, file_name, file_id, bytes/1024/1024 "mb"
2* from dba_data_files
SQL> @tbs2
TABLESPACE_NAME FILE_NAME FILE_ID mb
-------------------- -------------------------------------------------- ---------- ----------
SYSTEM C:\APP\ORACLE\ORADATA\PROD\SYSTEM01.DBF 1 810
SYSAUX C:\APP\ORACLE\ORADATA\PROD\SYSAUX01.DBF 3 490
UNDOTBS1 C:\APP\ORACLE\ORADATA\PROD\UNDOTBS01.DBF 5 535
USERS C:\APP\ORACLE\ORADATA\PROD\USERS01.DBF 7 5
INVENTORY C:\APP\ORACLE\ORADATA\PROD\INVENTORY01.DBF 8 100
dba_temp_files :temporary tablespace 목록
SQL> get tbs3
1 select tablespace_name, file_name, file_id, bytes/1024/1024 "mb"
2* from dba_temp_files
SQL> @tbs3
TABLESPACE_NAME FILE_NAME FILE_ID mb
-------------------- -------------------------------------------------- ---------- ----------
TEMP C:\APP\ORACLE\ORADATA\PROD\TEMP01.DBF 1 32
Permanent Tablespace 생성
create tablespace [테이블스페이스명]
datafile '파일경로'
size [초기 파일 크기]
autoextend on next [자동으로 증가할 파일 크기] -- 옵션
maxsize [파일 최대크기] -- 옵션
extent management local -- 옵션
uniform size [Extent 1개의 크기] -- 옵션
SQL> create tablespace inventory
2 datafile 'C:\APP\ORACLE\ORADATA\PROD\inventory01.dbf'
3 size 100m
4 uniform size 1m
5 ;
테이블스페이스가 생성되었습니다.
SQL> get tbs1
1 select tablespace_name, block_size, max_size/1024/1024, status, contents, logging, extent_management, allocation_type, segment_space_management
2* from dba_tablespaces
SQL> @tbs1
TABLESPACE_NAME BLOCK_SIZE MAX_SIZE/1024/1024 STATUS CONTENTS LOGGING EXTENT_MANAGEMENT ALLOCATION_TYPE SEGMENT_SPAC
-------------------- ---------- ------------------ ------------------ -------------------- ------------------ -------------------- ------------------ ------------
SYSTEM 8192 2048 ONLINE PERMANENT LOGGING LOCAL SYSTEM MANUAL
SYSAUX 8192 2048 ONLINE PERMANENT LOGGING LOCAL SYSTEM AUTO
UNDOTBS1 8192 2048 ONLINE UNDO LOGGING LOCAL SYSTEM MANUAL
TEMP 8192 2048 ONLINE TEMPORARY NOLOGGING LOCAL UNIFORM MANUAL
USERS 8192 2048 ONLINE PERMANENT LOGGING LOCAL SYSTEM AUTO
INVENTORY 8192 2048 ONLINE PERMANENT LOGGING LOCAL UNIFORM AUTO
6 행이 선택되었습니다.
Temporary Tablespace 생성
create temporary tablespace [테이블스페이스명]
tempfile '파일경로'
size [초기 파일 크기]
extent management local -- 옵션(지역관리 임시 테이블스페이스로 생성)
- uniform size [Extent 1개의 크기] -- 옵션
- autoallocate -- 옵션(Extent 크기 자동할당)
SQL> create temporary tablespace temporary01
2 tempfile 'C:\APP\ORACLE\ORADATA\PROD\temporary01.tmp'
3 size 100m
4 autoextend on;
테이블스페이스가 생성되었습니다.
SQL> get tbs3
1 select tablespace_name, file_name, file_id, bytes/1024/1024 "mb"
2* from dba_temp_files
SQL> @tbs3
TABLESPACE_NAME FILE_NAME FILE_ID mb
-------------------- -------------------------------------------------- ---------- ----------
TEMP C:\APP\ORACLE\ORADATA\PROD\TEMP01.DBF 1 32
TEMPORARY01 C:\APP\ORACLE\ORADATA\PROD\TEMPORARY01.TMP 2 100
Temporary Tablespace
종류
1. 일반 테이블스페이스를 임시 테이블스페이스로 사용
2. 임시 테이블스페이스
3. 지역 관리 임시 테이블스페이스
Extent 관리
일반 테이블스페이스
사용자별로 임시 Segment 를 생성해서 사용하게 되며, Sort 작업 종료시 임시 Segment를 할당 해제하는 작업이 동반하게 된다. Sement 할당 해제는 SMON 에 의해 수행된다.
임시 테이블스페이스와 지역관리 임시 테이블스페이스
하나의 임시 세그먼트를 모든 유저가 공유하여 Sort 작업을 한다. 따라서 임시 Segment 할당 해제를 하지 않는다.
Disk Access
일반 테이블스페이스, 임시 테이블스페이스
일반적인 access
지역관리 임시 테이블스페이스
Direct access 방식으로, SGA 를 이용하지 않고 User Process 와 Direct Access 를 수행하여 속도가 빠르고 부하를 줄일 수 있다.
'Database > Oracle' 카테고리의 다른 글
Oracle RAC (0) | 2022.07.19 |
---|---|
Instance 구성 (0) | 2022.07.19 |
Oracle 서버 기동 상태 (0) | 2022.07.19 |
[Oracle] 메모리 구조 (0) | 2022.06.26 |
[Oracle] User 관리 (0) | 2022.06.23 |