ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Oracle DB에서 Table Indexing이 깨졌을 때 처리 방법
    DB/Oracle 2023. 10. 6. 16:14
    반응형

    1. Table Indexing이 깨졌는지 확인합니다.

    SQL
    SELECT
      STATUS,
      TABLE_NAME,
      INDEX_NAME
    FROM
      DBA_INDEXES
    WHERE
      TABLE_NAME = 'TABLE_NAME';
    
    코드를 사용할 때는 주의하시기 바랍니다. 자세히 알아보기
    content_copy

    위의 SQL을 실행하여 Table Indexing의 상태를 확인합니다. STATUS가 "INVALID"이면 Indexing이 깨진 것입니다.

     

    2. 깨진 Indexing을 재생성합니다.

    SQL
    ALTER INDEX INDEX_NAME REBUILD;
    
    코드를 사용할 때는 주의하시기 바랍니다. 자세히 알아보기
    content_copy

    위의 SQL을 실행하여 깨진 Indexing을 재생성합니다.

     

    3. 재생성된 Indexing이 정상적으로 작동하는지 확인합니다.

    SQL
    SELECT
      COUNT(*)
    FROM
      TABLE_NAME;
    
    코드를 사용할 때는 주의하시기 바랍니다. 자세히 알아보기
    content_copy

    위의 SQL을 실행하여 Table의 레코드 수를 확인합니다. 정상적으로 작동한다면 COUNT(*)의 결과가 올바르게 나오게 됩니다.

     

    Indexing이 깨지는 원인은 다양합니다. 다음과 같은 원인으로 인해 Indexing이 깨질 수 있습니다.

    • 데이터베이스의 오류
    • 데이터베이스의 비정상 종료
    • 데이터베이스 파일의 손상
    • 데이터베이스 인덱싱 작업의 실패

    Indexing이 깨지면 Table의 성능이 저하될 수 있습니다. 따라서 Indexing이 깨졌을 경우에는 빠르게 재생성하여 Table의 성능을 회복해야 합니다.

     

    Indexing을 재생성할 때는 다음과 같은 사항을 고려해야 합니다.

     

    • Indexing의 크기
    • Indexing의 복잡도
    • Table의 트랜잭션량

    Indexing의 크기가 크고, 복잡하며, Table의 트랜잭션량이 많을 경우 재생성 시간이 오래 걸릴 수 있습니다. 따라서 이러한 경우를 고려하여 재생성 작업을 계획해야 합니다.

    반응형

    'DB > Oracle' 카테고리의 다른 글

    Table 별 데이터 사용량 체크  (0) 2024.01.25
    Toad for Oracle 단축키 지정  (0) 2023.12.19
    Oracle DB 버전 확인  (0) 2023.07.06
    DB Wrap  (0) 2023.06.28
    오라클 프로시저 , 함수 변경 이력 체크  (0) 2021.06.04

    댓글

Designed by Tistory.