"ORACLE 테이블스페이스"의 두 판 사이의 차이
DB CAFE
3번째 줄: | 3번째 줄: | ||
---- | ---- | ||
==테이블스페이스 확인== | ==테이블스페이스 확인== | ||
+ | <source lang="sql"> | ||
SELECT * FROM DBA_DATA_FILES ; | SELECT * FROM DBA_DATA_FILES ; | ||
SELECT * FROM DBA_TABLESPACES ; | SELECT * FROM DBA_TABLESPACES ; | ||
− | + | </source> | |
==현재 유저의 DEFAULT TABLESPACE 확인== | ==현재 유저의 DEFAULT TABLESPACE 확인== | ||
+ | <source lang="sql"> | ||
SELECT * FROM USER_USERS ; | SELECT * FROM USER_USERS ; | ||
+ | </source> | ||
==> DEFAUT TABLESPACE로 설정된 부분을 확인 | ==> DEFAUT TABLESPACE로 설정된 부분을 확인 | ||
14번째 줄: | 17번째 줄: | ||
==테이블스페이스 변경== | ==테이블스페이스 변경== | ||
===유저의 DEFAULT TABLESPACE 변경=== | ===유저의 DEFAULT TABLESPACE 변경=== | ||
+ | <source lang="sql"> | ||
ALTER USER [유저명] DEFAULT TABLESPACE [테이블 스페이스명] | ALTER USER [유저명] DEFAULT TABLESPACE [테이블 스페이스명] | ||
− | + | </source> | |
===테이블의 TABLESPACE 변경=== | ===테이블의 TABLESPACE 변경=== | ||
+ | <source lang="sql"> | ||
ALTER TABLE [테이블명] MOVE TABLESPACE [테이블 스페이스명] | ALTER TABLE [테이블명] MOVE TABLESPACE [테이블 스페이스명] | ||
− | + | </source> | |
===인덱스의 TABLESPACE 변경=== | ===인덱스의 TABLESPACE 변경=== | ||
+ | <source lang="sql"> | ||
ALTER INDEX 인덱스명 REBUILD TABLESPACE [테이블 스페이스명] | ALTER INDEX 인덱스명 REBUILD TABLESPACE [테이블 스페이스명] | ||
[ PARALLEL parallel_num ] | [ PARALLEL parallel_num ] | ||
[ LOGGING or NOLOGGING ] | [ LOGGING or NOLOGGING ] | ||
; | ; | ||
− | + | </source> | |
===TABLESPACE 수정이나 삭제시 ONLINE/OFFLINE 설정=== | ===TABLESPACE 수정이나 삭제시 ONLINE/OFFLINE 설정=== | ||
+ | <source lang="sql"> | ||
ALTER TABLESPACE [테이블 스페이스명] ONLINE | ALTER TABLESPACE [테이블 스페이스명] ONLINE | ||
ALTER TABLESPACE [테이블 스페이스명] OFFLINE | ALTER TABLESPACE [테이블 스페이스명] OFFLINE | ||
− | + | </source> | |
===TABLESPACE의 물리적인 파일의 이름 또는 위치변경=== | ===TABLESPACE의 물리적인 파일의 이름 또는 위치변경=== | ||
+ | <source lang="sql"> | ||
ALTER TABLESPACE RENAME A TO B | ALTER TABLESPACE RENAME A TO B | ||
− | + | </source> | |
===TABLESPACE 사이즈 관리=== | ===TABLESPACE 사이즈 관리=== | ||
사이즈 조정 | 사이즈 조정 | ||
+ | <source lang="sql"> | ||
ALTER DATABASE DATAFILE 'C:\경로\TEST1.DBF' RESIZE 10M; | ALTER DATABASE DATAFILE 'C:\경로\TEST1.DBF' RESIZE 10M; | ||
+ | </source> | ||
==> 공간이 가득차면 실행 | ==> 공간이 가득차면 실행 | ||
데이터파일 추가 | 데이터파일 추가 | ||
+ | <source lang="sql"> | ||
ALTER TABLESPACE [테이블 스페이스명] ADD DATAFILE 'C:\경로\TEST2.DBF' SIZE 10M; | ALTER TABLESPACE [테이블 스페이스명] ADD DATAFILE 'C:\경로\TEST2.DBF' SIZE 10M; | ||
+ | </source> | ||
==> 공간이 가득차면 실행 | ==> 공간이 가득차면 실행 | ||
+ | <source lang="sql"> | ||
ALTER TABLESPACE [테이블 스페이스명] ADD DATAFILE 'C:\경로\TEST2.DBF' SIZE 10M | ALTER TABLESPACE [테이블 스페이스명] ADD DATAFILE 'C:\경로\TEST2.DBF' SIZE 10M | ||
AUTOEXTEND ON NEXT 10M MAXSIZE 10M; | AUTOEXTEND ON NEXT 10M MAXSIZE 10M; | ||
+ | </source> | ||
==> 10M씩 자동증가 | ==> 10M씩 자동증가 | ||
---- | ---- | ||
==TABLESPACE 삭제== | ==TABLESPACE 삭제== | ||
− | + | <source lang="sql"> | |
DROP TABLESPACE [테이블 스페이스명] INCLUDE CONTENTS; | DROP TABLESPACE [테이블 스페이스명] INCLUDE CONTENTS; | ||
==> 테이블스페이스 내의 객체(테이블,인덱스등)를 다 지운다. | ==> 테이블스페이스 내의 객체(테이블,인덱스등)를 다 지운다. | ||
− | + | <source lang="sql"> | |
DROP TABLESPACE [테이블 스페이스명] INCLUDING CONTENTS; | DROP TABLESPACE [테이블 스페이스명] INCLUDING CONTENTS; | ||
+ | </source> | ||
==> 테이블스페이스의 모든 세그먼트를 삭제한다. | ==> 테이블스페이스의 모든 세그먼트를 삭제한다. | ||
==> 단, 데이타가 있는 테이블스페이스는 삭제할수 없다. | ==> 단, 데이타가 있는 테이블스페이스는 삭제할수 없다. | ||
− | + | <source lang="sql"> | |
DROP TABLESPACE [테이블 스페이스명] CASCADE CONSTRAINTS; | DROP TABLESPACE [테이블 스페이스명] CASCADE CONSTRAINTS; | ||
+ | </source> | ||
==> 삭제된 테이블스페이스 내의 테이블의 기본키와 유일키를 참조하는 | ==> 삭제된 테이블스페이스 내의 테이블의 기본키와 유일키를 참조하는 | ||
다른 테이블스페이스의 테이블로부터 참조무결성 제약 조건을 삭제한다. | 다른 테이블스페이스의 테이블로부터 참조무결성 제약 조건을 삭제한다. | ||
− | + | <source lang="sql"> | |
DROP TABLESPACE [테이블 스페이스명] INCLUDING CONTENTS AND DATAFILES; | DROP TABLESPACE [테이블 스페이스명] INCLUDING CONTENTS AND DATAFILES; | ||
+ | </source> | ||
==> 물리적파일까지 삭제한다. | ==> 물리적파일까지 삭제한다. | ||
+ | |||
---- | ---- | ||
==TABLESPACE 생성== | ==TABLESPACE 생성== | ||
− | + | <source lang="sql"> | |
CREATE TABLESPACE [테이블 스페이스명] | CREATE TABLESPACE [테이블 스페이스명] | ||
DATAFILE 'C:\경로\TEST.DBF'SIZE 10M | DATAFILE 'C:\경로\TEST.DBF'SIZE 10M | ||
276번째 줄: | 294번째 줄: | ||
=템프테이블 스페이스= | =템프테이블 스페이스= | ||
==TEMP TABLESPACE 확인== | ==TEMP TABLESPACE 확인== | ||
+ | <source lang="sql"> | ||
SELECT * FROM DBA_TEMP_FILES ; | SELECT * FROM DBA_TEMP_FILES ; | ||
− | + | </source> | |
==TEMP TABLESPACE 생성== | ==TEMP TABLESPACE 생성== | ||
<source lang=sql> | <source lang=sql> | ||
288번째 줄: | 307번째 줄: | ||
(주의)AUTOALLOCATE, EXTENT MANAGEMENT DICIONARY OPTION을 사용하면 ORA-25319 ERROR 발생한다. | (주의)AUTOALLOCATE, EXTENT MANAGEMENT DICIONARY OPTION을 사용하면 ORA-25319 ERROR 발생한다. | ||
==> RENAME 이 불가능하다. | ==> RENAME 이 불가능하다. | ||
− | + | </source> | |
===TEMP TABLESPACE를 DEFAULT TABLESPACE로 변경=== | ===TEMP TABLESPACE를 DEFAULT TABLESPACE로 변경=== | ||
− | + | <source lang="sql"> | |
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE [테이블 스페이스명] | ALTER DATABASE DEFAULT TEMPORARY TABLESPACE [테이블 스페이스명] | ||
</source> | </source> | ||
==UNDO TABLESPACE 생성== | ==UNDO TABLESPACE 생성== | ||
+ | <source lang="sql"> | ||
CREATE UNDO TABLESPACE [테이블 스페이스명] ==> 이부분만 다름. | CREATE UNDO TABLESPACE [테이블 스페이스명] ==> 이부분만 다름. | ||
DATAFILE 'C:\경로\TEST_UNDO.DBF' | DATAFILE 'C:\경로\TEST_UNDO.DBF' | ||
304번째 줄: | 324번째 줄: | ||
==> 시스템에 의해 관리되는 익스텐트 할당만 사용가능하다. | ==> 시스템에 의해 관리되는 익스텐트 할당만 사용가능하다. | ||
(UNIFORMSIZE를 할당 할 수 없고 AUTOALLOCATE만 가능) | (UNIFORMSIZE를 할당 할 수 없고 AUTOALLOCATE만 가능) | ||
+ | </source> |
2018년 8월 28일 (화) 11:21 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
- 1 테이블 스페이스
- 1.1 테이블스페이스 확인
- 1.2 현재 유저의 DEFAULT TABLESPACE 확인
- 1.3 테이블스페이스 변경
- 1.4 TABLESPACE 삭제
- 1.5 TABLESPACE 생성
- 1.6 테이블스페이스 정보 확인
- 1.6.1 테이블스페이스별 파일 목록을 보기
- 1.6.2 테이블스페이스별 정보 보기
- 1.6.3 테이블스페이스별 사용하는 파일의 크기 합 보기
- 1.6.4 테이블스페이스별 디스크 사용량 보기
- 1.6.5 테이블스페이스의 테이블 명 보기
- 1.6.6 공간의 90% 이상을 사용하고 있는 Tablespace
- 1.6.7 Object별 테이블스페이스 및 데이터파일
- 1.6.8 Tablespace별 Table, Index 개수
- 1.6.9 파일위치별 테이블스페이스 아는 방법
- 1.6.10 현재 Extension 횟수가 MaxExtents의 80% 이상인 경우
- 1.6.11 테이블의 익스텐트 정보 조회
- 1.6.12 ROLLBACK SEGMENT의 사용상황 보기
- 2 템프테이블 스페이스
1 테이블 스페이스[편집]
1.1 테이블스페이스 확인[편집]
SELECT * FROM DBA_DATA_FILES ;
SELECT * FROM DBA_TABLESPACES ;
1.2 현재 유저의 DEFAULT TABLESPACE 확인[편집]
SELECT * FROM USER_USERS ;
==> DEFAUT TABLESPACE로 설정된 부분을 확인
1.3 테이블스페이스 변경[편집]
1.3.1 유저의 DEFAULT TABLESPACE 변경[편집]
ALTER USER [유저명] DEFAULT TABLESPACE [테이블 스페이스명]
1.3.2 테이블의 TABLESPACE 변경[편집]
ALTER TABLE [테이블명] MOVE TABLESPACE [테이블 스페이스명]
1.3.3 인덱스의 TABLESPACE 변경[편집]
ALTER INDEX 인덱스명 REBUILD TABLESPACE [테이블 스페이스명]
[ PARALLEL parallel_num ]
[ LOGGING or NOLOGGING ]
;
1.3.4 TABLESPACE 수정이나 삭제시 ONLINE/OFFLINE 설정[편집]
ALTER TABLESPACE [테이블 스페이스명] ONLINE
ALTER TABLESPACE [테이블 스페이스명] OFFLINE
1.3.5 TABLESPACE의 물리적인 파일의 이름 또는 위치변경[편집]
ALTER TABLESPACE RENAME A TO B
1.3.6 TABLESPACE 사이즈 관리[편집]
사이즈 조정
ALTER DATABASE DATAFILE 'C:\경로\TEST1.DBF' RESIZE 10M;
==> 공간이 가득차면 실행 데이터파일 추가
ALTER TABLESPACE [테이블 스페이스명] ADD DATAFILE 'C:\경로\TEST2.DBF' SIZE 10M;
==> 공간이 가득차면 실행
ALTER TABLESPACE [테이블 스페이스명] ADD DATAFILE 'C:\경로\TEST2.DBF' SIZE 10M
AUTOEXTEND ON NEXT 10M MAXSIZE 10M;
==> 10M씩 자동증가
1.4 TABLESPACE 삭제[편집]
DROP TABLESPACE [테이블 스페이스명] INCLUDE CONTENTS;
==> 테이블스페이스 내의 객체(테이블,인덱스등)를 다 지운다.
<source lang="sql">
DROP TABLESPACE [테이블 스페이스명] INCLUDING CONTENTS;
==> 테이블스페이스의 모든 세그먼트를 삭제한다. ==> 단, 데이타가 있는 테이블스페이스는 삭제할수 없다.
DROP TABLESPACE [테이블 스페이스명] CASCADE CONSTRAINTS;
==> 삭제된 테이블스페이스 내의 테이블의 기본키와 유일키를 참조하는 다른 테이블스페이스의 테이블로부터 참조무결성 제약 조건을 삭제한다.
DROP TABLESPACE [테이블 스페이스명] INCLUDING CONTENTS AND DATAFILES;
==> 물리적파일까지 삭제한다.
1.5 TABLESPACE 생성[편집]
CREATE TABLESPACE [테이블 스페이스명]
DATAFILE 'C:\경로\TEST.DBF'SIZE 10M
==> 여기까지 작성하면 기본적인 사항에 대해서만 생성된다.
AUTOEXTEND ON NEXT 10M
==> (옵션)데이타 파일 용량초과시 자동증가설정
MAXSIZE 100M
==> (옵션)데이타파일 최대크기지정
EXTENT MANAGEMENT LOCAL
==> (옵션)
UNIFORM SIZE 1M
==> (옵션)
===TABLESPACE 생성2===
<source lang=sql>
CREATE TABLESPACE [테이블 스페이스명]
DATAFILE 'C:\경로\TEST.DBF'
SIZE 10M
DEFAULT STORAGE(
INITIAL 80K ==> 테이블 스페이스의 맨 첫번째 EXTENTS의 크기
NEXT 80K ==> 다음 EXTENTS의 크기
MINNEXTENTS 1 ==> 생성할 EXTENTS의 최소값
MAXNEXTENTS 121 ==> 생성할 EXTENTS의 최대값
PCTINCREASE 80 ==> EXTENTS의 증가율,(DEFAULT값은 50%)
) ONLINE ;
1.6 테이블스페이스 정보 확인[편집]
1.6.1 테이블스페이스별 파일 목록을 보기[편집]
SELECT SUBSTRB(TABLESPACE_NAME, 1, 10) AS "테이블스페이스"
, SUBSTRB(FILE_NAME, 1, 50) AS "파일명"
, TO_CHAR(BLOCKS, '999,999,990') AS "블럭수"
, TO_CHAR(BYTES, '99,999,999') AS "크기"
FROM DBA_DATA_FILES ORDER BY TABLESPACE_NAME, FILE_NAME;
1.6.2 테이블스페이스별 정보 보기[편집]
SELECT A.TABLESPACE_NAME AS "TABLESPACE"
, A.INITIAL_EXTENT / 1024 AS "INIT(K)"
, A.NEXT_EXTENT / 1024 AS "NEXT(K)"
, A.MIN_EXTENTS AS "MIN"
, A.MAX_EXTENTS AS "MAX"
, A.PCT_INCREASE AS "PCT_INC(%)"
, B.FILE_NAME AS "FILE_NAME"
, B.BLOCKS * C.VALUE / 1024 / 1024 AS "SIZE(M)"
, B.STATUS AS "STATUS"
FROM DBA_TABLESPACES A
, DBA_DATA_FILES B
, V$PARAMETER C
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME AND C.NAME = 'db_block_size' ORDER BY 1, 2;
1.6.3 테이블스페이스별 사용하는 파일의 크기 합 보기[편집]
SELECT SUBSTRB(TABLESPACE_NAME, 1, 10) AS TABLESPACE
, TO_CHAR(SUM(BYTES), '9,999,999,999,990') AS BYTES
, TO_CHAR(SUM(BLOCKS), '9,999,999,990') AS BLOCKS
FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME
UNION ALL
SELECT '총계', TO_CHAR(SUM(BYTES), '9,999,999,999,990') AS BYTES, TO_CHAR(SUM(BLOCKS), '9,999,999,990') AS BLOCKS
FROM DBA_DATA_FILES;
1.6.4 테이블스페이스별 디스크 사용량 보기[편집]
SELECT A.TABLESPACE_NAME AS "TABLESPACE"
, A.INIT AS "INIT(K)"
, A.NEXT AS "NEXT(K)"
, A.MIN AS "MIN"
, A.MAX AS "MAX"
, A.PCT_INC AS "PCT_INC(%)"
, TO_CHAR(B.TOTAL, '999,999,999,990') AS "총량(바이트)"
, TO_CHAR(C.FREE, '999,999,999,990') AS "남은량(바이트)"
, TO_CHAR(B.BLOCKS, '9,999,990') AS "총블럭"
, TO_CHAR(D.BLOCKS, '9,999,990') AS "사용블럭"
, TO_CHAR(100 * NVL(D.BLOCKS, 0) / B.BLOCKS, '999.99') AS "사용율%"
FROM (SELECT TABLESPACE_NAME
, INITIAL_EXTENT / 1024 AS INIT
, NEXT_EXTENT / 1024 AS NEXT
, MIN_EXTENTS AS MIN
, MAX_EXTENTS AS MAX
, PCT_INCREASE AS PCT_INC
FROM DBA_TABLESPACES) A
, (SELECT TABLESPACE_NAME, SUM(BYTES) AS TOTAL, SUM(BLOCKS) AS BLOCKS
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) B
, (SELECT TABLESPACE_NAME, SUM(BYTES) AS FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) C
, (SELECT TABLESPACE_NAME, SUM(BLOCKS) AS BLOCKS
FROM DBA_EXTENTS
GROUP BY TABLESPACE_NAME) D
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME(+) AND A.TABLESPACE_NAME = C.TABLESPACE_NAME(+) AND A.TABLESPACE_NAME = D.TABLESPACE_NAME(+)
ORDER BY A.TABLESPACE_NAME;
1.6.5 테이블스페이스의 테이블 명 보기[편집]
SELECT TABLESPACE_NAME, TABLE_NAME
FROM USER_TABLES
WHERE TABLESPACE_NAME = UPPER('&테이블스페이스명')
ORDER BY TABLESPACE_NAME, TABLE_NAME;
1.6.6 공간의 90% 이상을 사용하고 있는 Tablespace[편집]
SELECT X.TABLESPACE_NAME
, TOTAL_SIZE / 1024 / 1024 TOTAL_SIZE
, USED_SIZE / 1024 / 1024 USED_SIZE
, (ROUND(USED_SIZE / TOTAL_SIZE, 2)) * 100 USED_RATIO
FROM (SELECT TABLESPACE_NAME, SUM(BYTES) TOTAL_SIZE
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) X
, (SELECT TABLESPACE_NAME, SUM(BYTES) USED_SIZE
FROM DBA_EXTENTS
GROUP BY TABLESPACE_NAME) Y
WHERE X.TABLESPACE_NAME = Y.TABLESPACE_NAME(+) AND Y.USED_SIZE > .9 * X.TOTAL_SIZE;
1.6.7 Object별 테이블스페이스 및 데이터파일[편집]
SELECT DISTINCT E.SEGMENT_NAME, E.TABLESPACE_NAME, F.FILE_NAME
FROM DBA_EXTENTS E
, DBA_DATA_FILES F
WHERE E.FILE_ID = F.FILE_ID
AND E.SEGMENT_TYPE = 'TABLE'
AND E.TABLESPACE_NAME NOT IN ('SYSTEM', 'TOOLS');
1.6.8 Tablespace별 Table, Index 개수[편집]
SELECT OWNER
, TABLESPACE_NAME
, SUM(DECODE(SEGMENT_TYPE, 'TABLE', 1, 0))
, SUM(DECODE(SEGMENT_TYPE, 'INDEX', 1, 0))
FROM DBA_SEGMENTS WHERE SEGMENT_TYPE IN ('TABLE', 'INDEX') GROUP BY OWNER, TABLESPACE_NAME;
1.6.9 파일위치별 테이블스페이스 아는 방법[편집]
SELECT SUBSTRB(A.FILE_NAME, 1, 40) AS FILE_NAME
, A.FILE_ID
, B.FREE_BYTES / 1024 AS FREE_BYTES
, B.MAX_BYTES / 1024 AS MAX_BYTES
FROM DBA_DATA_FILES A
, (SELECT FILE_ID, SUM(BYTES) AS FREE_BYTES, MAX(BYTES) AS MAX_BYTES
FROM DBA_FREE_SPACE
GROUP BY FILE_ID) B
WHERE A.FILE_ID = B.FILE_ID
AND A.TABLESPACE_NAME = UPPER('&테이블스페이스명')
ORDER BY A.FILE_NAME;
1.6.10 현재 Extension 횟수가 MaxExtents의 80% 이상인 경우[편집]
SELECT TABLESPACE_NAME
, OWNER
, SEGMENT_NAME
, SEGMENT_TYPE
, EXTENTS
, MAX_EXTENTS
FROM SYS.DBA_SEGMENTS S
WHERE EXTENTS / MAX_EXTENTS > .8 AND MAX_EXTENTS > 0
ORDER BY TABLESPACE_NAME, OWNER, SEGMENT_NAME;
1.6.11 테이블의 익스텐트 정보 조회[편집]
/*
오라클에서 스토리지 구조는 아래와 같다.
테이블 스페이스 -> 세그먼트 -> 익스텐트 -> 블록 -> OS 범위 -> 데이터 파일 -> 운영체제 블록
세그먼트의 이름,
해당 세그먼트의 최대 익스텐트 개수,
익스텐트 아이디
해당 세그먼트의 최대 익스텐트 개수 - 최대 익스텐트 아이디
딕셔너리 관리 테이블스페이스로 생성한 것으로 조회를 한다.
*/
SELECT B.SEGMENT_NAME
, B.MAX_EXTENTS
, MAX(C.EXTENT_ID) AS EXTENT_ID
, B.MAX_EXTENTS - MAX(C.EXTENT_ID) AS DIFF
FROM USER_TABLESPACES A
, USER_SEGMENTS B
, USER_EXTENTS C
WHERE A.EXTENT_MANAGEMENT = 'DICTIONARY'
AND B.TABLESPACE_NAME = A.TABLESPACE_NAME
AND C.SEGMENT_NAME = B.SEGMENT_NAME
GROUP BY B.SEGMENT_NAME, B.MAX_EXTENTS
HAVING B.MAX_EXTENTS - MAX(C.EXTENT_ID) <= 50
ORDER BY B.MAX_EXTENTS - MAX(C.EXTENT_ID);
1.6.12 ROLLBACK SEGMENT의 사용상황 보기[편집]
--: EXTENTS = 현재 할당된 EXTENT의 수 --: EXTENDS = 마지막 트랜잭션에 의해 할당된 EXTENT의 수
SELECT SUBSTRB(A.SEGMENT_NAME, 1, 10) AS SEGMENT_NAME
, SUBSTRB(A.TABLESPACE_NAME, 1, 10) AS TABLESPACE_NAME
, TO_CHAR(A.SEGMENT_ID, '99,999') AS SEG_ID
, TO_CHAR(A.MAX_EXTENTS, '999,999') AS MAX_EXT
, TO_CHAR(B.EXTENTS, '999,999') AS EXTENTS
, TO_CHAR(B.EXTENDS, '999,999') AS EXTENDS
, TO_CHAR((A.INITIAL_EXTENT + (B.EXTENTS - 1) * A.NEXT_EXTENT) / 1000000, '9,999.999') AS "ALLOC(MB)"
, TO_CHAR(XACTS, '9,999') AS XACTS
FROM DBA_ROLLBACK_SEGS A
, V$ROLLSTAT B
WHERE A.SEGMENT_ID = B.USN(+) ORDER BY 1;
2 템프테이블 스페이스[편집]
2.1 TEMP TABLESPACE 확인[편집]
SELECT * FROM DBA_TEMP_FILES ;
2.2 TEMP TABLESPACE 생성[편집]
CREATE TEMPORARY TABLESPACE [테이블 스페이스명]
TEMPFILE 'C:\경로\TEST_TEMP.DBF'
SIZE 10M
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 512K
==> LOCALY MANAGED TABLESPACE NUIFORM SIZE만 생성가능하다.
(주의)AUTOALLOCATE, EXTENT MANAGEMENT DICIONARY OPTION을 사용하면 ORA-25319 ERROR 발생한다.
==> RENAME 이 불가능하다.
2.2.1 TEMP TABLESPACE를 DEFAULT TABLESPACE로 변경[편집]
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE [테이블 스페이스명]
2.3 UNDO TABLESPACE 생성[편집]
CREATE UNDO TABLESPACE [테이블 스페이스명] ==> 이부분만 다름.
DATAFILE 'C:\경로\TEST_UNDO.DBF'
SIZE 10M
AUTOEXTEND ON NEXT 10M
MAXSIZE 100M
==> UNDO_MANAGEMENT와 UNDO_TABLESPACE, UNDO_RETENTION PARAMETER를 제공
==> 지역적으로 관리되는 익스텐트만 사용가능
==> 시스템에 의해 관리되는 익스텐트 할당만 사용가능하다.
(UNIFORMSIZE를 할당 할 수 없고 AUTOALLOCATE만 가능)