Computer >> 컴퓨터 >  >> 프로그램 작성 >> 데이터 베이스

SYSAUX 테이블스페이스 관리

Oracle® 10g는 PERMANENT와 같은 필수 속성이 있는 SYSAUX라는 새로운 필수 테이블스페이스를 도입했습니다. , 읽기 쓰기 ,지역 관리세그먼트 공간 관리 자동 . 이 포스트에서는 이 테이블스페이스가 커짐에 따라 관리하는 방법을 살펴봅니다.

소개

SYSAUX 테이블스페이스를 사용하여 다음 작업을 수행할 수 있습니다.

  • 설치 및 제거 옵션으로 인한 SYSTEM 테이블스페이스 조각화를 방지합니다.
  • SYSTEM 테이블스페이스 손상 및 공간 부족 상황의 위험을 방지합니다.
  • 데이터베이스 관리자의 유지 관리를 줄입니다.
  • 다음 항목과 같은 Oracle 옵션 및 기능과 관련된 모든 보조 데이터베이스 메타데이터에 대한 테이블스페이스를 저장 및 축소합니다.
SYSAUX 테이블스페이스 관리

SYSAUX 거주자

다음 예와 같이 쿼리할 수 있는 26명의 SYSAUX 점유자가 있습니다.

SQL> select OCCUPANT_NAME,OCCUPANT_DESC
     from V$SYSAUX_OCCUPANTS
     order by SPACE_USAGE_KBYTES desc
SYSAUX 테이블스페이스 관리

다음 이미지와 같이 최신 버전의 Oracle Database가 더 많은 버전을 추가했습니다.

SYSAUX 테이블스페이스 관리

다음 이미지는 각 OracleDatabase 버전에 추가되거나 더 이상 사용되지 않는 구성 요소를 보여줍니다.

SYSAUX 테이블스페이스 관리 SYSAUX 테이블스페이스 관리

사전 SYSAUX 테이블스페이스 관리

SYSAUX 테이블스페이스를 사전 예방적으로 모니터링하고 관리하려면 다음 작업을 수행하십시오.

  1. SYSAUX 테이블스페이스를 AUTOEXTEND 끄기로 설정합니다. .

  2. STATISTICS_LEVEL 확인 가치.

    - The **ALL** value is sometimes resource-intensive.
    - The **Basic** and **Typical** values tend to consume fewer resources.
    
  3. 권고자, 기준선 및 SQL 튜닝 집합을 사용하는 방법을 확인합니다. 어드바이저는 스냅샷 범위를 삭제하려는 경우에도 스냅샷의 정보를 유지해야 합니다.

  4. 쿼리를 실행하여 SYSAUX 테이블스페이스에서 가장 많은 공간을 차지하는 sysaux_occupant를 확인합니다.

교정 SYSAUX 테이블스페이스 관리

SYSAUX 테이블스페이스는 다음과 같은 이유로 증가합니다.

  • 보존 기간을 과도하게 설정했습니다.
  • 세그먼트 어드바이저가 너무 커집니다.
  • 활성 세션 기록(ASH)이 너무 커집니다.

다음 섹션에서는 몇 가지 개선 조치를 제공합니다.

AWR 보유 기간 확인

이를 관리하려면 AWR(Automatic Workload Repository) 스냅샷의 보존 기간을 확인하십시오. AWR은 문제 감지 및 성능 조정을 위한 성능 통계를 수집하고 메모리 및 데이터베이스 테이블에 세부 정보를 저장합니다. 시스템은 보유 기간에 따라 저장된 데이터를 삭제합니다. 보유 기간이 너무 길면 이 데이터가 SYSAUX 테이블스페이스에서 더 많은 공간을 소비합니다. 따라서 적절한 보존 기간을 설정해야 합니다. 다음 쿼리를 사용하여 보존 기간을 확인하십시오.

SQL> SELECT retention FROM dba_hist_wr_control;

DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS를 사용하여 보존을 수동으로 변경할 수 있습니다. 절차. 다음 예에서는 보존 기간을 5760분(또는 4일:4일 * 하루 24시간 * 시간당 60분 =5760분)으로 설정합니다.

SQL> execute DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT(RETENTION=>5760);

SYSAUX 테이블스페이스에서 가장 큰 개체 확인

다음 쿼리를 실행하여 테이블스페이스에서 가장 큰 점유자를 식별합니다.

SQL> select OCCUPANT_NAME, SCHEMA_NAME, MOVE_PROCEDURE, SPACE_USAGE_KBYTES
     from v$sysaux_occupants;
SYSAUX 테이블스페이스 관리

움직임을 사용합니다. 이동하지 않는 한 점유자를 다른 테이블스페이스로 이동하는 프로시저 명령 절차가 null입니다.

다음 예는 XYZ 테이블스페이스에서 WKSYS 점유자를 이동합니다.

SQL> execute WKSYS.MOVE_WK(‘XYZ’);

활성 세션 기록(ASH) 확인

다음 스크립트를 사용하여 ASH가 AWR 데이터에서 더 많은 공간을 사용하는지 확인하십시오.

SQL> @$ORACLE_HOME/rdbms/admin/awrinfo.sql
SYSAUX 테이블스페이스 관리

ASH 사용량은 1.1%로 허용됩니다. 높으면 분리된 ASH 행을 삭제합니다. 다음 쿼리를 사용하여 분리된 행을 확인합니다.

SQL> SELECT COUNT(1) Orphaned_ASH_Rows FROM wrh$_active_session_history a
     WHERE NOT EXISTS (SELECT 1 FROM wrm$_snapshot WHERE snap_id  = a.snap_id
     AND dbid= a.dbid AND instance_number = a.instance_number);
SYSAUX 테이블스페이스 관리

값이 0보다 크므로 삭제하십시오. 다음 쿼리를 사용하여 고아가 됩니다.

SQL> DELETE FROM wrh$_active_session_history a WHERE NOT EXISTS
     (SELECT 1 FROM wrm$_snapshot WHERE snap_id = a.snap_id
     AND dbid = a.dbid AND instance_number = a.instance_number);

그런 다음 다음 쿼리를 실행하여 WRH$_ACTIVE_SESSION_HISTORY를 축소합니다. 여유 공간을 확보하기 위한 테이블:

 SQL> alter table WRH$_ACTIVE_SESSION_HISTORY shrink space;

결론

이번 포스트에서는 SYSAUX 테이블스페이스를 소개합니다. 또한 SYSAUX 테이블스페이스 기본 점유자의 공간 증가를 모니터링 및 관리하고 테이블스페이스에 잘못 저장된 기본이 아닌 객체를 식별하는 방법에 대한 제안을 제공합니다.

데이터베이스 서비스에 대해 자세히 알아보십시오.

피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 저희와 대화를 시작할 수도 있습니다.