728x90
Segment Advisor 란?
- Advisor가 감지한 세그먼트 관련 데이터를 기반한 신뢰성있는 적합성 평가 수행
- 재구성이 필요한 대상을 자동으로 선별해주어 관리효율성 제고
- 선별된 대상에 대해 분석을 수행하고 개선권고 사항까지 도출함으로써 성능개선 계획수립에 활용가능
※ 해당 기능은 DB 서버 부하와 같은 운영상의 이유로 Disable 한 경우도 있으니 활성화 되어 있지 않다면 담당자와 협의후 Enable을 진행하기 바람
1. Auto Segment Advisor 사용
① auto space advisor(=segment advisor) 활성화 상태 확인
SQL > SELECT CLIENT_NAME, OPERATION_NAME, STATUS FROM DBA_AUTOTASK_OPERATION; CLIENT_NAME OPERATION_NAME STATUS ------------------------------------------------------ auto space advisor auto space advisor job DISABLED |
② auto space advisor 활성화
SQL > EXEC DBMS_AUTO_TASK_ADMIN.ENABLE(client_name=>'auto space advisor', operation=> NULL, window_name=>NULL); |
③ auto space advisor JOB이 등록되었는지 확인
SQL > SELECT JOB_NAME, SCHEDULE_TYPE, SCHEDULE_NAME FROM DBA_SCHEDULER_JOBS; |
▼ 수일동안 Advisor가 분석 수행
④ auto space advisor 분석 결과 확인
SQL > SELECT TABLESPACE_NAME, SEGMENT_OWNER, SEGMENT_NAME, SEGMENT_TYPE, ALLOCATED_SPACE, USED_SPACE, RECLAIMABLE_SPACE, RECOMMENDATIONS, C1, C2, C3 FROM TABLE(DBMS_SPACE.ASA_RECOMMENDATIONS('FALSE','FALSE','FALSE')) WHERE SEGMENT_NAME IN ('TABLE1','TABL2'..) // 확인코자하는 TABLE이 있을 경우 |
⑤ 완료 후 auto space advisor 비활성화
SQL > EXEC DBMS_AUTO_TASK_ADMIN.DISFSABLE(client_name=>'auto space advisor', operation=> NULL, window_name=>NULL); |
2. Manual하게 Segment Advisor 수행
Auto Segment Advisor를 Enable할 수 없다면 선별된 세그먼트 오브젝트에 대하여 수동으로 Advisor를 적용해본다.
1) task 생성
DECLARE seg_task_id number; seg_task_name varchar2(100); seg_task_desc varchar2(500); BEGIN seg_task_name := 'jpkimtest'; seg_task_desc := 'Manual Segment Advisor Run for table TESTTABLE'; dbms_advisor.create_task ( advisor_name => 'Segment Advisor', task_id => seg_task_id, task_name => seg_task_name, task_desc => seg_task_desc); END; |
2) task 정의
※ 주의사항 : attribute는 반드시 대문자 사용
DECLARE obj_id number; BEGIN dbms_advisor.create_object ( task_name => 'jpkimtest', object_type => 'TABLE', // 분석할 Segment Type. INDEX 일 수도 있음 attr1 => 'ORACLE', // OWNER attr2 => 'TESTTABLE', // TABLE NAME attr3 => NULL, attr4 => NULL, attr5 => NULL, object_id => obj_id); END; |
3) JOB 등록
BEGIN dbms_advisor.set_task_parameter( task_name => 'jpkimtest', parameter => 'recommend_all', value => 'TRUE'); END; |
4) JOB 실행
exec dbms_advisor.execute_task('jpkimtest'); |
'PaaS > Data' 카테고리의 다른 글
InfluxDB 설치하기 (0) | 2022.10.22 |
---|---|
Data Mesh란? (0) | 2022.08.16 |
ElasticSearch-Filebeat 인덱스 이름 Custom하게 변경 (0) | 2022.08.08 |
ElasticSearch 색인성능 최적화 (0) | 2022.07.24 |
ElasticSearch 운영하기 (0) | 2022.07.24 |