☞ Tablespace 할당 관리 |
● Tablespace의 저장 영역 설정 변경 ● 빈영역 병합 |
♣ Tablespace의 저장영역 설정 변경 |
▶ 데이타베이스 작업을 보다 융통성 있게 해줌 ▶ 테이블 생성시 설정한 매개변수를 변경하지 않고 Tablespace에 앞으로 생성할 개체의 기본사양 변경 가능 ▶ 명령 : ALTER TABLEAPCE 변경 ▶ 권한 : ALTER TABLEAPCE 권한 필요 ▶ 예] sp_test1의 기본 저장 영역을 변경 변경전 SQL> CREATE TABLESPACE sp_test DATAFILE '/oracle_data/sp_test1.dbf' SIZE 5M DEFAULT STORAGE( INITIAL 50K NEXT 50K MINEXTENTS 2 MAXEXTENTS 50 PCTINCREASE 0) OFFLINE; 변경후 SQL> ALTER TABLESPACE sp_test DEFAULT STORAGE( INITIAL 50K NEXT 50K MINEXTENTS 2 MAXEXTENTS 50 PCTINCREASE 50); |
♣ 빈 영역의 병합 |
▶ Tablespace Segment 영역은 Extent(Block의 모임)에 의해 관리 ▶ Tablespace Segment 영역에 새로운 Extent를 할당하는 경우 가장 크기가 유사한 영역을 사용하므로, 큰 빈 영역은 작은 영역으로 나누어지고, 작은 빈 영역은 큰영역으로 병합되어짐 ▶ SMON(시스템 모니터) 프로세스가 Tablespace의 작은 빈 Extent를 병합 ▶ 영역의 단편화가 심한 경우(연속적인 영역이 디스크 상에서 비연속적으로 저장) 빈영역을 단일 영역 트랜잭션으로 병합가능 · 8번째 병합을 하면 영역 트랜잭션을 Commit되고, 다른 트랜잭션은 영역을 할당하거나 해체함 ▶ Tablespace 병합시 ALTER TABLESPACE 권한 필요 ▶ 예] Tablespace 단위로 모든 사용가능한 빈 Extent 영역을 큰 Extent 영역으로 병합 SQL> ALTER TABLESPACE sp_test COALESCE; |
♣ Tablespace 정보보기 |
▶ Tablespace 병합가능한 Extent영역에 대한 정보는 DBA_FREE_SPACE_COALESCED 뷰를 사용SQL> SELECT * FROM DBA_FREE_SPACE_COALESCED; TABLESPACE_NAME TOTAL_EXTENTS EXTENTS_COALESCED PERCENT_EXTENTS_COALESCED TOTAL_BYTES BYTES_COALESCED TOTAL_BLOCKS BLOCKS_COALESCED PERCENT_BLOCKS_COALESCED SYSTEM 8 8 100 1521664 1521664 743 743 100 USER_DATA 1 1 100 1859584 1859584 908 908 100 ROLLBACK_DATA 1 1 100 3090432 3090432 1509 1509 100 TEMPORARY_DATA 1 1 100 2095104 2095104 1023 1023 100 SP_TEST 1 1 100 5240832 5240832 2559 2559 100 |
'프로그래밍 > DB' 카테고리의 다른 글
Altering Tablespace Availability (0) | 2007.11.27 |
---|---|
Tablespace 관리에 대한 지침사항 (0) | 2007.11.27 |
Tablespace 생성 (0) | 2007.11.27 |
[펌] 오라클 TableSpace 및 사용자 생성 (0) | 2007.11.27 |
[펌] 오라클 9i R2의 Table Compression (0) | 2007.11.27 |