当前位置: 首页 > news >正文

redo文件误删除后通过逻辑备份进行恢复

问题描述
开发同事让在一个服务器上查找下先前库的备份文件是否存在,如果存在进行下恢复。翻了服务器发现备份文件存在,多愁了一眼竟翻到了该备份文件于2024.6.17日恢复过的日志,赶紧和开发沟通说2024.6.17号已经恢复过了为啥还要恢复,开发这才说出关键:前几天清理磁盘,不小心将log文件删除了现在库不能启动,咨询了另一个DBA说是得重新恢复。可见沟通很关键啊,沟通后可不敢直接开干,多问问多翻翻多核实。
分析过程
查看服务器上备份文件
说明:db_20240617_TOPICIS_5238.dmp是由其他服务器上备份后上传到该服务器上并进行恢复的,db_20240617_TOPICIS_5238_imp.log是恢复日志。
[dmdba@db191 dmbak]$ ls -lhtr TOPICIS
-rw------- 1 dmdba dinstall 91G 6月 17 23:06 db_20240617_TOPICIS_5238.dmp
-rw------- 1 dmdba dinstall 1.8M 6月 17 23:06 db_20240617_TOPICIS_5238_exp.log
-rw-r–r-- 1 dmdba dinstall 3.1M 6月 18 04:37 db_20240617_TOPICIS_5238_imp.log
启动实例
查看配置文件
–查找配置文件
[root@db191 dmbak]# find / -name dm.ini
/opt/dmdb/topicis/topicis/dm.ini
/opt/dmdb/dzzzk/dzzzk/dm.ini
/opt/dmdb/DMSERVER/DAMENG/dm.ini
/opt/dmdb/xzspkp5555/xzspkp/dm.ini

