Oracle/Oracle Script

<< Datafile Resize Script >>

darkturtle26 2018. 11. 5. 18:44

 

<< Datafile Resize Script  >>

참조 : Bulletin 10165

 

<<전제 조건 >>

*.  Block Size : 8192 

** . Resize 는 현재 사이즈 * 1.1

 

<< 참고 >>

 

2022.12.07 - [Oracle/Oh Oracle ] - 데이타의 급격한 증가 시 확인 방법 FROM AWR

 

-- 2022/12/07 resize 할일이 있는데 과거 스크립트가 작동 안함 ㅇㅇ;;
-- !! 주의 db_block_size = 8192 로 하드 코딩함  !!

select value from v$parameter where name = 'db_block_size' ;
select TABLESPACE_NAME, a.file_id,  file_name, 
ceil( (nvl(hwm,1)*8192)/1024/1024 ) smallest, 
ceil( blocks*8192/1024/1024) currsize, 
ceil( blocks*8192/1024/1024) - 
ceil( (nvl(hwm,1)*8192)/1024/1024 ) savings 
, 'ALTER DATABASE DATAFILE '''||file_name||''' RESIZE ' ||ceil( (nvl(hwm,1)*8192)/1024/1024 ) || 'm;' cmd 
from dba_data_files a, 
( select file_id, max(block_id+blocks-1) hwm 
from dba_extents 
group by file_id ) b 
where a.file_id = b.file_id(+) 
ORDER BY  savings DESC ;