데이타파일 resize 시 0 3 1,767

by 손님 [2009.03.15 03:23:41]


데이타파일이많고.. tablespace size는 resize로 size를 줄이고 싶을때

데이타 파일들을 에러가안날때까지  일일이 전부다 감으로 resize 해보는수밖에없나요?

by 타락천사 [2009.03.15 09:41:16]
select f.file_name, round(max(e.block_id)*8/1024 + max(e.blocks*8/1024) + 8/1024) "Usa", f.bytes/1024/1024 "All"
-- 8192 Block Size --> show parameters db_block_size 를 통해서 확인 가능
-- 여기서는 8192 즉, 8k이고 이것을 다시 M 로 확산 해서 총 합구하기
-- 8/1024
from dba_extents e, dba_data_files f
where e.file_id in (select file_id from dba_data_files
where tablespace_name ='USERS')
-- 이부분을 tablespace_name = '무엇무엇' 혹은
-- file_name = '무엇무엇' 으로 변경
and e.file_id = f.file_id
group by f.file_name, f.bytes/1024/1024
==> 상기의 query 를 실행 후 usa size 만큼 할당 resize 하면 딱 맞는다.
resize 이후 next extent 가 발생 하면 오류가 발생 한다....

by 손님 [2009.03.15 11:00:56]
감사합니다~ 근데 resize이후에 next extent가 안된다는건가요..?;

by 타락천사 [2009.03.15 16:43:35]
이론상으로 그렇습니다.
next extent 를 할당항 주소가 Max.block_id 보다 아래에 할당 가능하다면
더 next extent 할당 시 오류가 없구요.
max.block_id 보다 크면 오류가 발생 하겠죠..
일반적으로 그렇게 작업 하시기 전에
index rebuild, alter table .. move tablespace 를 통해서 가장 촘촘히
구성 후에 resize 하시면 효과가 가장 좋습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입