/* Via SQL Access Advisor (SAA) you get recommendations to tune the specific SQL statements by creating materialized views, partitions or indexes (b-tree, bitmap and function-based). */
난이도: ★★★☆☆
문제 1: DBA_OBJECTS 테이블과 DBA_EXTENTS 테이블을 토대로 두 개의 새 테이블을 생성하고, 오브젝트 별로 extent 수를 count하는 SQL문을 실행하여라. 그리고 SQL Tuning Set을 생성하여, 이를 토대로 SQL Access Advisor을 schedule하여라. SQLACCESS_WAREHOUSE 템플릿을 사용하여, 인덱스 생성이나 Materialized View 및 Partitioning에 관련된 recommendation을 수집하라. Recommendation이 있다면, 추천사항대로 실행한 후 다시 실행계획을 확인해 보아라. (20분)
1. 조건에 맞는 테이블을 생성하고, 오브젝트의 extents의 수를 count하는 SQL문을 실행한다.
conn c##ryu/asdf0930k;
CREATE TABLE tbl_mv_objects
AS
SELECT *
FROM dba_objects
WHERE object_id IS NOT NULL;
INSERT INTO tbl_mv_objects
SELECT * FROM tbl_mv_objects;
/
/
CREATE TABLE tbl_mv_extents
AS
SELECT *
FROM dba_extents;
INSERT INTO tbl_mv_extents
SELECT * FROM tbl_mv_extents;
/
/
COMMIT;
EXEC DBMS_STATS.GATHER_TABLE_STATS(USER, 'tbl_mv_objects');
EXEC DBMS_STATS.GATHER_TABLE_STATS(USER, 'tbl_mv_extents');
SELECT /* RYU */ a.object_name, COUNT(extent_id)
FROM tbl_mv_objects a, tbl_mv_extents b
WHERE a.object_name = b.segment_name
GROUP BY a.object_name;
2. 방금 실행한 SQL문을 STS로 만들고, SQL Access Advisor을 실행한다.














3. recommendation 내용을 수행하고, 실행계획을 확인해 본다. (생략)
'Oracle > OCM Journey' 카테고리의 다른 글
6-11 Performance Management - Configure baseline templates (Comparing AWR Captures) (0) | 2023.07.04 |
---|---|
6-10 Performance Management - Use SQL Performance Analyzer (0) | 2023.07.04 |
6-8 Performance Management - Use SQL Tuning Advisor (0) | 2023.06.30 |
6-7 Performance Management - Using SQL tuning tools and features (0) | 2023.06.27 |
6-6 Performance Management - Interpret execution plan (1) | 2023.05.04 |