暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle 19c的数据库dba_hist_snapshot为空的问题排查

原创 伟鹏 2024-07-04
155

执行如下sql显示为空

select * from dba_hist_snapshot;
*当检查dba_hist_snapshot时发现其为空,这意味着没有快照数据被捕获。这可能是由于当前数据库是从之前的数据库里面克隆过来的,之前数据库的信息未被正确清除,或者当前的快照范围设置不正确导致的。为了解决这个问题,可以按照以下步骤进行操作:* 
  1. 清除之前数据库的信息: 首先,运行以下命令以移除旧的数据库注册信息。这将确保新的快照能够正常捕获。

    exec dbms_swrf_internal.unregister_database(1605079870);
  2. 删除现存的所有快照: 使用以下命令来移除当前的快照范围,确保开始和结束的快照ID以及数据库ID正确无误。这将确保不会有重复或错误的快照数据。

    dbms_workload_repository.drop_snapshot_range(low_snap_id=>13024, high_snap_id=>13134, dbid=>2512975401);
  3. 手动创建新的快照: 通过运行以下命令,可以创建一个新快照。这将确保有新的数据可用于分析和监控。

    exec dbms_workload_repository.create_snapshot();
  4. 调整自动收集快照的周期并进行测试: 修改收集间隔至30分钟,并保留数据5天。这将确保系统定期收集快照,同时避免过多存储不必要的数据。

    exec dbms_workload_repository.modify_snapshot_settings(interval=>30, retention=>5*24*60);
  5. 检查当前收集周期设置: 执行以下查询以确认当前的收集设置。这将帮助您了解系统的快照收集频率和保留时间。

    select * from dba_hist_wr_control;
  6. 修改基线保留时间: 更新系统移动窗口基线的大小至7天,以确保它大于或等于保留时间。这将确保基线数据在保留期内可用,以便进行性能基准测试和监控任务。

    exec dbms_workload_repository.modify_baseline_window_size(7);

    或者,如果需要设置一个比基线时间更长的保留期(例如8天),可以使用以下命令:

    exec dbms_workload_repository.modify_snapshot_settings(interval=>30, retention=>10*24*60);

通过上述步骤,您应该能够成功调整Oracle数据库中的AWR快照设置,从而有效地管理性能基准测试和监控任务。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论