–查看配置文件内容
[root@db191 dmbak]# cat /opt/dmdb/topicis/topicis/dm.ini | grep PORT
PORT_NUM = 5238 #Port number on which the database server will listen
ELOG_REPORT_LINK_SQL = 0 #Whether to write the SQLs that sent to remote database by DBLINKs into error log file
DFS_HUGE_SUPPORT = 1 #Whether support huge table operation in DDFS
EXTERNAL_JFUN_PORT = 6363 #DmAgent port for external java fun.
EXTERNAL_AP_PORT = 4236 #DmAp port for external fun.
DCRS_PORT_NUM = 6236 #Port number on which the database dcrs will listen
AP_PORT_NUM = 0 #Port number on which the database ap will listen
DW_PORT = 0 #Instance tcp port for watch2
HA_INST_CHECK_PORT = 65534 #HA instance check port
查看实例服务
db_20240617_TOPICIS_5238.dmp对应的是DmServiceTOPICIS.service
[root@db191 dmbak]# systemctl list-units D*
UNIT LOAD ACTIVE SUB DESCRIPTION
DmAPService.service loaded active running DM Assistant Plug-In Service(DmAPService).
DmServiceDMSERVER.service loaded active running DM Instance Service
● DmServicedzzzk.service loaded failed failed DM Instance Service
● DmServiceTOPICIS.service loaded failed failed DM Instance Service
DmServicexzspkp.service loaded active running DM Instance Service
启动实例
[root@db191 dmbak]# systemctl start DmServiceTOPICIS
Job for DmServiceTOPICIS.service failed because the control process exited with error code. See “systemctl status DmServiceTOPICIS.service” and “journalctl-xe” for details.
启动失败
查看启动失败日志
日志位置:安装目录/log下
cd /opt/dmdbms/log
tail -300f dm_TOPICIS_202410.log
输出如下:
2024-10-16 13:43:30.587 [INFO] database P0000001716 T0
000000000000001716 DM Database Server 64 V8 03134284044-20230703-194450-20040 startup…
2024-10-16 13:43:31.840 [INFO] database P0000001716 T0000000000000001716 fil_sys_init
2024-10-16 13:43:31.990 [INFO] database P0000001716 T0000000000000001716 Database mode = 0, oguid = 0
2024-10-16 13:43:31.991 [FATAL] database P0000001716 T0000000000000001716 /opt/dmdb/topicis/topicis/topicis01.log not exist,can not startup
2024-10-17 09:07:28.861 [INFO] database P0000020309 T0000000000000020309 INI parameter DPC_2PC changed, the original value 1, new value 0
2024-10-17 09:07:28.866 [INFO] database P0000020309 T0000000000000020309 version info: develop
2024-10-17 09:07:28.868 [INFO] database P0000020309 T0000000000000020309 os_sema2_create_low, create and inc sema success, key:125441262, sem_id:2, sem_value:1!
2024-10-17 09:07:28.874 [INFO] database P0000020309 T0000000000000020309 ini_set_secini, ini parameter PWD_POLICY changed, the original value 2, new value0
2024-10-17 09:07:29.650 [INFO] database P0000020309 T0000000000000020309 DM Database Server 64 V8 03134284044-20230703-194450-20040 startup…
2024-10-17 09:07:29.924 [INFO] database P0000020309 T0000000000000020309 fil_sys_init
2024-10-17 09:07:30.075 [INFO] database P0000020309 T0000000000000020309 Database mode = 0, oguid = 0
2024-10-17 09:07:30.075 [FATAL] database P0000020309 T0000000000000020309 /opt/dmdb/topicis/topicis/topicis01.log not exist,can not startup
解决办法
查看初始化参数
着重关注的参数有:
page size:单位字节 而初始化参数界面单位是K,注意转换
extent size:单位页
case sensitive:取值:Y、y、1 表示敏感;N、n、0 表示不敏感。默认值为 Y
charset:0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。默认为 0
length in char:VARCHAR 类型对象的长度是否以字符为单位。取值为 1 或者 Y 表示是,取值为 0 或 N 表示否。默认值为 0
cd /opt/dmdb/topicis/topicis
ls -l dminit*
输出如下:
[dmdba@db191 topicis]$ ls -l dminit*
-rw-r–r-- 1 dmdba dinstall 1009 6月 17 22:09 dminit20240617220946.log
[dmdba@db191 topicis]$ more dminit20240617220946.log
start init database: V8, 2024-06-17 22:09:46
init params:
db path: /opt/dmdb/topicis/topicis
db name: topicis
auto overwrite: 0
page size: 8192
extent size: 16
char_fix_storage: 0
sql_log_forbid: 0
secur_flag: 2
time zone: +08:00
string case sensitive: 1
charset: 1
length in char: 0
page check mode: 0
page check algorithm id: 0
priv flag: 0
env label: 0
rlog enc flag: 0
use new hash: 1
blank pad mode: 0
sec priv mode: 0
huge with delta: 1
rlog gen for huge: 1
pseg_mgr_flag: 0
log file path: /opt/dmdb/topicis/topicis/topicis01.log
log file path: /opt/dmdb/topicis/topicis/topicis02.log
create ini file /opt/dmdb/topicis/topicis/dm.ini success.
create rlog file /opt/dmdb/topicis/topicis/topicis01.log success.
create rlog file /opt/dmdb/topicis/topicis/topicis02.log success.
SYSTEM file : /opt/dmdb/topicis/topicis/SYSTEM.DBF
MAIN file : /opt/dmdb/topicis/topicis/MAIN.DBF
ROLL file : /opt/dmdb/topicis/topicis/ROLL.DBF
create dm database success. 2024-06-17 22:09:50
移除系统服务(重要)
systemctl disable DmServiceTOPICIS

cd /opt/dmdbms/bin
ls -l DmServiceTOPICIS
mv DmServiceTOPICIS DmServiceTOPICIS_bak_date +%F
,不然后面初始化实例提示如下报错:

更改故障实例的端口(重要)
将/opt/dmdb/topicis/topicis/dm.ini中的PORT_NUM更改为未占用的端口,本文档更改为9999,不然后面初始化实例提示如下报错:

