resetlogs失败故障恢复-ORA-01555---惜分飞

客户数据库resetlogs报错

Tue Dec 19 15:21:23 2023

ALTER DATABASE   MOUNT

Successful mount of redo thread 1, with mount id 1683789043

Database mounted in Exclusive Mode

Lost write protection disabled

Completed: ALTER DATABASE   MOUNT

Tue Dec 19 15:22:01 2023

alter database open resetlogs

RESETLOGS is being done without consistancy checks. This may result

in a corrupted database. The database should be recreated.

ORA-1248 signalled during: alter database open resetlogs...

Tue Dec 19 16:16:26 2023

alter database datafile 83 offline

Completed: alter database datafile 83 offline

Tue Dec 19 16:19:13 2023

alter database open resetlogs

RESETLOGS is being done without consistancy checks. This may result

in a corrupted database. The database should be recreated.

Archived Log entry 50 added for thread 1 sequence 3657135 ID 0x5d907698 dest 1:

Tue Dec 19 16:20:01 2023

Errors in file /oracle/app/diag/rdbms/orcl/orcl/trace/orcl_ora_94696.trc:

ORA-00333: 重做日志读取块 8806400 计数 16384 出错

ORA-00312: 联机日志 2 线程 1: '/data/oradata/orcl/redo2.log'

ORA-27072: 文件 I/O 错误

Linux-x86_64 Error: 25: Inappropriate ioctl for device

Additional information: 4

Additional information: 8806400

Additional information: 4325376

Errors in file /oracle/app/diag/rdbms/orcl/orcl/trace/orcl_ora_94696.trc:

ORA-00333: 重做日志读取块 8806400 计数 16384 出错

ARCH: All Archive destinations made inactive due to error 333

ARCH: Closing local archive destination LOG_ARCHIVE_DEST_1: '/data/arch/1_3657136_874715183.dbf' (error 333) (orcl)

Committing creation of archivelog '/data/arch/1_3657136_874715183.dbf' (error 333)

Tue Dec 19 16:20:46 2023

Archived Log entry 51 added for thread 1 sequence 3657132 ID 0x5d907698 dest 1:

Tue Dec 19 16:21:28 2023

Archived Log entry 52 added for thread 1 sequence 3657133 ID 0x5d907698 dest 1:

Tue Dec 19 16:22:13 2023

Archived Log entry 53 added for thread 1 sequence 3657134 ID 0x5d907698 dest 1:

RESETLOGS after incomplete recovery UNTIL CHANGE 161052517347

Resetting resetlogs activation ID 1569748632 (0x5d907698)

Tue Dec 19 16:23:43 2023

Setting recovery target incarnation to 3

Tue Dec 19 16:23:43 2023

Assigning activation ID 1683789043 (0x645c94f3)

LGWR: STARTING ARCH PROCESSES

Tue Dec 19 16:23:43 2023

ARC0 started with pid=40, OS id=5391

ARC0: Archival started

LGWR: STARTING ARCH PROCESSES COMPLETE

ARC0: STARTING ARCH PROCESSES

Thread 1 advanced to log sequence 2 (thread open)

Tue Dec 19 16:23:44 2023

ARC1 started with pid=41, OS id=5393

Tue Dec 19 16:23:44 2023

ARC2 started with pid=42, OS id=5395

ARC1: Archival started

Tue Dec 19 16:23:44 2023

ARC3 started with pid=43, OS id=5397

ARC2: Archival started

ARC1: Becoming the 'no FAL' ARCH

ARC1: Becoming the 'no SRL' ARCH

ARC2: Becoming the heartbeat ARCH

Thread 1 opened at log sequence 2

  Current log# 2 seq# 2 mem# 0: /data/oradata/orcl/redo2.log

Successful open of redo thread 1

Tue Dec 19 16:23:44 2023

MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set

Tue Dec 19 16:23:44 2023

SMON: enabling cache recovery

Tue Dec 19 16:23:44 2023

NSA2 started with pid=44, OS id=5399

ORA-01555 caused by SQL statement below (SQL ID: 4krwuz0ctqxdt, SCN: 0x0025.7f7d42df):

select ctime, mtime, stime from obj$ where obj# = :1

