oracle+生成snapshot,ORACLE的snapshot 快照

1、查看快照:

select SNAP_ID,dbid,SNAP_LEVEL,BEGIN_INTERVAL_TIME from dba_hist_snapshot order by SNAP_ID;

2、手工创建快照

begin

DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(flush_level IN VARCHAR2 DEFAULT 'TYPICAL');

end;

flush_level 参数

Flush level 可以是 'TYPICAL' 或 'ALL'

3、删除快照

您可以使用 DROP_SNAPSHOT_RANGE 存储过程删除个范围内的快照。要查看快照的 snap_id 和 数据库 ID 的列表,请查看 DBA_HIST_SNAPSHOT 视图。例如,您可以删除上例中 snap_id 小于 115 的快照:

DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(low_snap_id IN NUMBER,high_snap_id IN NUMBER dbid IN NUMBER DEFAULT NULL);

>exec dbms_workload_repository.drop_snapshot_range(dbid=>219724276,low_snap_id=>114,high_snap_id => 115);

PL/sql procedure successfully completed.

4、修改快照设置

对于指定的数据库 ID,您可以调整快照生成的时间间隔、保留期限和捕获的 Top sql,但是请注意,这会影响 Oracle Database 诊断工具的精确性。

INTERVAL 设置影响数据库自动生成快照的频率。RETENTION 设置影响数据库在工作负载信息库中存储快照的时间。

TOPNsql 设置影响针对每个 sql 条件捕获的 Top sql 的数量(Elapsed Time、cpu Time、Parse Calls、sharable Memory 和 Version Count)。

此设置的值不受 statistics_level 和 flush_level 的影响,将会覆盖系统 AWR sql 收集的默认行为。可以讲次设置的值设置为 MAXIMUM 来捕获 shared sql area 中的全部 sql 集合,这么做(将此值设置为一个非常高的值)可能会导致一定的空间和性能问题,因为将会收集和存储更多的数据。要调整这些设置,请使用 MODIFY_SNAPSHOT_SETTING 存储过程。例如:

DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(

retention IN NUMBER DEFAULT NULL,

interval IN NUMBER DEFAULT NULL,

topnsql IN NUMBER DEFAULT NULL,

dbid IN NUMBER DEFAULT NULL);

>desc dba_hist_wr_control;

Name Null? Type

----------------------------------------------------------------- -------- --------------------------------------------

DBID NOT NULL NUMBER

SNAP_INTERVAL NOT NULL INTERVAL DAY(5) TO SECOND(1)

RETENTION NOT NULL INTERVAL DAY(5) TO SECOND(1)

TOPNsql VARCHAR2(10)

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值