创建新的数据目录并赋予权限
mkdir -p /opt/dmdb/topicis/topicisnew
chown -R dmdba:dinstall /opt/dmdb/topicis/topicisnew
初始化新实例
采用的是图形化,避免参数错。
运行Xmanager Power Suite 7下tools文件夹下的Xmanager - Passive工具
su - dmdba
export DISPLAY=192.168.19.74:0.0
cd /opt/dmdbms/tool
./dbca.sh

执行以下脚本
su - root
mv /opt/dmdbms/bin/DmServicetopicis.service /usr/lib/systemd/system/DmServicetopicis.service
systemctl enable DmServicetopicis.service
systemctl start DmServicetopicis.service

创建业务用户
create user topicis identified by “123456789”
limit failed_login_attemps unlimited, password_lock_time unlimited, password_grace_time unlimited;

grant “DBA” to topicis;
逻辑恢复
su - dmdba
nohup /opt/dmdbms/bin/dimp USERID=topicis/123456789:5238 FILE=db_20240617_TOPICIS_5238.dmp DIRECTORY=/opt/dmbak LOG=db_20241017_TOPICIS_5238_imp.log LOG_WRITE=Y PARALLEL=28 &
参考链接:达梦DM8之使用dmmdf恢复误删除的undo/redo文件_file dm.key not found, use default license!-CSDN博客
在这里插入图片描述

相关文章:

redo文件误删除后通过逻辑备份进行恢复

问题描述 开发同事让在一个服务器上查找下先前库的备份文件是否存在,如果存在进行下恢复。翻了服务器发现备份文件存在,多愁了一眼竟翻到了该备份文件于2024.6.17日恢复过的日志,赶紧和开发沟通说2024.6.17号已经恢复过了为啥还要恢复&#x…...

7805的输出电压如何调整?

7805稳压集成电路的输出电压通常是固定的,标称为5V。然而,在实际应用中,可以通过一些方法调整其输出电压,尽管这些调整方法可能会使电路变得更加复杂或需要额外的元件。以下是几种可能的调整方法: 1. 使用不同型号的稳…...

git命令使用一览【自用】

git常见操作: git initgit remote add master【分支名字】 gitgits.xxxxx【仓库中获取的ssh链接或者http协议的链接】检查远程仓库是否链接成功。 git remote -v出现以下画面就可以git pull,git push了...

MES系列-报表和分析

MES系列-报表和分析 MES系列文章目录 ISA-95制造业中企业和控制系统的集成的国际标准-(1) ISA-95制造业中企业和控制系统的集成的国际标准-(2) ISA-95制造业中企业和控制系统的集成的国际标准-(3) ISA-95制造业中企业和控制系统的集成的国际标准-(4) ISA-95制造业中企业和控制…...

如何在分布式环境中实现高可靠性分布式锁

目录 一、简单了解分布式锁 (一)分布式锁:应对分布式环境的同步挑战 (二)分布式锁的实现方式 (三)分布式锁的使用场景 (四)分布式锁需满足的特点 二、Redis 实现分…...

Vue基础(4)

自定义指令 除了默认设置的核心指令( v-model 和 v-show ), Vue 也允许注册自定义指令。在vue中使用directive来创建自定义指令 钩子函数 指令定义函数提供了几个钩子函数(可选): bind: 只调用一次,指令第一次绑定到元素时调用&…...

Redis高阶篇之Redis单线程与多线程

文章目录 0 前言1. 为什么Redis是单线程?1.1 Redis单线程1.2 为什么Redis3时代单线程快的原因1.3 使用单线程原因 2.为什么逐渐加入多线程呢?2.1 如何解决 3.redis6/7的多线程特性和IO多路复用入门3.1主线程和IO线程怎么协作完成请求处理的3.2 Unix网络编…...

【C++】STL——priority_queue优先级队列

目录 前言priority_queue的使用简单使用在OJ中的使用 priority_queue的模拟实现基本功能仿函数在这里插入图片描述 前言 上一节我们说了stack和queue这两种容器适配器,而priority_queue(优先级队列)同样也是属于容器适配器,它会优…...