Errors in file /oracle/app/diag/rdbms/orcl/orcl/trace/orcl_ora_94696.trc:

ORA-00704: 引导程序进程失败

ORA-00704: 引导程序进程失败

ORA-00604: 递归 SQL 级别 1 出现错误

ORA-01555: 快照过旧: 回退段号 27 (名称为 "_SYSSMU27_4233559991$") 过小

Errors in file /oracle/app/diag/rdbms/orcl/orcl/trace/orcl_ora_94696.trc:

ORA-00704: 引导程序进程失败

ORA-00704: 引导程序进程失败

ORA-00604: 递归 SQL 级别 1 出现错误

ORA-01555: 快照过旧: 回退段号 27 (名称为 "_SYSSMU27_4233559991$") 过小

Error 704 happened during db open, shutting down database

USER (ospid: 94696): terminating the instance due to error 704

Instance terminated by USER, pid = 94696

ORA-1092 signalled during: alter database open resetlogs...

opiodr aborting process unknown ospid (94696) as a result of ORA-1092

通过以上信息,可以的出来以下结论:
1. 客户的硬件或者文件系统可能有问题,通过系统日志进一步确认底层异常

Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE

Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb]  Sense Key : Medium Error [current]

Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb]  Add. Sense: Unrecovered read error

Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] CDB: Read(10): 28 00 47 bc ff c0 00 01 00 00

Dec 19 08:28:38 tdb2 kernel: end_request: critical medium error, dev sdb, sector 1203568576

Dec 19 08:28:38 tdb2 kernel: end_request: critical medium error, dev dm-3, sector 1203568576

Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE

Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb]  Sense Key : Medium Error [current]

Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb]  Add. Sense: Unrecovered read error

Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] CDB: Read(10): 28 00 47 bd 00 c0 00 01 00 00

Dec 19 08:28:38 tdb2 kernel: end_request: critical medium error, dev sdb, sector 1203568832

Dec 19 08:28:38 tdb2 kernel: end_request: critical medium error, dev dm-3, sector 1203568832

Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE

Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb]  Sense Key : Medium Error [current]

Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb]  Add. Sense: Unrecovered read error

Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] CDB: Read(10): 28 00 47 bd 00 80 00 00 08 00

Dec 19 08:28:38 tdb2 kernel: end_request: critical medium error, dev sdb, sector 1203568768

Dec 19 08:28:38 tdb2 kernel: end_request: critical medium error, dev dm-3, sector 1203568768

Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE

Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb]  Sense Key : Medium Error [current]

Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb]  Add. Sense: Unrecovered read error

Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] CDB: Read(10): 28 00 9b 1a 28 20 00 01 00 00

Dec 19 16:20:01 tdb2 kernel: end_request: critical medium error, dev sdb, sector 2602182688

Dec 19 16:20:01 tdb2 kernel: end_request: critical medium error, dev dm-3, sector 2602182688

Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE

Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb]  Sense Key : Medium Error [current]

Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb]  Add. Sense: Unrecovered read error

Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] CDB: Read(10): 28 00 9b 1a 29 20 00 01 00 00

Dec 19 16:20:01 tdb2 kernel: end_request: critical medium error, dev sdb, sector 2602182944

Dec 19 16:20:01 tdb2 kernel: end_request: critical medium error, dev dm-3, sector 2602182944

Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE

Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb]  Sense Key : Medium Error [current]

Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb]  Add. Sense: Unrecovered read error

Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] CDB: Read(10): 28 00 9b 1a 29 00 00 00 08 00

Dec 19 16:20:01 tdb2 kernel: end_request: critical medium error, dev sdb, sector 2602182912

Dec 19 16:20:01 tdb2 kernel: end_request: critical medium error, dev dm-3, sector 2602182912

2. 数据库在强制拉库的时候,很可能是屏蔽了一致性,导致文件头scn过小
3. 在resetlogs之前,先offline了83号文件,这个将导致该文件的reseltogs scn和其他文件不一致,通过Oracle数据库异常恢复检查脚本(Oracle Database Recovery Check)
 

20231229095533



这个库由于客户在resetlogs之前offline了数据文件,导致一些麻烦,先使用Oracle Recovery Tools修改resetlogs scn
 

20231229100250


然后重建ctl,修改scn,打开数据库
 

