史上最全,呕心沥血总结oracle推进SCN方法(八)

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG数据库运维(如安装迁移,性能优化、故障应急处理等)
公众号:老苏畅谈运维
欢迎关注本人公众号,更多精彩与您分享。

前面介绍了7种推进SCN方法
(1)event 10015 来增加 scn 的值
(2)隐含参数_minimum_giga_scn 来增加 scn 的值
(3)gdb/dbx 来直接修改内存中的值
(4)使用oradebug poke 直接修改内存中的值
(5)通过修改控制文件来修改 scn 的值
(6)通过修改数据文件头来修改 scn 的值
(7)通过adjust_scn方式来增加SCN
现在来说一下oracle推进SCN方法8:使用event 21307096推进scn

在12.2中,Oracle多了一个新的EVENT 21307096,Oracle 官方文档描述

The SCN delta in million units is with the range of values from 1 to 4095 which increases 
the scn by:lowest_scn + event level * 1000000Example:  if the lowest datafile checkpoint scn in the database is 990396
and the highest is 992660 then SCN delta is 1; given by (992660 - 990396) / 1000000event="21307096 trace name context forever, level 1Here are some tests in 12.1.0.2 using each level for alter database open resetlogs:level 1 Elapsed: 00:01:02.35level 2 Elapsed: 00:02:16.23level 6 Elapsed: 00:06:08.05In general:  based on a 16k per second scn rate (16K/sec) , the open resetlogs time
would be at least (event level * 1000000 / 16000) seconds. Then level 1 would be at least 
62+ seconds and level 4095 would be 71+ hours !.

下面在自己的测试环境模拟一下 EVENT 21307096,请勿在生产环境中操作;如果需要在生产环境中操作,提前做好备份。

1、查看当前 SCN 的值

–19.22测试要设置_allow_resetlogs_corruption参数为true,否则不成功
–参考资料:Force Open Database after applying Patch 21307096 ( Doc ID 2674196.1 )

alter system set  "_allow_resetlogs_corruption"=TRUE scope=spfile;
--这里查询当前 SCN 的值,主要用于与后面修改后的值做对比。
SQL> select current_scn from v$database;
CURRENT_SCN
-----------5100732

2、 修改方法

event=‘21307096 trace name context forever,level N’ 计算方式
Lowest_scn+N * 1000000假设我们要推进1百万,设置level 为1
可以通过 PFILE 文件来增加 EVENT:
cat /tmp/init.ora
event="21307096 trace name context forever, level 1"
或者
alter system set event='21307096 trace name context forever,level 1' scope=spfile;--把scn推进5百万
SQL> alter system set event='21307096 trace name context forever,level 5' scope=spfile;System altered.--event推进是以百万位单位推进,这里level 5即SCN推进500W--19.22测试要设置_allow_resetlogs_corruption参数为true,否则不成功
alter system set  "_allow_resetlogs_corruption"=TRUE scope=spfile;

3、 重启数据库