大数据新视界 --大数据大厂之大数据在智慧城市建设中的应用:打造智能生活的基石

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

使用枚举来实现策略模式

使用很多if else的场景 public void save(String type,Object data){if("db".equals(type)){saveInDb(data);}else if("file".equals(type)){saveInFile(data);}else if("oss".equals(type)){saveInOss(data);}}使用枚举来解决 public enum Save…...

区块链技术原理

1. 引言 区块链的定义 区块链是一种分布式账本技术(Distributed Ledger Technology,DLT),其核心特征是通过密码学的方式将数据打包成一个个区块,按时间顺序依次相连,形成一个不可篡改、公开透明的链式数据…...

Spring Boot 接口数据加解密

今天聊下接口安全问题,涉及到接口的加密和解密 经常和外部单位接口调用梳理了相关技术方案,主要的需求点如下: 1,尽量少改动,不影响之前的业务逻辑 2,考虑到时间紧迫性,可采用对称性加密方式&…...

2018年计算机网络408真题解析

第一题: 解析:TCP/IP体系结构应用层常用协议及其相应的运输层协议 TCP协议是面向连接可靠数据传输服务,UDP无连接不可靠的数据传输服务,IP无连接不可靠的数据连接服务。 FTP协议,SMTP协议和HTTP协议使用TCP协议提供的面…...

Javascript 脚本查找B站限时免费番剧

目录 前言 脚本编写 脚本 前言 B站的一些番剧时不时会“限时免费”,白嫖党最爱,主打一个又占到便宜的快乐。但是在番剧索引里却没有搜索选项可以直接检索“限时免费”的番剧,只能自己一页一页的翻去查看,非常麻烦。 自己找限…...

YoloV10改进策略:主干网络改进|DeBiFormer,可变形双级路由注意力|全网首发

摘要 在目标检测领域,YoloV10以其高效和准确的性能而闻名。然而,为了进一步提升其检测能力,我们引入了DeBiFormer作为YoloV10的主干网络。这个主干网络的计算量比较大,不过,上篇双级路由注意力的论文受到很大的关注,所以我也将这篇论文中的主干网络用来改进YoloV10,卡多…...

C#学习笔记(一)

C#学习笔记(一) 简介第一章 上位机开发环境之 VS 使用和.NET 平台基础一、安装软件二、创建项目三、第一个Hello world四、解决方案与项目五、Debug 和 Release 的区别六、代码的生产过程七、CLR的其它功能 简介 C# .NET工控上位机开发 在工控领域&…...

MATLAB边缘检测

一、目的: 熟悉边缘检测原理,并运用matlab软件实现图像的canny边缘检测,体会canny边缘检测的优缺点。 二、内容: 编写matlab程序,实现对lena图像的边缘检测,输出程序运行结果。 三、原理或步骤&#x…...

Tortoise SVN 安装汉化教程(乌龟SVN)

1.首先下载 去官网下载 如果下载比较慢的,链接自取 https://pan.quark.cn/s/cb6f2eee3f90 2. 安装Tortoise SVN 无脑next到完成 最后到桌面右键 你就发现svn出来了,但是是英文的!!!! 像我这种英文不好的…...

深入了解Spring重试组件spring-retry

在我们的项目中,为了提高程序的健壮性,很多时候都需要有重试机制进行兜底,最多就场景就比如调用远程的服务,调用中间件服务等,因为网络是不稳定的,所以在进行远程调用的时候偶尔会产生超时的异常&#xff0…...

海南聚广众达电子商务咨询有限公司靠谱吗怎么样?

在当今这个数字化浪潮席卷全球的时代,抖音电商以其独特的魅力成为了众多商家争相入驻的新蓝海。而在这片浩瀚的电商海洋中,如何找到一家既专业又可靠的合作伙伴,成为了众多商家心中的一大难题。今天,我们就来深入剖析一下海南聚广…...

XML Group端口详解

在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...

Selenium常用函数介绍

目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...