20231229102556


hcheck检测字典一切正常

HCheck Version 07MAY18 on 26-12月-2023 18:44:20

----------------------------------------------

Catalog Version 11.2.0.1.0 (1102000100)

db_name: ORCL

                                   Catalog       Fixed          

Procedure Name                     Version    Vs Release    Timestamp      Result

------------------------------ ... ---------- -- ---------- -------------- ------

.- LobNotInObj                 ... 1102000100 <=  *All Rel* 12/26 18:44:20

PASS

.- MissingOIDOnObjCol          ... 1102000100 <=  *All Rel* 12/26 18:44:20

PASS

.- SourceNotInObj              ... 1102000100 <=  *All Rel* 12/26 18:44:20

PASS

.- IndIndparMismatch           ... 1102000100 <= 1102000100 12/26 18:44:21

PASS

.- InvCorrAudit                ... 1102000100 <= 1102000100 12/26 18:44:21

PASS

.- OversizedFiles              ... 1102000100 <=  *All Rel* 12/26 18:44:21

PASS

.- PoorDefaultStorage          ... 1102000100 <=  *All Rel* 12/26 18:44:21

PASS

.- PoorStorage                 ... 1102000100 <=  *All Rel* 12/26 18:44:21

PASS

.- PartSubPartMismatch         ... 1102000100 <= 1102000100 12/26 18:44:21

PASS

.- TabPartCountMismatch        ... 1102000100 <=  *All Rel* 12/26 18:44:21

*** 2023-12-26 18:44:21.507

PASS

.- OrphanedTabComPart          ... 1102000100 <=  *All Rel* 12/26 18:44:21

PASS

.- MissingSum$                 ... 1102000100 <=  *All Rel* 12/26 18:44:21

PASS

.- MissingDir$                 ... 1102000100 <=  *All Rel* 12/26 18:44:21

PASS

.- DuplicateDataobj            ... 1102000100 <=  *All Rel* 12/26 18:44:21

PASS

.- ObjSynMissing               ... 1102000100 <=  *All Rel* 12/26 18:44:21

PASS

.- ObjSeqMissing               ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- OrphanedUndo                ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- OrphanedIndex               ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- OrphanedIndexPartition      ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- OrphanedIndexSubPartition   ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- OrphanedTable               ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- OrphanedTablePartition      ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- OrphanedTableSubPartition   ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- MissingPartCol              ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- OrphanedSeg$                ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- OrphanedIndPartObj#         ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- DuplicateBlockUse           ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- FetUet                      ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- Uet0Check                   ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- ExtentlessSeg               ... 1102000100 <= 1102000100 12/26 18:44:22

PASS

.- SeglessUET                  ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- BadInd$                     ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- BadTab$                     ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- BadIcolDepCnt               ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- ObjIndDobj                  ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- TrgAfterUpgrade             ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- ObjType0                    ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- BadOwner                    ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- StmtAuditOnCommit           ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- BadPublicObjects            ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- BadSegFreelist              ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- BadDepends                  ... 1102000100 <=  *All Rel* 12/26 18:44:22

*** 2023-12-26 18:44:22.571

PASS

.- CheckDual                   ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- ObjectNames                 ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- BadCboHiLo                  ... 1102000100 <=  *All Rel* 12/26 18:44:22

PASS

.- ChkIotTs                    ... 1102000100 <=  *All Rel* 12/26 18:44:23

PASS

.- NoSegmentIndex              ... 1102000100 <=  *All Rel* 12/26 18:44:23

PASS

.- BadNextObject               ... 1102000100 <=  *All Rel* 12/26 18:44:23

PASS

.- DroppedROTS                 ... 1102000100 <=  *All Rel* 12/26 18:44:23

PASS

.- FilBlkZero                  ... 1102000100 <=  *All Rel* 12/26 18:44:23

PASS

.- DbmsSchemaCopy              ... 1102000100 <=  *All Rel* 12/26 18:44:23

PASS

.- OrphanedObjError            ... 1102000100 >  1102000000 12/26 18:44:23

PASS

.- ObjNotLob                   ... 1102000100 <=  *All Rel* 12/26 18:44:23

PASS

.- MaxControlfSeq              ... 1102000100 <=  *All Rel* 12/26 18:44:23

PASS

