SCN HeadRoom 事件分析
SCN的可能最大值与耗尽问题
SQL> select power(2,48) scn from dual;
SCN
------------------
281 4749 7671 0656
POWER(2,48)/16/1024/3600/24/365
-------------------------------
544.770078
现在测试DB link与检查点(checkpoint)和SCN
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select dbms_flashback.GET_SYSTEM_CHANGE_NUMBER scn from dual;
SCN
----------
2264312 ---开始查询值
set feedback off
DECLARE
r_gname VARCHAR2 (40);
l_gname VARCHAR2 (40);
BEGIN
EXECUTE IMMEDIATE 'select GLOBAL_NAME from global_name@xulq_link'
INTO r_gname;
DBMS_OUTPUT.put_line ('gname of remote:' || r_gname);
SELECT GLOBAL_NAME INTO l_gname FROM global_name;
DBMS_OUTPUT.put_line ('gname of locald:' || l_gname);
END;
/
gname of locald:SDXJ
r_scn number;
l_scn number;
begin
execute immediate
'select dbms_flashback.GET_SYSTEM_CHANGE_NUMBER@xulq_link from dual' into r_scn;
dbms_output.put_line('scn of remote:'||r_scn);
select dbms_flashback.GET_SYSTEM_CHANGE_NUMBER into l_scn from dual;
dbms_output.put_line('scn of locald:'||l_scn);
end;
/
scn of locald: 82921684
手工执行checkpoint,此时可以发现数据库的checkpoint scn被增进:
SCN
----------
82921851 ---DBLINK访问后的,激增值。
FILE# SCN
---------- ----------
1 82921825
2 82921825
3 82921825
4 82921825
5 82921825
6 82921825
6 rows selected.
select
(
(
(
(
(
(
to_char(sysdate,'YYYY')-1988
)*12+
to_char(sysdate,'mm')-1
)*31+to_char(sysdate,'dd')-1
)*24+to_char(sysdate,'hh24')
)*60+to_char(sysdate,'mi')
)*60+to_char(sysdate,'ss')
) * to_number('ffff','XXXXXXXX')/4 scn
from dual
/
该脚本的算法和以上描述相同,最终将最大合理SCN 减去当前数据库SCN,计算得出一个指标:HeadRoom。也就是SCN尚余的顶部空间,这个顶部空间最后折合成天数:
以下是这个脚本的内容:
Rem $Header: rdbms/admin/scnhealthcheck.sql st_server_tbhukya_bug-13498243/8 2012/01/17 03:37:18 tbhukya Exp $
Rem
Rem scnhealthcheck.sql
Rem
Rem Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
Rem
Rem NAME
Rem scnhealthcheck.sql - Scn Health check
Rem
Rem DESCRIPTION
Rem Checks scn health of a DB
Rem
Rem NOTES
Rem .
Rem
Rem MODIFIED (MM/DD/YY)
Rem tbhukya 01/11/12 - Created
Rem
Rem
define LOWTHRESHOLD=10
define MIDTHRESHOLD=62
define VERBOSE=FALSE
set veri off;
set feedback off;
set serverout on
DECLARE
verbose boolean:=&&VERBOSE;
BEGIN
For C in (
select
version,
date_time,
dbms_flashback.get_system_change_number current_scn,
indicator
from
(
select
version,
to_char(SYSDATE,'YYYY/MM/DD HH24:MI:SS') DATE_TIME,
((((
((to_number(to_char(sysdate,'YYYY'))-1988)*12*31*24*60*60) +
((to_number(to_char(sysdate,'MM'))-1)*31*24*60*60) +
(((to_number(to_char(sysdate,'DD'))-1))*24*60*60) +
(to_number(to_char(sysdate,'HH24'))*60*60) +
(to_number(to_char(sysdate,'MI'))*60) +
(to_number(to_char(sysdate,'SS')))
) * (16*1024)) - dbms_flashback.get_system_change_number)
/ (16*1024*60*60*24)
) indicator
from v$instance
)
) LOOP
dbms_output.put_line( '-----------------------------------------------------'
|| '---------' );
dbms_output.put_line( 'ScnHealthCheck' );
dbms_output.put_line( '-----------------------------------------------------'
|| '---------' );
dbms_output.put_line( 'Current Date: '||C.date_time );
dbms_output.put_line( 'Current SCN: '||C.current_scn );
if (verbose) then
dbms_output.put_line( 'SCN Headroom: '||round(C.indicator,2) );
end if;
dbms_output.put_line( 'Version: '||C.version );
dbms_output.put_line( '-----------------------------------------------------'
|| '---------' );
IF C.version > '10.2.0.5.0' and
C.version NOT LIKE '9.2%' THEN
IF C.indicator>&MIDTHRESHOLD THEN
dbms_output.put_line('Result: A - SCN Headroom is good');
dbms_output.put_line('Apply the latest recommended patches');
dbms_output.put_line('based on your maintenance schedule');
IF (C.version < '11.2.0.2') THEN
dbms_output.put_line('AND set _external_scn_rejection_threshold_hours='
|| '24 after apply.');
END IF;
ELSIF C.indicator<=&LOWTHRESHOLD THEN
dbms_output.put_line('Result: C - SCN Headroom is low');
dbms_output.put_line('If you have not already done so apply' );
dbms_output.put_line('the latest recommended patches right now' );
IF (C.version < '11.2.0.2') THEN
dbms_output.put_line('set _external_scn_rejection_threshold_hours=24 '
|| 'after apply');
END IF;
dbms_output.put_line('AND contact Oracle support immediately.' );
ELSE
dbms_output.put_line('Result: B - SCN Headroom is low');
dbms_output.put_line('If you have not already done so apply' );
dbms_output.put_line('the latest recommended patches right now');
IF (C.version < '11.2.0.2') THEN
dbms_output.put_line('AND set _external_scn_rejection_threshold_hours='
||'24 after apply.');
END IF;
END IF;
ELSE
IF C.indicator<=&MIDTHRESHOLD THEN
dbms_output.put_line('Result: C - SCN Headroom is low');
dbms_output.put_line('If you have not already done so apply' );
dbms_output.put_line('the latest recommended patches right now' );
IF (C.version >= '10.1.0.5.0' and
C.version <= '10.2.0.5.0' and
C.version NOT LIKE '9.2%') THEN
dbms_output.put_line(', set _external_scn_rejection_threshold_hours=24'
|| ' after apply');
END IF;
dbms_output.put_line('AND contact Oracle support immediately.' );
ELSE
dbms_output.put_line('Result: A - SCN Headroom is good');
dbms_output.put_line('Apply the latest recommended patches');
dbms_output.put_line('based on your maintenance schedule ');
IF (C.version >= '10.1.0.5.0' and
C.version <= '10.2.0.5.0' and
C.version NOT LIKE '9.2%') THEN
dbms_output.put_line('AND set _external_scn_rejection_threshold_hours=24'
|| ' after apply.');
END IF;
END IF;
END IF;
dbms_output.put_line(
'For further information review MOS document id 1393363.1');
dbms_output.put_line( '-----------------------------------------------------'
|| '---------' );
END LOOP;
end;
/
这个设置降低了SCN Headroom的顶部空间,以前缺省的设置容量至少为31天,降低为 24 小时,可以增大SCN允许增长的合理空间。但是如果不加控制,SCN仍然可能会超过最大的合理范围,导致数据库问题。
这个问题的影响会极其严重,我们建议用户检验当前数据库的SCN使用情况,
Advanced SCN by 8381 minutes worth to Ox0bad.4ab15e1,by distributed transaction remote logon,remote DB:ORCL.
Warning - High Database SCN: Current SCN value is 0x0b7b.0008e40b, threshold SCN value is 0x0b75.055dc000
If you have not previously reported this warning on this database, please notify Oracle Support so that additional diagnosis can be performed.
Warning: The SCN headroom for this database is only NN days!
Warning: The SCN headroom for this database is only N hours!
Rejected the attempt to advance SCN over limit by 984 hours worth to 0x0c00.0000ff66, by distributed transaction remote logon, remote DB: DB.ORCL.ORACLE.COM.
Client info : DB logon user SYS, machine sun, program sqlplus@orcl (TNS V1-V3), and OS user oracle
Rejected the attempt to advance SCN over limit by 9875 hours worth to 0x0c00.000003e6, by distributed transaction logon, remote DB: DB.ORCL.ORACLE.COM.
MOS参考文档:
NOTE:1376995.1 - Information on the System Change Number (SCN) and how it is used in the Oracle Database
NOTE:1393363.1 - Installing, Executing and Interpreting output from the "SCNhealthcheck.sql" script
NOTE:1388639.1 - Evidence to collect when reporting "high SCN rate" issues to Oracle Support
NOTE:1393360.1 - ORA-19706 and Related Alert Log Messages
SCN HeadRoom 事件分析相关推荐
- SCN Headroom与时光倒流到1988年的Oracle数据库
最近一阵关于scn headroom的讨论很热, 这是由于在最新的2012 Apr的PSU中例如10.2.0.5上的PSU 13632743和 patch 13916709: SCN: HIGH ...
- SCN Headroom过低问题处理
转载于https://www.cnblogs.com/dc-chen/p/7245290.html 一. 基础概念 1.SCN(System Change Number)值是Oracle数据库运行每次 ...
- SCN Headroom
为什么要检查SCN Headroom Oracle对于SCN的增长有个小小的限制,即当前HeadRoom,注意,用了 当前 两个字,表示这个HeadRoom是实时计算出来的,计算方式为:1988年距当 ...
- scn,headroom
参考文档: Master Note: Overview for SCN issues (文档 ID 1503937.1) System Change Number (SCN), Headroom, S ...
- SCN headroom问题解决方案
转载请注明出处,谢谢! ---好久没来逛ITPUB了,发一篇大家关心的问题 1. SCN headroom简介 SCN是Oracle内部使用的逻辑时钟,用于区分事务操作的先后次序以及确保事务操作的 ...
- oracle最新scn补丁,Oracle 系统改变号(SCN), Headroom, 安全和补丁信息
适用于: Oracle Database – Enterprise Edition – 版本 10.1.0.5到 11.2.0.3 [Release 10.1 to 11.2] 本文信息适用于任何平台 ...
- Mocha BSM产品亮点——关联事件分析
业务需求与挑战 企业经常会遇到下列场景: • 企业某应用,例如,WebSphere Portal Server,已经不可用,是由于应用自身已不可用?还是应用所连接的数据库出了问题?还是应用的LDAP服 ...
- 重新定义分析 - EventBridge实时事件分析平台发布
作者:肯梦 对于日志分析大家可能并不陌生,在分布式计算.大数据处理和 Spark 等开源分析框架的支持下,每天可以对潜在的数百万日志进行分析. 事件分析则和日志分析是两个完全不同的领域,事件分析对实时 ...
- 选了combobox里的选项后没激发change事件_stata 事件分析法
前言: 因为一些原因,国庆节期间学的.学习过程很酸爽,自己并没有很多统计学及其相关软件的经验,网上相关资料也不是很多.我在微信公众号.知网.经管之家.B站.百度文库等很多平台找了各式的资料来学(花了7 ...
最新文章
- [原创]windows server 2012 AD架构 试验 系列 – 3 创建备份DC2
- appium python框架结构,GitHub - wyybingo/python-appium: 基于PageObject UI自动化测试框架,支持Android/iOS...
- ftl不存在为真_LTL和FTL货运之间有什么区别?
- jq实现div移入与移出以及获得与失去焦点
- 美团酒旅起源数据治理平台的建设与实践
- 50-20-200-配置-checkpoint配置
- Oracle NID工具修改数据库DBID和数据库名称
- 学术论文写作的 paper、code 资源
- 应急指挥调度管理系统|城市综合应急指挥调度系统
- android电池管理软件,四款安卓手机电池管理软件横测
- 腾讯云重装和还原操作系统
- 局域网下两台电脑ping不通的问题总结
- Locale类的详细解析
- GA-PH67-UD3-B3换主板
- Linux - samba实现Linux与windows文件共享——共享文件夹目标文件访问权限被拒绝解决方案(超详细,看不懂你怪我)
- 读写配置文件模块configparser—参考杨永明博客
- Grammer -- 助动词
- OSPF邻居震荡抑制
- 胡润区块链富豪榜公布,卖铲子卖水的最赚
- 如何打开.pkl文件,查看.pkl文件里的内容(Python3.6)
热门文章
- 【论文学习】《A Overview of Spoof Speech Detection for Automatic Speaker Verification》
- 2020用vue实现仿美团导航切换功能和淘宝购物车功能,实现默认第一个导航显示效果?
- 腾讯智慧校园 php,【腾讯智慧校园1.54版本】发布
- 实用小工具-----python3 pdf2docx轻松搞定pdf转word
- MULTI-CHANNEL SPEECH ENHANCEMENT USING GRAPH NEURAL NETWORKS 文献翻译
- 【国际】加拿大声明代币可能属于证券并公布辨别方法
- 正基WiFi模块AP6181系列设计指南
- 浅谈计算机科学与现代教育技术,现代教育技术浅谈论文
- siki学院案例---贪吃蛇 学习总结
- win8网络信息服务器,win8如何设置dns上网