Segment Advisor for TABLESPACES using DBMS_ADVISOR
The
segment advisor performs analysis on the fragmentation of specified
tablespaces, segments or objects and makes recommendations on how space can be
reclaimed. The advisor is accessible from Enterprise Manager (Home > Advisor
Central > Segment Advisor) or from PL/SQL by using the DBMS_ADVISOR package:
Segment Advisor Using DBMS_ADVISOR:
-- Create a segment advisor task for the BU_HIS_LOG_TBS tablespace.
DBMS_ADVISOR.create_task (
advisor_name => 'Segment Advisor',
task_name => 'USERS_SEGMENT_ADVISOR4',
task_desc => 'Segment Advisor For USERS');
DBMS_ADVISOR.create_object (
task_name => 'USERS_SEGMENT_ADVISOR4',
object_type => 'TABLESPACE',
attr1 => 'BU_HIS_LOG_TBS', --
attr2 => NULL,
attr3 => NULL,
attr4 => 'null',
attr5 => NULL,
object_id => l_object_id);
DBMS_ADVISOR.set_task_parameter (
task_name => 'USERS_SEGMENT_ADVISOR4',
parameter => 'RECOMMEND_ALL',
value => 'TRUE');
DBMS_ADVISOR.execute_task(task_name => 'USERS_SEGMENT_ADVISOR4');
END;
/
Display the Findings:
SELECT f.task_name,
f.impact,
o.type AS object_type,
o.attr1 AS schema,
o.attr2 AS object_name,
f.message,
f.more_info
FROM dba_advisor_findings f
JOIN dba_advisor_objects o
ON f.object_id = o.object_id
AND f.task_name = o.task_name
WHERE f.task_name IN ('USERS_SEGMENT_ADVISOR4')
ORDER BY f.task_name, f.impact DESC;
___________________________________________________________________________
Comments
Post a Comment