.- SegNotInDeferredStg         ... 1102000100 >  1102000000 12/26 18:44:23

PASS

.- SystemNotRfile1             ... 1102000100 >   902000000 12/26 18:44:23

*** 2023-12-26 18:44:23.779

PASS

.- DictOwnNonDefaultSYSTEM     ... 1102000100 <=  *All Rel* 12/26 18:44:23

PASS

.- OrphanTrigger               ... 1102000100 <=  *All Rel* 12/26 18:44:23

PASS

.- ObjNotTrigger               ... 1102000100 <=  *All Rel* 12/26 18:44:23

PASS

---------------------------------------

26-12月-2023 18:44:23  Elapsed: 3 secs

---------------------------------------

Found 0 potential problem(s) and 0 warning(s)

然后增加temp,导出数据数据,完成本次数据库救援

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

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

相关文章

scss使用for循环遍历,动态赋值类名并配置不同颜色

需求&#xff1a;后端要传入不同的等级&#xff0c;前端通过等级展示不同的字体颜色&#xff0c;通过scss遍历更有利于动态修改颜色或者增删等级 1.通过 for $i from 1 through 4 定义循环&#xff0c;索引值为i 2.nth($colors, $i) 取出对应的颜色 $colors: #ff0000, #00ff…

Vivado JESD204B与AD9162建立通信实战总结

一、FPGA与AD9162的JESD204B接口 FPGA作为JESD204B接口的发送端&#xff0c;AD9162作为JESD204B接口的接收端。FPGA和AD9162的device clk、SYSREF由同源时钟芯片产生。其中&#xff0c;FPGA和AD9162的divice clk时钟不同&#xff0c;并且FPGA的decive clk等同于JESD204B IP的co…

RK3568驱动指南|第九篇 设备模型-第100章 在总线目录下创建属性文件实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

qiankun微服务

官网 &#x1f4e6; 基于 single-spa 封装&#xff0c;提供了更加开箱即用的 API。 &#x1f4f1; 技术栈无关&#xff0c;任意技术栈的应用均可 使用/接入&#xff0c;不论是 React/Vue/Angular/JQuery 还是其他等框架。 &#x1f4aa; HTML Entry 接入方式&#xff0c;让你接…

如何利用ChatGPT处理文本、论文写作、AI绘图、文献查阅、PPT编辑、编程等

无论是进行代码生成、错误调试还是解决编程难题&#xff0c;ChatGPT都能为您提供实用且高质量的建议和指导&#xff0c;提高编程效率和准确性。此外&#xff0c;ChatGPT是一位出色的合作伙伴&#xff0c;可以为您提供论文写作的支持。它可以为您提供论文结构指导、段落重组建议…

低代码技术:颠覆数据孤岛的技术利器

在当今数据驱动的世界中&#xff0c;数据的价值无可忽视。然而&#xff0c;很多组织面临一个普遍的问题&#xff0c;即数据孤岛。数据孤岛指的是不同部门或系统之间无法有效共享和集成数据的情况。这限制了组织在数据驱动的决策和创新方面的能力。然而&#xff0c;低代码平台的…

关于HarmonyOs的参数传递UI刷新以及List,Grid嵌套数据传递,ui刷新问题总结

最近在学习开发过程中遇见一系列的参数传递以及ui刷新问题&#xff0c;在这里做个总结分享。 以下是在开发过程中遇见的问题&#xff1a; 1.页面与子组件之间的参数传递与UI刷新 2.Builder自定义内部子组件的参数传递与UI刷新 3.Grid与List item发生变化Ui刷新问题 4.List…

uniapp条件判断,在各平台执行不同代码等详解

文章目录 1️⃣ 条件判断1.1 方法支持1.2 写法1.3 js文件写法1.4 vue文件写法1.5 css文件写法1.6 平台名称详解优质资源分享作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/135260505 uniapp条件判断,在各平台执行不同代码等详解,uniapp代码…

keil如何查看flash和ram占用情况

Keil MDK编译器下查看占用Flash和SRAM空间大小_keil sdram 1k-CSDN博客 1、如何查看各函数占用内存大小&#xff1a; keil查看使用的内存还剩多少_keil如何查看空间-CSDN博客

