set numwidth 17 set pages 1000 alter session set nls_date_format='DD/Mon/YYYY HH24:MI:SS'; SELECT tim, gscn, round(rate), round((chk16kscn - gscn)/24/3600/16/1024,1) "Headroom" FROM ( select tim, gscn, rate, (( ((to_number(to_char(tim,'YYYY'))-1988)*12*31*24*60*60) + ((to_number(to_char(tim,'MM'))-1)*31*24*60*60) + (((to_number(to_char(tim,'DD'))-1))*24*60*60) + (to_number(to_char(tim,'HH24'))*60*60) +
查看scnheadroom变化趋势的几种方法(三)
:stat_filter_name := '&stat_input';
END;
/
prompt STATISTICS specified : &&stat_input
column end_interval_time heading 'Snap Started' format a18 just c;
column dbid heading 'DB Id' format a12 just c;
column instance_number heading 'Inst|Num' format 99999;
column elapsed heading 'Elapsed' format 999999;
column stat_value heading 'Stat Value' format 999999999999
column stat_name heading 'Stat Name' format a64 just l;
SELECT snap_id,
To_char(dbid) DBID,
instance_number,
elapsed,
To_char(end_interval_time, 'dd Mon YYYY HH24:mi') END_INTERVAL_TIME,
--stat_name,
( CASE
WHEN stat_value > 0 THEN stat_value
ELSE 0
END ) STAT_VALUE
FROM (SELECT snap_id,
dbid,
instance_number,
elapsed,
end_interval_time,
stat_name,
( stat_value - Lag (stat_value, 1, stat_value)
over (
PARTITION BY dbid, instance_number
ORDER BY snap_id) ) AS STAT_VALUE
FROM (SELECT snap_id,
dbid,
instance_number,
elapsed,
end_interval_time,
stat_name,
SUM(stat_value) AS STAT_VALUE
FROM (SELECT X.snap_id,
X.dbid,
X.instance_number,
Trunc(SN.end_interval_time, 'mi')
END_INTERVAL_TIME,
X.stat_name,
Trunc(( Cast(SN.end_interval_time AS DATE) -
Cast(SN.begin_interval_time AS DATE) ) *
86400) ELAPSED,
( CASE
WHEN ( X.stat_name = :stat_filter_name
OR X.stat_id = :stat_filter_id ) THEN
X.value
ELSE 0
END ) AS STAT_VALUE
FROM dba_hist_sysstat X,
dba_hist_snapshot SN,
(SELECT instance_number,
Min(startup_time) STARTUP_TIME
FROM dba_hist_snapshot
WHERE snap_id BETWEEN :bid AND :eid
GROUP BY instance_number) MS
WHERE X.snap_id = sn.snap_id
AND X.dbid = sn.dbid
AND x.dbid = :dbid
AND x.snap_id BETWEEN :bid AND :eid
AND SN.startup_time = MS.startup_time
AND SN.instance_number = MS.instance_number
AND X.instance_number = sn.instance_number
AND ( X.stat_name = :stat_filter_name
OR X.stat_id = :stat_filter_id ))
GROUP BY snap_id,
dbid,
instance_number,
elapsed,
end_interval_time,
stat_name));
undefine dbid
undefine num_days
undefine begin_snap
undefine end_snap
undefine stat_id
undefine stat_search
undefine stat_filter_name
undefine stat_filter_id
undefine stat_input
---该脚本结束。
2. 在SQLPLUS中运行该脚本,并根据您
系统实际情况输入
instances IN this workload repository SCHEMA
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name INST_NAME Host
------------ -------- ------------ ---------------- --------------------
* 1163866261 1 RBIG5 RBIG5 xxx
m
Enter value for dbid: 1163866261 《=====输入实例ID
USING 1163866261 FOR DATABASE id
specify the NUMBER OF days OF snapshots TO choose FROM
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
entering the NUMBER OF days (n) will result IN the most recent
(n) days OF snapshots being listed. pressing without
specifying a NUMBER LISTS ALL completed snapshots.
Enter value for num_days: 2 <===输入AWR采样天数
specify the BEGIN AND END SNAPSHOT ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 1605
BEGIN SNAPSHOT id specified: 1605 《===根据对话输入起始snapshot 序号
Enter value for end_snap: 1639
END SNAPSHOT id specified: 1639《===根据对话输入结束snapshot 序号
search statistic
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
search BY STATISTICS name. pressing without
specifying anything show ALL STATISTICS.
Enter value for stat_search: calls to kcmgas 《======输入需要显示的统计项: calls to kcmgas
Statistic Name Filter: calls to kcmgas
Statistic ID Statistic Statistic Name
-------------- ---------- ----------------------------------------------------------------
4072914524 DEBUG calls to kcmgas
specify the STATISTICS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
enter STATISTICS id OR STATISTICS name.
Enter value for stat_input: 4072914524 《======输入统计项返回的ID
最后,将返回一个列表,例如
Inst
Snap Id DB Id Num Elapsed Snap Started Stat Value
--------- ------------ ------ ------- ------------------ -------------
1605 1163866261 1 3600 08 Sep 2013 00:00 0
1606 1163866261 1 3601 08 Sep 2013 01:00 170
1607 1163866261 1 3600 08 Sep 2013 02:00 164
。。。
1626 1163866261 1 3600 08 Sep 2013 21:00 155
1627 1163866261 1 3600 08 Sep 2013 22:00 165
1628 1163866261 1 3600 08 Sep 2013 23:00 2065《===如果有类似跳变发生,则表示数据库内部交易产生的剧烈变化,非DBLINK造成。
。。。
1636 1163866261 1 3600 09 Sep 2013 07:00 145
1637 1163866261 1 3601 09 Sep 2013 08:00 174
1638 1163866261 1 3600 09 Sep 2013 09:00 156
1639 1163866261 1 3600 09 Sep 2013 10:00 142
请提供您的输出结果来作为SCN 非外部数据库DBLINK造成跳变的调查结果。
第三个方法:查询v$archived_log视图(前提是数据库开启归档模式)