重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛
标题: DBA_AUTOTASK_TASK和DBA_AUTOTASK_CLIENT的区别 [打印本页]
作者: ZhangQi 时间: 2026-5-15 17:08
标题: DBA_AUTOTASK_TASK和DBA_AUTOTASK_CLIENT的区别
在查看 Oracle 自动维护任务时,发现:
SELECT client_name,status FROM dba_autotask_task;
CLIENT_NAME STATUS
----------------------------------- --------
auto optimizer stats collection ENABLED
auto space advisor ENABLED ← 这里显示 ENABLED
sql tuning advisor ENABLED ← 这里也显示 ENABLED
SELECT client_name,status FROM dba_autotask_client;
CLIENT_NAME STATUS
----------------------------------- --------
auto optimizer stats collection ENABLED
auto space advisor DISABLED ← 这里却是 DISABLED
sql tuning advisor DISABLED ← 这里也是 DISABLED
问题来了:同一个任务,为什么两个视图显示的状态不一样?到底哪个说了算?
一、核心区别:一个是"功能",一个是"开关"
DBA_AUTOTASK_TASK - 功能定义表(系统级)
- 这是 Oracle 预定义的 3 种自动维护任务类型
- 始终存在,无法删除
- 代表:Oracle 提供了这个能力
- 类比:手机里的 "相机应用"(硬件支持)
DBA_AUTOTASK_CLIENT - 客户端配置表(实例级)
- 控制这些任务在当前数据库中是否实际运行
- 可以动态启用/禁用
- 代表:这个功能开没开
- 类比:相机应用的 "权限开关"(允不允许用)
二、看懂关系