본문 바로가기
프로그래밍/ORACLE

Oracle Tablespace 확인, 생성, 수정, 삭제 명령어 (테이블스페이스)

by 원피스랜드 2021. 1. 13.
반응형

Oracle TableSpace 확인, 생성, 수정, 삭제 명령어Oracle Tablespace 확인, 생성, 수정, 삭제 명령어 (테이블스페이스)

테이블스페이스가 무엇인가요? 테이블이 저장되는 공간이라고 생각 하면 됩니다.
Oracle 에서는 테이블스페이스라고 해서 테이블이 저장될 공간을 먼저 만들고 나서 테이블을 생성합니다.
각각의 테이블을 테이블스페이스별로 나누어서 관리와 성능 향상을 기대할수 있습니다.

 

사진 출처:oracle.com

Oracle tableSpace 명령어

oracel tableSpace 명령어를 아래에서 자세히 확인해보시기 바랍니다.

 

 

< Temp tablespace 확인 >
select * from dba_temp_files ;

 

< 현재 유저의 default tablespace 확인 >
select * from user_users ;

  • Defaut Tablespace로 설정된 부분을 확인

< 유저의 default tablespace 변경 >

alter user <유저명> default tablespace <테이블 스페이스명>


< 테이블의 tablespace 변경 >
alter table <테이블명> move tablespace <테이블 스페이스명>


< tablespace 수정이나 삭제시 online/offline 설정 >
alter tablespace <테이블 스페이스명> online
alter tablespace <테이블 스페이스명> offline


< tablespace의 물리적인 파일의 이름 또는 위치변경 >
alter tablespace rename A to B


< tablespace 공간관리 >

alter database datafile 'c:\경로\test.dbf' resize 10M;

  • 공간이 가득차면 실행

alter tablespace <테이블 스페이스명> add datafile 'c:\경로\test2.dbf' size 10M

autoextend on next 10M maxsize 10M;

  • 10M씩 자동증가

< tablespace 삭제 >

drop tablespace <테이블 스페이스명> include contents;
- 테이블스페이스 내의 객체(테이블,인덱스등)를 다 지운다.
drop tablespace <테이블 스페이스명> including contents;
- 테이블스페이스의 모든 세그먼트를 삭제한다.
- 단, 데이타가 있는 테이블스페이스는 삭제할수 없다.
drop tablespace <테이블 스페이스명> cascade constraints;

- 삭제된 테이블스페이스 내의 테이블의 기본키와 유일키를 참조하는
다른 테이블스페이스의 테이블로부터 참조무결성 제약 조건을 삭제한다.
drop tablespace <테이블 스페이스명> including contents and datafiles;
- 물리적파일까지 삭제한다.

 

 

[ tablespace 생성1 ]
create tablespace [테이블 스페이스명]
datafile 'c:\경로\test.dbf'
size 10M ==> 여기까지 작성하면 기본적인 사항에 대해서만 생성된다.
autoextend on next 10M ==> (옵션)데이타 파일 용량초과시 자동증가설정
maxsize 100M ==> (옵션)데이타파일 최대크기지정
extent management local ==> (옵션)
uniform size 1M ==> (옵션)

 

< tablespace 생성2 >

create tablespace <테이블 스페이스명>
datafile 'c:\경로\tes.dbf'
size 10M
default storage(
initial 80k ==> 테이블 스페이스의 맨 첫번째 extents의 크기
next 80k ==> 다음 extents의 크기
minnextents 1 ==> 생성할 extents의 최소값
maxnextents 121 ==> 생성할 extents의 최대값
pctincrease 80 ==> extents의 증가율,(Default값은 50%)
) online ;

 

 

< 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 이 불가능하다.

 


< temp tablespace를 default tablespace로 변경 >
alter database default temporary tablespace <테이블 스페이스명>

 

< 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만 가능)

 

 

참고 자료

 

  • table space의 공간이 부족할때

https://www.appletong.com/entry/oracle-오라클-table-space-공간부족-ORA-01653

 

Oracle table space 공간부족 ( ORA-01653 )

Oracle 오라클 table space 공간부족 ( ORA-01653 ) 오라클의 테이블 스페이스가 부족해서 아래와같이 에러가 나는 상황이 발생할수 있다. 1. 에러내용 : java.sql.SQLException: ORA-01653: unable to extend table ynkim.tbl

www.appletong.com

  • table lock 이 걸렸을때 조치 방법

https://www.appletong.com/entry/Oracle-테이블-잠김-풀기-테이블-락-해제-table-lock

 

Oracle - 테이블 잠김 풀기, 테이블 락 해제, table lock

Oracle - 테이블 잠김 풀기, 테이블 락 해제, table lock oracle table lock 문제가 발생해서 문제가 발생한적은 개발자라면 한번씩은 있을거라고 생각한다. 일반적으로 system 과 같은 관리자 권한이 있으면

www.appletong.com

 

반응형

댓글