--重启数据库,使参数生效
SQL> shutdown immediate;
SQL> startup mount;
ORACLE instance started.Total System Global Area 3707764736 bytes
Fixed Size		    2930944 bytes
Variable Size		  855639808 bytes
Database Buffers	 2835349504 bytes
Redo Buffers		   13844480 bytes
Database mounted.--并用resetlogs方式open
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 1789147 generated at 06/03/2024 16:22:21 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/fast_recovery_area/ORA121/archivelog/2024_06_03/o1_mf_1_9_%u_.ar
c
ORA-00280: change 1789147 for thread 1 is in sequence #9Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
Media recovery cancelled.
SQL> alter database open resetlogs;Database altered.--OPEN过程会耗时比较长,level的级别越高,耗时约长,具体计算方法见文末。SQL> select current_scn from v$database;
CURRENT_SCN
-----------10106627
--推进了约500W根据LEVEL值不一样,数据库OPEN耗时也不一样,计算公式:level 1 Elapsed: 00:01:02.35level 2 Elapsed: 00:02:16.23level 6 Elapsed: 00:06:08.05In general:  based on a 16k per second scn rate (16K/sec) , the open resetlogs time would be at least (event level * 1000000 / 16000) seconds. Then level 1 would be at least 62+ seconds and level 4095 would be 71+ hours !.col name for a60;
set linesize 400;
select a.file#,a.name,(select checkpoint_change# from v$database) system_ckpt_scn,a.checkpoint_change# df_ckpt_scn,a.last_change# end_scn,b.checkpoint_change# start_scn,b.recover,a.statusfrom v$datafile a, v$datafile_header bwhere a.file# = b.file#;FILE# NAME 							SYSTEM_CKPT_SCN DF_CKPT_SCN    END_SCN	START_SCN REC STATUS
---------- ------------------------------------------------------------ --------------- ----------- ---------- ---------- --- -------1 /u01/oradata/BBED19C/system01.dbf					2262818     2262818		  2262818 NO  SYSTEM3 /u01/oradata/BBED19C/sysaux01.dbf					2262818     2262818		  2262818 NO  ONLINE4 /u01/oradata/BBED19C/undotbs01.dbf					2262818     2262818		  2262818 NO  ONLINE7 /u01/oradata/BBED19C/users01.dbf					2262818     2262818		  2262818 NO  ONLINE

4、 查看 alert 日志

查看 ALERT 日志,可以发现数据库在 OPEN 过程中,消耗了几分钟的时间。此时间可以通过 EVENT 描述中的计算公式来计算。2024-06-07T15:00:51.307635+08:00
.... (PID:1233): Clearing online redo logfile 1 complete
.... (PID:1233): Clearing online redo logfile 2 complete
Resetting resetlogs activation ID 4100944891 (0xf46f73fb)
Online log /u01/oradata/BBED19C/redo01.log: Thread 1 Group 1 was previously cleared
Online log /u01/oradata/BBED19C/redo02.log: Thread 1 Group 2 was previously cleared
Online log /u01/oradata/BBED19C/redo03.log: Thread 1 Group 3 was previously cleared
2024-06-07T15:00:51.322568+08:00
Setting recovery target incarnation to 7
2024-06-07T15:00:51.328799+08:00
Smart fusion block transfer is disabled:instance mounted in exclusive mode. <<<<会在这里 HANG 住,根据 LEVEL 的值不同,这个 HANG 的时候也不同。目前这里 LEVEL 值是多少,在这里消耗的时间就是多
2024-06-07T15:00:58.540192+08:00
Endian type of dictionary set to little
2024-06-07T15:00:58.542179+08:00
Assigning activation ID 4100985645 (0xf470132d)
Redo log for group 1, sequence 1 is not located on DAX storage
Thread 1 opened at log sequence 1Current log# 1 seq# 1 mem# 0: /u01/oradata/BBED19C/redo01.log
Successful open of redo thread 1
2024-06-07T15:00:58.561496+08:00
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Stopping change tracking

5、 去掉添加的参数

--打开数据库后,要去掉添加的相关参数
alter system reset event scope=spfile;
alter system reset  "_allow_resetlogs_corruption"  scope=spfile;--重启数据库

链接:
史上最全,呕心沥血总结oracle推进SCN方法(一)
史上最全,呕心沥血总结oracle推进SCN方法(二)
史上最全,呕心沥血总结oracle推进SCN方法(三)
史上最全,呕心沥血总结oracle推进SCN方法(四)
史上最全,呕心沥血总结oracle推进SCN方法(五)
史上最全,呕心沥血总结oracle推进SCN方法(六)
史上最全,呕心沥血总结oracle推进SCN方法(七)

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/26717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

17-C语言中的变量生命周期——自动存储期、青苔存储期、自定义存储期

17-C语言中的变量生命周期——自动存储期、青苔存储期、自定义存储期 文章目录 17-C语言中的变量生命周期——自动存储期、青苔存储期、自定义存储期一、自动存储期示例 二、静态存储期2.1 示例 三、自定义存储期3.1 如何申请内存3.2 如何释放内存3.3 如何清空内存3.4 示例 概念…

