====== 사전관리 ======
===== 목표 =====
- 사용자에게 영향을 미치기 전에 일반적인 문제를 해결할 수 있도록 데이타베이스를 사전에 모니터링 합니다.
- 데이타베이스 진단관리(ADDM : Automatic Database Diagnotic Management) 환경에서 테스트를 진행합니다.
===== 테이블스페이스 생성 =====
- 로컬관리방식의 TBSADDM 테이블스페이스를 생성합니다.
- 해당 addm1.dbf 데이타파일은 50M입니다.
- ASSM(Automatic Segment Space Management)를 사용하지 않도록 설정합니다.
===== 사용자 생성 =====
- ID/PW가 ADDM/ADDM 인 사용자를 생성합니다.
- TBSADDM 이 기본 테이블스페이스이며, TEMP 가 임시 테이블스페이스로 지정합니다.
- ADDM 사용자에게 CONNECT,RESOURCE 및 DBA 롤을 부여합니다.
===== 테이블 통계 수집 =====
- DBMS_ADVISOR 패키지를 이용하여 데이타베이스 작업시간을 30분으로 설정합니다.
- ADDM 사용자로 ADDM 테이블을 삭제 -> 생성 후 이 테이블의 통계를 수집합니다.
- AWR(Automatic Workload Repository)에 스냅샷을 생성합니다.
===== Performance =====
- EM의 Performance 페이지를 연다.
- 15초마다 refresh 하여 실시간 성능 데이타를 확인한다.
- **Average Active Sessions** 그래프에 스파이크가 표시되면, 그 내용을 분석한다.
===== Performance Analysis =====
- Database Home 페이지로 이동한 후 아래쪽의 **Advisor Central**을 누릅니다.
- ADDM 을 선택한 후, **View Result**를 누른다.
- ADDM 상의 Recommendations 에서 아래의 내용을 확인한다.
Consider using ORACLE's recommended solution of automatic segment space management
in a locally managed tablespace for the tablespace "TBSADDM" containing the TABLE "ADDM.ADDM" with object id 57202.
Alternatively, you can move this object to a different tablespace
that is locally managed with automatic segment space management.
\\ ADDM 테이블에 ASSM 기능을 사용하도록 권장하고 있다.
===== 테이블스페이스 생성 =====
- ASSM 을 사용하는 테이블스페이스를 생성한다.
===== 재 테스트 =====
- 이전과 다른 상황을 볼 수 있다.
- ** 더 이상 스키마 관련 권장 사항이 없다. ** \\ 해결완료.
====== 성능관리 ======
===== 이슈 =====
- 특정 작업성능이 보통이하로 나타나고 있습니다.
- 조사해 본 결과 HR 스키마에 속하는 일부 테이블에 대해 유지관리가 수행되어 발생한 문제라고 합니다.
- 적절한 대책을 수립해 봅니다.
===== 유지관리작업 =====
- 유지관리 작업을 수행합니다.
ALTER TABLE HR.EMPLOYEES MOVE;
- employees 테이블에 몇가지 유지관리 작업을 수행한다.
===== 작업수행 =====
- 특정 쿼리가 정상적인 시간보다 오래걸린다고 합니다.
===== 실행계획확인 =====
- Performance 페이지에서 실행계획을 확인한다.
===== 인덱스확인 =====
- 비정상적인 인덱스를 확인해 본다.
SELECT INDEX_NAME, TABLE_NAME, STATUS
FROM USER_INDEXES WHERE STATUS <> 'VALID';
===== Index Reorganize =====
===== 작업 재수행 =====
- 실행계획을 확인해 본다.
===== instance 작업로드 시뮬레이트 =====
- 현재 SID 값을 확인한다.
- CPU와 I/O 로드를 발생하는 작업을 실행한다.
- 작업을 확인하려면 특정시간(1~2분)을 대기해야 한다.
- 해당 세션을 **Kill Session** 시킨다.
====== 실습스크립트 ======
- http://www.adminschool.net/oracle_docs/seminar/seminar080316.tar.gz