scnhealthcheck.sql脚本
admin
2023-06-04 16:21:32
0

Installing, Executing and Interpreting output from the "scnhealthcheck.sql" script (文档 ID 1393363.1)中提到对scn的增长与检查。


Patch:13498243 中有此脚本,下面把脚本放出来了。

Rem
Rem $Header: rdbms/admin/scnhealthcheck.sql apfwkr_blr_backport_13498243_12.1.0.2.0/1 2015/05/26 22:44:51 apfwkr Exp $
Rem
Rem scnhealthcheck.sql
Rem
Rem Copyright (c) 2012, 2015, Oracle and/or its affiliates. 
Rem 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;
/


相关内容

热门资讯

预计“白海豚”明晚将在浙江舟山... 今天6时中央气象台发布台风橙色预警和强对流天气蓝色预警。台风橙色预警今年第13号台风“白海豚”(强台...
谷歌AI业务重组幕后:商业化压... 财联社8月7日讯(编辑 史正丞)本周早些时候, 美国互联网巨头谷歌宣布对旗下AI业务展开全面洗牌。D...
喜报!古田一小斩获全国青少年无... 近日,第十届全国青少年无人机大赛总决赛在天津收官。古田县第一小学慈育雏鹰基地无人机社团6名学子,在基...
加媒:加拿大正与美国商讨,以贸... 据加拿大《环球邮报》8月7日消息,知情人士称,加拿大和美国正在讨论一项潜在协议。根据该协议,渥太华将...
德意电器油烟机怎么样,口碑好吗 最佳回答 你好,得意的抽油烟机虽然不怎么做广告,但是人家很牛啊,不做广告,我的价格依然很高,关键是,...
跑步机什么牌子好 最佳回答 跑步机舒华的牌子最好。舒华在跑步机十大排行榜中位列第一。质量是通过欧盟标准的EN957等质...
热水器需要一直插着电吗 热水器需要一直插着电吗:燃气热水器必须一直插电;因为燃气热水器一些安全防护功能需要一直插电,才能发挥...
笔记本电脑可以托运吗 笔记本电... 坐飞机时是可以托运笔记本电脑的。国内航空公司是不禁止托运手提电脑的,需要注意的是笔记本电脑属于贵重物...
笔记本电脑配置常识 这几点你都... 1、需要看笔记本的cpu,cpu作为笔记本电脑的核心,关系到电脑的运行速度。 2、需要看笔记本的...
伊朗官员称已与阿曼就霍尔木兹海... △当地时间8月5日,霍尔木兹海峡总台记者当地时间7日获悉,伊朗议会国家安全与外交政策委员会发言人哈桑...