Oracle 색인 조각 및 데이터 시트 공간 사용 현황 조회
select index_name, c.NMB " ", d.SMB " " from (select index_name, round((select num_rows numrows from dba_tables where table_name = upper('tableName') AND owner = upper('ownerName')) / ((8192 - 819.2 - 4 - 20 - 72 - 32) / ((sum(AVG_COL_LEN)) + 2 + 18)) * 8192 / 1024 / 1024) NMB from (SELECT b.index_name index_name, a.column_name, a.AVG_COL_LEN AVG_COL_LEN FROM dba_tab_columns a, (select b.index_name, b.column_name, b.index_owner from dba_ind_columns b where b.table_name = upper('tableName') and B.INDEX_OWNER = upper('ownerName') order by b.index_name) b WHERE a.TABLE_NAME = upper('tableName') AND A.OWNER = upper('ownerName') and a.column_name = b.column_name order by b.index_name) group by index_name) c, (SELECT segment_name, round(sum(bytes) / 1024 / 1024) SMB FROM dba_segments WHERE OWNER = upper('ownerName') group by segment_name) d where c.index_name = d.segment_name;
색인 조각 이 심 하면 색인 재 구축:--ALTER INDEX indexName rebuild online nologging; DECLARE CURSOR myCur IS select INDEX_NAME from user_indexes WHERE TABLE_NAME=upper('tableName') AND INDEX_TYPE='NORMAL'; v_cname myCur% rowtype; vsSql varchar2(256); begin open myCur; loop fetch myCur into v_cname; exit when myCur% notfound; vsSql:='ALTER INDEX ' || v_cname.INDEX_NAME || ' rebuild online nologging'; EXECUTE IMMEDIATE vsSql; end loop; close myCur; end;
지정 한 데이터 테이블 의 공간 분배 와 실제 사용 상황 보기:select ta.Used_Blocks, tt.* from ( SELECT COUNT(DISTINCT DBMS_ROWID.ROWID_BLOCK_NUMBER(rowid) || DBMS_ROWID.ROWID_RELATIVE_FNO(rowid)) as Used_Blocks FROM tableName ) ta cross join ( select t.* from user_segments t where t.segment_type = 'TABLE' and t.segment_name = upper('tableName') order by t.blocks desc ) tt;
데 이 터 를 대량으로 삭제 한 후의 높 은 수위 선 은 표 스캐닝 성능 문 제 를 일 으 키 고 데이터 공간 을 방출 한다.-- , alter table tableName enable row movement; alter table tableName shrink space cascade; alter table tableName disable row movement;
http://www.cnblogs.com/linjiqin/archive/2012/01/15/2323030.html
http://blog.csdn.net/wyzxg/article/details/5631721
첨부, 통계 정보 업데이트, 캐 시 비우 기--analyze table : analyze table my_table compute statistics; --OR EXEC DBMS_STATS.gather_table_stats(ownname => 'socct', tabname =>'tableName', estimate_percent =>100, cascade =>true, method_opt => 'for all columns size auto'); -- ( ),Command window : alter system flush shared_pool; alter system flush buffer_cache;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.