MQTT通讯协议接入

1.MQTT协议概述 MQTT是一种基于发布/订阅模式的轻量级消息传输协议&#xff0c;常用于低带宽、不可靠网络环境下传输消息&#xff0c;适用于物联网设备之间的通信。 1.1 MQTT协议的组件 客户端&#xff08;Client&#xff09;&#xff1a;连接到MQTT代理服务器的设备&#xff…

计算机组成原理(六)

0x12345678和12345678H都是指同一个十六进制,也就是12345678&#xff0c;不过是不同的编程语言的写法而已 具体来说&#xff0c;如果有 n 根地址线&#xff0c;计算机可以寻址的内存空间大小是 2^n 字节。 24根地址线&#xff1a; 如果一个系统有24根地址线&#xff0c;意味着它…

汇编程序设计之 位操作指令、顺序程序设计

文章目录 位操作类指令逻辑运算指令NOTORANDXORTEST 移位指令逻辑移位算数移位循环移位指令 处理机控制类指令顺序结构程序设计概念例子 位操作类指令 逻辑运算指令 NOT OR 对于每一个位&#xff0c;有1即为1 AND 同时为1才是1 XOR 不相同才为1 TEST 和and 一样的功能&…

RK3568技术笔记六 新建 Ubuntu Linux 虚拟机

VMware 安装完成后&#xff0c;启动 VMware 软件。启动后在 VMware 主界面点击“创建新的虚拟机”。如下图所示&#xff1a; 开始对新建的虚拟机进行设置。选择“自定义”&#xff0c;然后点击“下一步”。如下图所示&#xff1a; 使用默认配置&#xff0c;单击“下一步”。如下…

PyTorch -- 最常见激活函数的选择

首先&#xff0c;简单复习下什么是梯度&#xff1a;梯度是偏微分的集合 举例说明&#xff1a;对于 z y 2 − x 2 : ∇ z ( ∂ z ∂ x , ∂ z ∂ y ) &#xff08; 2 x , 2 y &#xff09; z y^2-x^2: \nabla z (\frac{\partial z}{\partial x}, \frac{\partial z}{\partia…

夏日炎炎 水域守护:北斗守护安全防线——为生命撑起智能保护伞

随着夏季的来临&#xff0c;炎热的天气让许多人纷纷寻求水的清凉。清凉的河流与广阔的海域成为了不少人消暑降温的向往之地。然而&#xff0c;私自下河、下海的行为却暗藏着巨大的安全隐患&#xff0c;每年夏季溺水事故频发&#xff0c;给无数家庭带来不可挽回的悲痛。为有效遏…

规模弹性: 管理谷歌的TPUv4机器学习超级计算机

摘要 TPUv4&#xff08;张量处理单元&#xff09;是谷歌用于机器学习训练的第三代加速器&#xff0c;采用定制的三维环形互连&#xff0c;部署为 4096 节点的超级计算机。在本文中&#xff0c;我们将介绍设计和运行软件基础设施的经验&#xff0c;这些软件基础设施使 TPUv4 超…

Git进阶使用(图文详解)

文章目录 Git概述Git基础指令Git进阶使用一、Git分支1.主干分支2.其他分支2.1创建分支2.2查看分支1. 查看本地分支2. 查看远程分支3. 查看本地和远程分支4. 显示分支的详细信息5. 查看已合并和未合并的分支 2.3切换分支1. 切换到已有的本地分支2. 创建并切换到新分支3. 切换到远…

【SkiaSharp绘图03】SKPaint详解(一)BlendMode混合模式、ColorFilter颜色滤镜

文章目录 SKPaintSKPaint属性BlendMode获取或设置混合模式SKBlendMode 枚举成员效果预览 Color/ColorF获取或设置前景色ColorFilter 颜色滤镜CreateBlendMode 混合模式CreateColorMatrix 颜色转换CreateCompose 组合滤镜CreateHighContrast 高对比度滤镜CreateLighting 照明滤镜…

flask实战之模板实现公共导航

