Oracle® 10g는 PERMANENT와 같은 필수 속성이 있는 SYSAUX라는 새로운 필수 테이블스페이스를 도입했습니다. , 읽기 쓰기 ,지역 관리 및 세그먼트 공간 관리 자동 . 이 포스트에서는 이 테이블스페이스가 커짐에 따라 관리하는 방법을 살펴봅니다.
소개
SYSAUX 테이블스페이스를 사용하여 다음 작업을 수행할 수 있습니다.
- 설치 및 제거 옵션으로 인한 SYSTEM 테이블스페이스 조각화를 방지합니다.
- SYSTEM 테이블스페이스 손상 및 공간 부족 상황의 위험을 방지합니다.
- 데이터베이스 관리자의 유지 관리를 줄입니다.
- 다음 항목과 같은 Oracle 옵션 및 기능과 관련된 모든 보조 데이터베이스 메타데이터에 대한 테이블스페이스를 저장 및 축소합니다.
SYSAUX 거주자
다음 예와 같이 쿼리할 수 있는 26명의 SYSAUX 점유자가 있습니다.
SQL> select OCCUPANT_NAME,OCCUPANT_DESC
from V$SYSAUX_OCCUPANTS
order by SPACE_USAGE_KBYTES desc
다음 이미지와 같이 최신 버전의 Oracle Database가 더 많은 버전을 추가했습니다.
다음 이미지는 각 OracleDatabase 버전에 추가되거나 더 이상 사용되지 않는 구성 요소를 보여줍니다.
사전 SYSAUX 테이블스페이스 관리
SYSAUX 테이블스페이스를 사전 예방적으로 모니터링하고 관리하려면 다음 작업을 수행하십시오.
-
SYSAUX 테이블스페이스를 AUTOEXTEND 끄기로 설정합니다. .
-
STATISTICS_LEVEL 확인 가치.
- The **ALL** value is sometimes resource-intensive. - The **Basic** and **Typical** values tend to consume fewer resources.
-
권고자, 기준선 및 SQL 튜닝 집합을 사용하는 방법을 확인합니다. 어드바이저는 스냅샷 범위를 삭제하려는 경우에도 스냅샷의 정보를 유지해야 합니다.
-
쿼리를 실행하여 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;
움직임을 사용합니다. 이동하지 않는 한 점유자를 다른 테이블스페이스로 이동하는 프로시저 명령 절차가 null입니다.
다음 예는 XYZ 테이블스페이스에서 WKSYS 점유자를 이동합니다.
SQL> execute WKSYS.MOVE_WK(‘XYZ’);
활성 세션 기록(ASH) 확인
다음 스크립트를 사용하여 ASH가 AWR 데이터에서 더 많은 공간을 사용하는지 확인하십시오.
SQL> @$ORACLE_HOME/rdbms/admin/awrinfo.sql
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);
값이 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 테이블스페이스 기본 점유자의 공간 증가를 모니터링 및 관리하고 테이블스페이스에 잘못 저장된 기본이 아닌 객체를 식별하는 방법에 대한 제안을 제공합니다.
데이터베이스 서비스에 대해 자세히 알아보십시오.
피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 저희와 대화를 시작할 수도 있습니다.