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博客
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

空间大数据的数据变换与价值提炼

在数字化时代,空间大数据正成为推动社会经济发展的关键因素。空间大数据不仅体量巨大,而且具有高速流转、多样类型和真实性等特点,它们在获取、存储、管理、分析方面超出了传统数据库软件工具的能力范围。地理信息系统(GIS&#x…

AWS账号与邮箱的关系解析

在当今数字化时代,云计算服务的普及使得越来越多的企业和个人用户开始使用亚马逊网络服务(AWS)。作为全球领先的云服务平台,AWS为用户提供了丰富的计算、存储和数据库服务。然而,对于许多新用户来说,关于AW…

openresty通过header_filter_by_lua记录特定的请求头和特定的响应头到日志文件

有时我们希望记录特定的请求头信息和特定的响应头信息,以便能够通过关联请求信息和响应头信息,来实现记录请求和响应的对应关系。这里通过逐步尝试和优化的方式进行尝试。具体包括将需要的请求头和响应头组织到一条日志记录,输出到单独的错误日志文件记录等的配置尝试。 1.…

C语言中的文件操作:从基础到深入底层原理

文件操作是几乎所有应用程序的重要组成部分,特别是在系统级编程中。C语言因其高效、灵活以及接近硬件的特点,成为了文件操作的理想选择。本文将全面深入地探讨C语言中的文件操作,从文件系统的概念到具体的文件操作函数,再到底层的…

c++的哈希表、哈希桶的介绍与实现

目录 前言 哈希概念 哈希冲突 哈希函数 哈希冲突解决 闭散列 —— 开放定址法 开散列 —— 链地址法(拉链法、哈希桶) 哈希表的闭散列实现 哈希表的结构 哈希表的仿函数 哈希表的插入 哈希表的查找 哈希表的删除 哈希表的开散列实现&#xff…

如何查看默认网关地址:详细步骤

在日常的网络配置与故障排查中,了解并正确查看默认网关地址是一项基础且至关重要的技能。默认网关是连接本地网络与外部网络(如互联网)的关键节点,它扮演着数据包转发的重要角色。无论是家庭网络、办公室网络还是更复杂的网络环境…

MySQL:基于Spring监听Binlog日志

binlog的三种模式 MySQL 的二进制日志(binlog)有三种不同的格式,通常被称为 binlog 模式。这三种模式分别是 Statement 模式、Row 模式和Mixed 模式。 Statement 模式: 在 Statement 模式下,MySQL 记录每个会更改数…

【编程语言】Kotlin快速入门 - 类与对象

类的组成 Kotlin中类的基本组成可写成以下的形式,Kotlin也是使用class关键字声明一个类的,我在此也同时加入了name和age两个字段。 class Student: Person() {var name ""var age 1fun eat() {println("$name is $age")} }Kotli…

WebGL编程指南 - 入门续

相关内容:在attribute变量传递参数的基础上,通过JavaScript获取鼠标事件的坐标,再经过坐标转换传递给attribute变量;Web颜色缓冲区每次绘制之后都会重置相关函数:JavaScript鼠标事件onmousedown/onmouseup/onclick htm…

0基础学java之Day09(下午完整版)

六、数组 概念: 1.数组是引用数据类型 2.数组中的数据叫做元素 3.元素都有标号叫做索引/下标 4.下标从0开始 5.数组一旦初始化成功,长度不可变(意味着数组没有添加和删除) 6.数组中的元素在内存中是挨在一起的 声明: 数…

数据结构与算法 - 树 #数的概念 #二叉树 #堆 - 堆的实现/堆排序/TOP-K问题

文章目录 前言 一、树 (一)、概念 1、树的定义 (二)、树的定义 1、树为什么是递归定义的? 2、如何定义树(如何表达一棵树) 解决方案一:假设我们得知该树的度 解决方案二:顺序表 解决方案三:左孩子右兄弟表示法 二、二叉…

人工智能是否会取代人类的工作吗? 就业方向该如何抉择

人工智能是否会取代人类的工作一直是备受关注的话题。目前来看,人工智能在某些方面确实展现出了强大的能力,但要说完全取代人类还不太可能。 一、人工智能的优势 高效处理大量数据 人工智能可以快速处理和分析海量数据,例如在金融领域进行风…

linux------缓冲区与C库的原理

前言 一、缓冲区 缓冲区的作用是提高效率,因为将数据写入到设备,是需要调用系统接口的,如果每次写入缓冲区的数据就调用一次系统调用,涉及到系统调用这时操作系统就会介入,用户态转为内核态,这个过程需要时…

解决PyCharm 2023 Python Packages列表为空

原因是因为没有设置镜像源 展开 > 之后,这里 点击齿轮 添加一个阿里云的源 最后还需要点击刷新 可以选择下面的任意一个国内镜像源: 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/…

Vue3 集成Monaco Editor编辑器

Vue3 集成Monaco Editor编辑器 1. 安装依赖2. 使用3. 效果 Monaco Editor (官方链接 https://microsoft.github.io/monaco-editor/)是一个由微软开发的功能强大的在线代码编辑器,被广泛应用于各种 Web 开发场景中。以下是对 Monaco Editor 的…

微深节能 料场堆取料无人操作系统 格雷母线

微深节能的料场堆取料无人操作系统采用了格雷母线定位系统,这是一种高精度位移检测技术,用于提升料场作业的自动化水平和精确性。该系统通过精准定位和自动化控制,大幅减少了人工操作中的误差和延误,提高了作业效率和精确性。格雷…

Jenkins入门(二):流水线方式部署多模块Springboot项目

目录 一、环境准备 1. 搭建配置Jenkins (在上一篇基础上进行) 2. 安装mysql 3. 安装redis 4. 配置docker-componse 5. 启动docker-componse 二、脚本准备 1. Jenkinsfile 2. deploy.sh 3. Dockerfile 三、Jenkins流水线配置 新增版本号参数 流水线选择代码里面的Je…

Python酷库之旅-第三方库Pandas(158)

目录 一、用法精讲 721、pandas.Timedelta.round方法 721-1、语法 721-2、参数 721-3、功能 721-4、返回值 721-5、说明 721-6、用法 721-6-1、数据准备 721-6-2、代码示例 721-6-3、结果输出 722、pandas.Timedelta.to_pytimedelta方法 722-1、语法 722-2、参数…

农作物苹果叶片病虫害识别数据集

农作物苹果叶片病虫害识别数据集 一、引言 农作物病虫害是影响农业生产的重要因素之一,其中苹果作为广泛种植的水果品种,其叶片病虫害问题尤为突出。为了有效应对苹果叶片病虫害,提高苹果产量和品质,农业科研机构和学者不断开展…