Tip
2010.04.18 00:19

sysaux resize

조회 수 25290 추천 수 0 댓글 0

3가지 방법이 있는 것으로 보입니다.

1. snapshot을 drop하고 shrink하기
2. snapshot을 drop하고 export후 truncate하고 import하기
3. 완전 em을 제거를 하고 sysman 유져도 drop user cascade하고 em을 새로 구성하기...

일단 1, 2번째 방법만 말씀드리겠습니다.
가능하시면 test장비에서 수행을 해보시고 하십시오.
1번과 2번은 제가 직접 테스트를 한건 아닙니다. (다른분이 하셨음)
3번은 제가 예전에 해본적이 있음

1. drop snapshot이후 shrink 시키기

(1) drop snapshot을 통해서 snapshot을 drop합니다. :실제로 delete가 수행되기에 size는 줄지 않음..

SQL>select snap_id, begin_interval_time from dba_hist_snapshot order by 1;


SQL> execute dbms_workload_repository.drop_snapshot_range(low_snap_id=>1,high_snap_id=>112);


(2) 마지막 row로 나오는 것이 shrink의 high water mark에 포진해있는
segment입니다.


center 'Segment Extent Summary' skip 2

col ownr format a8 heading 'Owner' justify c
col type format a8 heading 'Type' justify c trunc
col name format a28 heading 'Segment Name' justify c
col exid format 990 heading 'Extent#' justify c
col fiid format 9990 heading 'File#' justify c
col blid format 99990 heading 'Block#' justify c
col blks format 999,990 heading 'Blocks' justify c

select
owner ownr,
segment_name name,
segment_type type,
extent_id exid,
file_id fiid,
block_id blid,
blocks blks
from
dba_extents
where
file_id = &file_id
order by
block_id
/

(3) shrink 수행
- table shrink
shrink는

Stage 1.
 Compact. Rows in blocks up near the HWM are relocated to the head
 of the segment but the HWM remains. The optional cascade will compact
 any indexes on the table.

ALTER TABLE <table> SHRINK SPACE COMPACT [ CASCADE ] ;

 

Stage 2.
 Release space. Lowers the HWM and releases the space back to the tablespace.
 This is a DDL change and as such requires an exclusive lock on the table and invalidates
 all cursors that reference the table.

ALTER TABLE <table> SHRINK SPACE ;


SQL> alter table WRH$_LATCH_CHILDREN shrink space cascade;

Table altered.

SQL> alter table WRH$_LATCH shrink space cascade;


- lob일 경우

lob segment check

select owner, table_name, segment_name, column_name from dba_lobs
where segment_name='SYS_LOB0000046123C00006$$';


OWNER TABLE_NAME SEGMENT_NAME
------------------------------ ------------------------------ ----------------------------------------
COLUMN_NAME
------------------------------------------------------------------------------------------------------------------------------------------------------
MDSYS SDO_COORD_OP_PARAM_VALS SYS_LOB0000046123C00006$$
PARAM_VALUE_FILE

lob segment shrink(여기에서 lob 다음에 들어가는 것은 lob이름이 아닌 컬럼이름입니다.
shrink 절 사이에 괄호를 넣어야 합니다.

SQL> alter table mdsys.SDO_COORD_OP_PARAM_VALS modify lob(PARAM_VALUE_FILE) (shrink space cascade);

Table altered.
select owner, segment_name, segment_type, extent_id, block_id from dba_extents
where file_id=3 order by extent_id
/


2. truncate로 size 줄이기 아래의 테이블은 로그성 테이블 입니다.

WRH$_* and WRM$_. M stands for metadata and H - for history

(1) snapshot drop

SQL> execute dbms_workload_repository.drop_snapshot_range(low_snap_id=>1,high_snap_id=>112);

PL/SQL procedure successfully completed.

(2) 아래가 truncate할 대상입니다.

select owner||'.'||table_name from dba_tables where tablespace_name='SYSAUX'
and ( table_name like '%WRH%' or table_name like '%WRM%') order by owner, table_name;

(3) export 수행

exp 'sys/oracle as sysdba' file=sysaux.dmp buffer=99999999 tables='(
SYS.WRH$_ACTIVE_SESSION_HISTORY_BL
,SYS.WRH$_BG_EVENT_SUMMARY
,SYS.WRH$_BUFFERED_QUEUES
,SYS.WRH$_BUFFERED_SUBSCRIBERS
,SYS.WRH$_BUFFER_POOL_STATISTICS
,SYS.WRH$_COMP_IOSTAT
,SYS.WRH$_CR_BLOCK_SERVER
,SYS.WRH$_CURRENT_BLOCK_SERVER
...

(4) truncate 수행

truncate table SYS.WRH$_ACTIVE_SESSION_HISTORY_BL ;
truncate table SYS.WRH$_BG_EVENT_SUMMARY ;
truncate table SYS.WRH$_BUFFERED_QUEUES ;
truncate table SYS.WRH$_BUFFERED_SUBSCRIBERS ;
truncate table SYS.WRH$_BUFFER_POOL_STATISTICS ;
truncate table SYS.WRH$_COMP_IOSTAT ;

(5) import 수행

imp 'sys/oracle as sysdba' fromuser=sys touser=sys ignore=y file=sysaux.dmp


 


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 Q&A Oracle관련 게시물만 Sean 2014.04.09 84902
159 Tip TEMP TABLESPACE 사용현황 조회하기 1 고구마 2010.05.19 43816
158 TM windows에서 Opatch 진행시 oci.dll 에러 조치 1 이현정 2012.03.26 37459
157 Tip 핫백업 디비올리기 유주환 2010.04.09 34980
156 Tip UDP Buffer Tuning 기법 3 김준호 2010.05.04 30913
155 Tip Log miner 사용방법 1 김준호 2010.04.06 29921
154 Tip 오라클 null값 정리 유주환 2010.04.18 29867
153 Tip (Diagnostics) Oracle10g DB 접속 안될때 sqlplus 에서 SYSTEMSTATE DUMP 받기 1 고구마 2011.05.18 29071
152 Tip shared pool wait event 2 file 유주환 2010.04.05 28881
151 Tip em 실행시 에러 발생 조치 1 dbkill 2010.12.15 27305
150 Tip 오라클11g에서 SE1,SE,EE제품의 옵션비교입니다. file perfstat 2012.03.07 27011
149 TM audit 관련 2 이현정 2012.03.29 26572
148 TM check whether crs auto start is enable or disable 담벼락 2012.10.12 26288
147 Tip EM 재구성 고구마 2010.04.09 26261
146 Tip 10g standard edition과 enterprise edition의 차이점 2 윤현 2011.05.16 26051
145 Tip Buffer Cahe 관련 대기 이벤트들 고구마 2010.04.28 25635
144 TM 테이블과 인덱스의 관계 및 인덱스 종류 및 생성 방법. Tech1 2012.03.28 25524
143 Tip EXPORT/IMPORT 이용한 TABLE과 INDEX 분리하는 방법 고구마 2010.05.24 25453
» Tip sysaux resize 유주환 2010.04.18 25290
141 Tip shared pool / library cache 고구마 2010.04.28 25066
Board Pagination Prev 1 2 3 4 5 6 7 8 Next
/ 8