内容简介:相信近几个月好些DBA一定都被SCN compat(兼容级别)在2019年6月23日自动从1直接跳级到3的问题搞的紧张兮兮, 现在这个特殊日期已经过去几天,不知道是不是觉的风平浪静有些失望, 不要以为这事已过去,恰恰是问题才刚刚开始,SCN已经rollover的有可能会更快速的使用,更多原理以前有写过《最近应该都开始检查是否SCN Compat是否已自动变为3, 在auto rollover未禁用的情况下,还是有些情况下SCN compat当前并没有改变,下面列几种情况。检查脚本 scn_compat_ch
相信近几个月好些DBA一定都被SCN compat(兼容级别)在2019年6月23日自动从1直接跳级到3的问题搞的紧张兮兮, 现在这个特殊日期已经过去几天,不知道是不是觉的风平浪静有些失望, 不要以为这事已过去,恰恰是问题才刚刚开始,SCN已经rollover的有可能会更快速的使用,更多原理以前有写过《 预警:2019年ORACLE SCN 兼容性特性( Compatibility)自动改变的影响 》。
最近应该都开始检查是否SCN Compat是否已自动变为3, 在auto rollover未禁用的情况下,还是有些情况下SCN compat当前并没有改变,下面列几种情况。
检查脚本 scn_compat_check.sql:
set serveroutput on declare rsl number; headroom_in_scn number; headroom_in_sec number; CUR_SCN_COMPAT number; MAX_SCN_COMPAT number; auto_rollover_ts date; target_compat number ; is_enabled boolean; VERSION varchar2(100); is_rolloverd boolean; db_role varchar2(100); started_ts date; begin select banner into VERSION from v$version where rownum=1; select DATABASE_ROLE into db_role from v$database; select startup_time into started_ts from v$instance; dbms_scn.GETCURRENTSCNPARAMS(rsl,headroom_in_scn,HEADROOM_IN_SEC,CUR_SCN_COMPAT,MAX_SCN_COMPAT); dbms_output.put_line('Current datatime:'||to_char(sysdate,'RRRRmmdd hh24:mi:ss')); dbms_output.put_line('Oracle Version:'||VERSION); dbms_output.put_line('Database role:' ||db_role); dbms_output.put_line('Instance starttime: '||to_char(started_ts,'RRRRmmdd hh24:mi:ss')); dbms_output.put_line('RSL=' ||rsl); dbms_output.put_line('headroom_in_scn=' || headroom_in_scn); dbms_output.put_line('headroom_in_sec=' || headroom_in_sec); dbms_output.put_line('CUR_SCN_COMPAT=' ||CUR_SCN_COMPAT); dbms_output.put_line('MAX_SCN_COMPAT=' ||MAX_SCN_COMPAT); dbms_scn.getscnautorolloverparams (auto_rollover_ts, target_compat, is_enabled); dbms_output.put_line( 'auto_rollover_ts='|| to_char(auto_rollover_ts, 'YYYY-MM-DD' )); dbms_output.put_line( 'target_compat='||target_compat); if(is_enabled) then dbms_output.put_line(' Auto_rollover is enabled!' ); if CUR_SCN_COMPAT = target_compat then dbms_output.put_line('SCN compat had Auto rollover !' ); end if; if CUR_SCN_COMPAT < target_compat and sysdate > auto_rollover_ts then dbms_output.put_line('SCN compat No Auto_rollover !' ); -- standby or read-only database if started_ts
1, online redo log never switch until 20190623
SQL> @scn_compat_check.sql Current datatime:20190624 18:30:32 Oracle Version:Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production RSL=16577505394688 headroom_in_scn=124244680842 headroom_in_sec=7583293 CUR_SCN_COMPAT=1 MAX_SCN_COMPAT=3 auto_rollover_ts=2019-06-23 target_compat=3 Auto_rollover is enabled! SCN compat No Auto_rollover !
第二天再查时
SQL> @scn_compat_check.sql Current datatime:20190625 11:05:40 Oracle Version:Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production RSL=35501998735360 headroom_in_scn=19048737747293 headroom_in_sec=193773780 CUR_SCN_COMPAT=3 MAX_SCN_COMPAT=3 auto_rollover_ts=2019-06-23 target_compat=3 Auto_rollover is enabled! SCN compat had Auto rollover ! PL/SQL procedure successfully completed. SQL> @log Show redo log layout from V$LOG and V$LOGFILE... GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME ---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------------ ----------------- 1 1 69 4294967296 512 1 NO INACTIVE 16451560456642 20190612 11:36:44 2 1 70 4294967296 512 1 NO ACTIVE 16453257001681 20190615 09:09:43 3 1 71 4294967296 512 1 NO CURRENT 16453260987629 20190625 11:04:02 <<<< 4 1 68 4294967296 512 1 NO INACTIVE 16402315721466 20190607 01:00:33 5 2 5 4294967296 512 1 NO CURRENT 16402316741755 20190609 20:00:09 6 2 2 4294967296 512 1 NO INACTIVE 15521625611890 20190416 10:59:46 7 2 3 4294967296 512 1 NO INACTIVE 15521625904274 20190416 17:48:10 8 2 4 4294967296 512 1 NO INACTIVE 16402306508842 20190513 05:00:36
DB alert log
2019-06-25 11:04:02.353000 +08:00 Thread 1 advanced to log sequence 71 (LGWR switch) Current log# 3 seq# 71 mem# 0: +DATADG/SPDB/ONLINELOG/group_3.260.1004432869 Database SCN compatibility auto-rollover - control file update SCN compatibility changed from 1 to 3 (auto-rollover) 2019-06-25 11:05:48.487000 +08:00
Note:
这是一套比较空闲的数据库,所以online redo log 也一致未切换,直到06/25日志切换时才自动 SCN compatibility changed from 1 to 3 。后来经测试的确可以手动切换online redo , SQL : alter system switch logfile,触发没有自动rollover的实例改变。
2, Physical Standby database or open read-only
SQL> @scn_compat_check.sql Current datatime:20190626 14:47:10 Oracle Version:Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Database role:PHYSICAL STANDBY Instance starttime: 20190621 11:24:10 RSL=16580116971520 headroom_in_scn=117142463378 headroom_in_sec=7149808 CUR_SCN_COMPAT=1 MAX_SCN_COMPAT=3 auto_rollover_ts=2019-06-23 target_compat=3 Auto_rollover is enabled! SCN compat No Auto_rollover ! Tip: Restart Instance SCN compat will rollover automatic. SQL> alter database recover managed standby database cancel; Database altered. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 6.4425E+10 bytes Fixed Size 29967376 bytes Variable Size 3.2078E+10 bytes Database Buffers 3.2212E+10 bytes Redo Buffers 104247296 bytes Database mounted. Database opened. SQL> @sch_compat_check.sql Current datatime:20190626 14:49:09 Oracle Version:Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Database role:PHYSICAL STANDBY Instance starttime: 20190626 14:48:36 RSL=35511810359296 headroom_in_scn=19048835508702 headroom_in_sec=193774775 CUR_SCN_COMPAT=3 MAX_SCN_COMPAT=3 auto_rollover_ts=2019-06-23 target_compat=3 Auto_rollover is enabled! SCN compat had Auto rollover ! PL/SQL procedure successfully completed.
Note:
对于ADG环境,如果实例是06/23以前启动的,需要重启一下实例,然后SCN compat会自动rollover到3,(open read-only 环境如果存在该现象同样重启instance可以解决)。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Unsafe穿透Java层到JVM层,提供CPU级别和操作系统级别的操作
- 程序日志级别规范
- Spring事务的传播级别
- MySQL 隔离级别详细解析
- 新说MySQL事务隔离级别!
- 解析MySQL事务隔离级别
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python编程无师自通
[美] 科里·奥尔索夫(Cory Althoff) / 宋秉金 / 人民邮电出版社 / 2019-1-1 / 59
畅销Python编程类入门书,美国亚马逊Kindle编程类排行榜榜一。 作者从文科毕业,通过自学编程转行为专业程序员,在硅谷工作多年后成功技术创业。本书不仅教读者如何使用Python语言编程,还会介绍其他书中所忽略的、编程初学者应该了解并掌握的其他所有知识点。 本书作者是一名自学成才的程序员,经过一年的自学,掌握了编程技能并在eBay找到了一份软件工程师的工作。本书是作者结合个人经验写......一起来看看 《Python编程无师自通》 这本书的介绍吧!
html转js在线工具
html转js在线工具
HSV CMYK 转换工具
HSV CMYK互换工具