基础实现 目标 在Flask中&#xff0c;使用模板继承和块&#xff08;blocks&#xff09;可以方便地提取公共导航菜单&#xff0c;使得您可以在多个页面上重用相同的导航结构。以下是一个基本示例&#xff0c;展示如何创建一个包含公共导航菜单的模板&#xff1a; 创建基础模板…

译译交友项目介绍

一、 项目背景 随着社会的进步&#xff0c;英语作为一种国际语言&#xff0c;很多人都在学习英语&#xff0c;然而现在很多人都会因为学习英语而烦恼&#xff0c;有时还会因为是一个人学习而感到枯燥。面对情绪的低落&#xff0c;往往会使学习更困难。因此&#xff0c;我打造了…

MySQL系列-语法说明以及基本操作(二)

1、MySQL数据表的约束 1.1、MySQL主键 “主键&#xff08;PRIMARY KEY&#xff09;”的完整称呼是“主键约束”。 MySQL 主键约束是一个列或者列的组合&#xff0c;其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键&#xff0c;通过它可以强制表的实体完整性。 …

微信小程序开发教程

尚硅谷微信小程序开发教程&#xff0c;2024最新版微信小程序项目实战&#xff01; 一、小程序基础 1. 初始小程序 微信小程序是一种运行在微信内部的 轻量级 应用程序。 使用小程序时 不需要下载&#xff0c;用户 扫一扫 或 搜一下 即可打开应用&#xff0c;它也体现了 “用…

【ARM Cache 及 MMU 系列文章 6.4 -- ARMv8/v9 如何读取 Cache Tag 及分析其数据?】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 Cache Tag 数据读取测试代码Cache Tag 数据读取 在处理器中,缓存是一种快速存储资源,用于减少访问主内存时的延迟。缓存通过存储主内存中经常访问的数据来实现这一点。为了有效地管…

快捷键专栏 IDEA、Navicat、电脑、Excle、Word等

标题 电脑篇windowsR 配合以下常用命令连上公司网线WiFi速度变慢问题解决Windows10 设置鼠标右键在此处打开cmd和Powershell窗口、关机打开电脑诊断工具系统设置常用设置查看电脑出场日期 systeminfo删除文件显示已在另一个程序打开&#xff1f;找回回收站删除的文件WindowsR输…

Mocha Pro 2024 v11.0.1 Mac版摄像机反求跟踪插件更新:优化AE/PR/OFX/达芬奇工作流程

更新Mac苹果版&#xff0c;原生支持Intel和Apple M芯片&#xff0c;安装很简单。Mocha Pro 是一款世界知名的软件和插件&#xff0c;用于平面运动跟踪、3D 跟踪、动态观察、对象移除、图像稳定和PowerMesh有机扭曲跟踪。得益于集成SynthEyes核心3D跟踪算法的强大功能&#xff0…

【数组】【双指针】三数之和

打算冲一把算法类比赛&#xff0c;之前一直对算法提不起兴趣&#xff0c;也有我自己对它的抵触&#xff0c;本身算法也比较菜。 但现在打算勤勤恳恳刷题&#xff0c;踏踏实实总结&#xff0c;冲&#xff01; 数组——双指针 三数之和 该题力扣网址 错误做法 三重循环框架&a…

互联网+智慧运维管理平台建设方案

互联网智慧运维管理平台建设方案 随着信息技术的飞速发展&#xff0c;互联网与各行各业的深度融合已经成为大势所趋。在运维管理领域&#xff0c;传统的运维模式已经无法满足日益复杂的业务需求和技术环境。为了提升运维效率、降低运维成本、保障系统稳定运行&#xff0c;构建…

Adobe Illustrator (AI)小技巧总结

AI2024(64bit) Adobe Illustrator 软件安装包下载地址&#xff1a; 百度网盘下载https://pan.baidu.com/s/1C10-2JVN1rxFF5VFRuV2Yw?pwdSIMS 1.效果-扭曲与变换-变换&#xff0c;两个图形组合&#xff08;CtrlG&#xff09;中心点在中间 例&#xff1a;角度7.5副本24半圆48格…