陈述式资源管理(2)

命令行。声明式资源管理 三种常见的项目发布方式&#xff1a; 1、蓝绿发布 2、金丝雀发布&#xff08;灰度发布&#xff09; 3、滚动发布 应用程序升级&#xff0c;最大困难就是新旧业务之间的切换。立项 --- 定稿 --- 需求发布 --- 开发 --- 测试 --- 发布。测试之后上线…

docker搭建Dinky —— 筑梦之路

简介 Dinky 是一个 开箱即用 、易扩展 &#xff0c;以 Apache Flink 为基础&#xff0c;连接 OLAP 和 数据湖 等众多框架的 一站式 实时计算平台&#xff0c;致力于 流批一体 和 湖仓一体 的探索与实践。 主要功能 其主要功能如下&#xff1a; 沉浸式 FlinkSQL 数据开发&#x…

【感知机】感知机(perceptron)学习算法的原始形式

感知机( perceptron )是二类分类的线性分类模型&#xff0c;其输入为实例的特征向量&#xff0c;输出为实例的类别&#xff0c;取1 和-1二值。感知机对应输入空间(特征空间)中将实例划分为正负两类的分离超平面&#xff0c;是一种判别模型。感知机是神经网络与支持向量机的基础…

在Golang中如何配置WebSocket以使用wss

在Golang中配置WebSocket以使用wss&#xff08;WebSocket over TLS&#xff09;需要使用TLS&#xff08;Transport Layer Security&#xff09;来加密WebSocket连接。以下是一个简单的示例代码&#xff0c;演示了如何在Golang中配置WebSocket以使用wss&#xff1a; package ma…

C#_var

文章目录 一、前言二、隐式类型的局部变量2.1 var和匿名类型2.2 批注 三、总结 一、前言 C#中有一个 var 类型&#xff0c;不管什么类型的变量&#xff0c;都可以用它接收&#xff0c;实属懒人最爱了。 我没有了解过它的底层&#xff0c;甚至没看过它的说明文档&#xff0c;也…

大创项目推荐 深度学习动物识别 - 卷积神经网络 机器视觉 图像识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…

Windows10系统打开管理员命令提示符的六种

在Windows10系统的运行过程中&#xff0c;我们常常需要打开管理员命令提示符&#xff0c;打开Windows10系统管理员命令提示符的方法很多&#xff0c;下面总结一下打开Windows10系统管理员命令提示符的方法。 工具/原料 硬件&#xff1a;电脑 操作系统&#xff1a;Windows10 …

.NET国产化改造探索(一)、VMware安装银河麒麟

随着时代的发展以及近年来信创工作和…废话就不多说了&#xff0c;这个系列就是为.NET遇到国产化需求的一个闭坑系列。接下来&#xff0c;看操作。 安装银河麒麟 麒麟系统分银河麒麟和中标麒麟&#xff0c;我选择的是银河麒麟服务器版的&#xff0c;关于如何下载&#xff0c;…

传统企业数字化转型怎么做?建议掌握这“5要素,7步骤,12维度”

关于“传统企业数字化转型”的文章&#xff0c;我看过很多&#xff0c;但大多数的内容都比较虚幻&#xff0c;无法落地执行~ 基于此&#xff0c;下面我来给出具体的一些建议&#xff0c;供大家参考&#xff01; 一、传统企业数字化转型5要素 人、数据、洞察力、行动和结果。这…

Spring ApplicationEvent事件处理

Spring的事件 ApplicationEvent以及Listener是Spring为我们提供的一个事件监听、订阅的实现&#xff0c;内部实现原理是观察者设计模式&#xff0c;设计初衷也是为了系统业务逻辑之间的解耦&#xff0c;提高可扩展性以及可维护性。 ApplicationEvent就是Spring的事件接口Applic…

C# 中包含反斜线 \ 的字符串处理

在 C# 中&#xff0c;当您定义包含反斜线 \ 的文件路径字符串时&#xff0c;需要注意反斜线在字符串中通常用作转义字符的起始符。要在字符串中表示一个实际的反斜线字符&#xff0c;您有两个选择&#xff1a; 双反斜线&#xff1a;使用两个连续的反斜线 \\ 来表示一个实际的反…