Tip
2010.04.19 23:12

DATAFILE SIZE 줄이는 계산

조회 수 13520 추천 수 0 댓글 1

DATAFILE SIZE를 줄이는 방법
=====================

 

PURPOSE
-------


Explanation
-----------
기존의 datafile을 resize하여 늘리거나 줄일 수 있습니다.
datafile size를 증가하는 경우는 disk에 free space만 있다면 다음과 같이 간단합니다.
다음과 같이 늘리면 되나 줄일 경우는 계산을 하여 줄여야 합니다.

<Bulletin No: 10165> 참고

SQL>alter database datafile   '/oracle/dbs/toolsORA.dbf' resize 100M;


줄이실 경우는 주의가 필요합니다. 만일 지정한 size만큼 data가 있다면
error가 발생되고 resize되지 않습니다.

SQL> alter database datafile   '/oracle/dbs/toolsORA.dbf' resize 100M;
alter database datafile   '/oracle/dbs/toolsORA.dbf' resize 100M'
*
ERROR at line 1:
ORA-03297: file contains used data beyond requested RESIZE value


방법1
-------

1) 줄이고자하는 file id를 확인합니다.

SVRMGR> select file_id, file_name from dba_data_files;

2) 얼마를 사용했는지 확인합니다.

SVRMGR> select block_id, blocks from dba_extents
     2> where file_id='FILE_ID' order by block_id;

FILE_ID 대신에 줄이려는 file id를 기술합니다.

3)현재 사용중이 db block size를 확인합니다.

SVRMGR> show parameter db_block_size

만일 2048일 경우 다음과 같이 계산합니다.

2)에서 조회된 마지막의 block_id, blocks 값을 가지고 계산합니다.
block_id * 2048 + blocks * 2048 의 결과에 한 block더한 값만큼만 줄이는
것이 가능합니다.
만일 마지막으로 조회된 값이 block_id가 578261, blocks가 515일 경우
578261*2048 + 515*2048 =1185333248로 최소한 1.2GB이상은 써야 합니다.

4) 실제 datafile을 줄입니다.

svrmgr>alter database datafile   '/oracle/dbs/toolsORA.dbf' resize
1200M;


방법 2
-------

1) 기존의 data export
exp username/password file=filename owner=username log=username.log

2) tablespace drop

svrmgr>drop tablespace tbs including contents;
rm datafile

tbs대신에 작게 만드시려는 tablespace name을 기술합니다.
datafile대신에 tablespace와 연계된 모든 datafile을 remove합니다.

3) tablespace재생성
svrmgr>create tablespace tbs
             datafile '...' size 100M;
원하시는 size로 줄입니다.

4) data import
imp username/password file=filename fromuser=username touser=username
commit=y log=imp.log

Example
-------


Reference Documents

  • 유주환 2010.04.22 14:58

    실제 줄일 때 감으로 사이즈를 줄이는데 경우가 많은데 위 내용을 이용하면 유용하겠네요


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 Q&A Oracle관련 게시물만 Sean 2014.04.09 84911
100 Tip Windows 32bit OS 메모리 제약과 Oracle 에서 추가메모리 사용하도록 흑수건 2011.09.04 15774
99 Tip 권한주기 고구마 2010.04.23 15742
98 TM UPDATABLE SNAPSHOT 구축하기 고구마 2010.08.23 15507
97 Tip 10G rollback시간 예상하기 고구마 2010.04.09 15246
96 TM SQL튜닝 실무사례 1 1 file 고구마 2010.04.28 14800
95 Tip 오라클 튜닝 세미나자료 (메모리) file 고구마 2010.04.28 14662
94 Tip DB계정에 profile설정 perfstat 2011.01.05 14594
93 Tip 쿼리 튜닝 사례 고구마 2011.03.21 14449
92 Tip 11g alertlog 1 흑수건 2011.10.06 14423
91 TM 11G new feature SQL performance analyzer 1 file Sean 2013.01.09 14332
90 TM 엔지니어필수품 file perfstat 2011.03.03 14117
89 Tip 오라클 튜닝 세미나 자료(IO) 1 file 고구마 2010.04.28 13930
88 TM 11g newfeature (dbca) 2 file 윤현 2011.12.27 13922
87 Tip 오라클상세 버젼 확인하기 lsinventory 고구마 2011.09.14 13846
86 TM replication table 다른 tablespace 로 옮기기 고구마 2010.08.23 13822
85 Tip SHRINK 와 MOVE 의 특징 김준호 2010.03.31 13661
» Tip DATAFILE SIZE 줄이는 계산 1 고구마 2010.04.19 13520
83 Tip SESSION KILL에 대하여 고구마 2010.04.09 13469
82 Tip DML_DDL_로그기록_체크 유주환 2010.04.19 13437
81 Tip 오라클 제품 비교 file 송기성 2011.05.22 13417
Board Pagination Prev 1 2 3 4 5 6 7 8 Next
/ 8