Oracle 9i之后,数据库存在有三个预定义自动维护任务,分别是: Automatic Optimizer Statistics Collection(自动优化器统计信息收集); Automatic Segment Advisor(自动段指导); Automatic SQL Tuning Advisor(自动 SQL 优化指导)。 AutomaticOptimizer Statistics Collection作用于收集数据库中所有无统计信息或仅有过时统计信息的 Schema 对象的 Optimizer(优化器)统计信息。 AutomaticSegment Advisor作用于识别有可用回收空间的段,并提出如何消除这些段中的碎片的建议。也可以手动运行Segment Advisor 获取更多最新建议,或获取 Automatic SegmentAdvisor 没有检查到的那些有可能做空间回收的段的建议。 AutomaticSQL Tuning Advisor用于检查高负载 SQL 语句的性能,并提出如何优化这些语句的建议。 那关于系统自动维护任务如何启用与禁用? 可以使用DBMS_AUTO_TASK_ADMIN包来进行自动任务的启用或禁用
启用任务: BEGIN dbms_auto_task_admin.enable( client_name=> 'sql tuning advisor', operation=> NULL, window_name=> NULL); END; 禁用任务: BEGIN dbms_auto_task_admin.disable( client_name=> 'sql tuning advisor', operation=> NULL, window_name=> NULL); END; 自动维护任务状态查看 查询统计信息自动收集任务的启动状态: selectclient_name,status from dba_autotask_client; 查询统计信息自动收集任务的运行情况: selectclient_name,job_name,job_start_time from dba_autotask_job_history; 自动维护任务的相关视图: DBA_AUTOTASK_CLIENT DBA_AUTOTASK_CLIENT_HISTORY DBA_AUTOTASK_CLIENT_JOB DBA_AUTOTASK_JOB_HISTORY DBA_AUTOTASK_OPERATION DBA_AUTOTASK_SCHEDULE DBA_AUTOTASK_TASK DBA_AUTOTASK_WINDOW_CLIENTS DBA_AUTOTASK_WINDOW_HISTORY |