Oracle tablespace
참고자료
table space 조회
SYSTEM 계정으로 들어가서
select tablespace_name, file_name, bytes/1024/1024 from dba_data_files where tablespace_name = '테이블명'
--------------------------------------------------------------
* Tablespace 상태변경
--------------------------------------------------------------
alter tablespace 이름 online;
alter tablespace 이름 offline normal;
(system tablespace, 활성롤백세그먼트를 가진 tablespace는 offline할수없다.)
--------------------------------------------------------------
* Tablespace 삭제순서
--------------------------------------------------------------
1. alter tablespace 이름 offline normal;
2. drop tablespace 이름 including contents cascade constraints;
3. OS 상에서 직접 해당 데이타파일들을 삭제.
--------------------------------------------------------------
* Tablespace 크기변경
--------------------------------------------------------------
- tablespace에 데이타파일 추가.
(alter tablespace 이름 add datafile `데이타파일절대경로` size 100M;)
- tablespace에 있는 데이타파일의 크기 변경 (수동)
(alter database datafile `데이타파일절대경로` resize 100M;)
(축소하는 경우는 데이타가 들어 있는 경우 하한선 이하로 내려가지는 않는다.)
- tablespace에 있는 데이타파일의 크기 변경 (자동)
(alter database datafile `데이타파일절대경로` autoextend on next 10M maxsize 200M;)
--------------------------------------------------------------
* Datafile 이동
--------------------------------------------------------------
- alter tablespace 명령어 사용
(비system tablespace 의 데이타파일 이동)
(tablespace는 offline상태여야 한다)
1. alter tablespace 이름 offline normal;
2. OS 상에서 직접 해당 데이타파일을 copy, move 한다.
3. alter tablespace 이름 rename datafile `원본data파일절대경로` to `옮길data파일절대경로`;
4. alter tablespace 이름 online;
- alter database 명령어 사용
(system tablespace, 비system tablespace의 데이타파일 이동에 둘다 사용가능)
(oracle mount 상태여야 한다)
1. 오라클 종료.
2. OS 상에서 직접 해당 데이타파일을 copy, move 한다.
3. 오라클 마운트한다.
4. alter database rename file `원본데이타파일절대경로` to `옮길데이타파일절대경로`;
5. 오라클 오픈.
--------------------------------------------------------------
* tablespace를 읽기전용으로 만들기.
--------------------------------------------------------------
alter tablespace 이름 read only;
(이 tablespace에대해 기존에 수행중이던 트랜잭션이 모두 끝난후 완전한 readOnly 로 바뀐다.)
--------------------------------------------------------------
* 특정 table을 다른 Tablespace 로 옮기는 방법.
--------------------------------------------------------------
alter table 테이블명 move tablespace 테이블스페이스명;
--------------------------------------------------------------
* 특정 index를 다른 Tablespace 로 옮기는 방법.
--------------------------------------------------------------
alter index 인텍스명 rebuild tablespace 테이블스페이스명;
--------------------------------------------------------------
* 참고 DataDictionary
--------------------------------------------------------------
V$TABLESPACE, V$DATAFILE, V$TEMPFILE
DBA_TABLESPACES, DBA_DATA_FILES, DBA_TEMP_FILES
USER_SEGMENTS
DBA_USER
DBA_TS_QUOTAS
History
Last edited on 01/14/2008 18:32 by benelog
Comments (0)