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

RMAN异机恢复数据库记录

场景:数据库服务器宕机,无法恢复

处理:使用备份资料进行异地恢复

1.此处环境为同平台、同版本(操作系统版本可以不同,但数据库版本需相同),源机器和目标机器具有相同的目录结构。

2.目标机器只需要安装oracle数据库软件,不创建数据库。

操作系统版本 : CentOS 6.5 x64

数据库版本 : Oracle 11.2.0.1 x64

3、启动数据库至nomount

1)复制pfile至$HOME/dbs/

cp /worktmp/wms/pfile_2022-10-18.ora $ORACLE_HOME/dbs/initorcl.ora

创建pfile内涉及的所有路径

mkdir -p /u01/app/oracle

mkdir -p /u01/app/oracle/admin/orcl/adump

mkdir -p /u01/app/oracle/oradata/orcl

mkdir -p /u01/app/oracle/fast_recovery_area

mkdir -p /u01/app/oracle/arch/

mkdir -p /u01/app/oracle/oradata/orcl

以pfile启动数据库至nomount

startup nomount pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora';

以pfile创建spfile

create spfile from pfile;

关闭实例,再以spfile启动数据库至nomount

shutdown immediate;

startup nomount;

  1. 还原控制文件

RMAN> restore controlfile from '/worktmp/wms/c-1479196590-20221018-00';

  1. 启动数据库至mount

RMAN> sql 'alter database mount';

  1. 注册备份资料

RMAN>catalog start with '/u01/backup/';

  1. 还原数据库

RMAN> restore database;

  1. 检查备份资料

RMAN> list backup;

  1. 恢复数据库

RMAN> recover database

以OPEN RESETLOGS方式打开数据库

RMAN> sql 'alter database open resetlogs';

生成密码文件

orapwd file=$ORACLE_HOME/dbs/orapworcl password=Cqhkc_123 force=y

恢复listener.ora,重启数据库和监听。

**************************************

chown -R oracle:oinstall /u01

su oracle

mkdir -p /u01/app/oracle/oradata/YILIAO

mkdir -p /u01/app/oracle/admin/YILIAO/adump

mkdir -p /u01/app/oracle/arch

恢复spfile

rman target /

startup nomount

   

restore spfile from '/u01/backup/data/dbfull_20230901/control_c-4281347953-20230901-01';

恢复pfile 即initYILIAO.ora

sqlplus / as sysdba

create pfile from spfile;

startup nomount

恢复控制文件

rman target /

restore controlfile from '/u01/backup/data/dbfull_20230901/control_c-4281347953-20230901-01';

sql 'alter database mount';

向controlfile中注册rman信息。

catalog start with '/u01/backup/data/dbfull_20230901/';

不识别的文件选择NO

list backup; 查看备份

restore database;

数据量大的话可以多开几个通道:

run {

allocate channel c1 device type disk;

allocate channel c2 device type disk;

allocate channel c3 device type disk;

allocate channel c4 device type disk;

restore database;

switch datafile all;

recover database;

}

recover database;

RMAN-03002: failure of recover command at 10/10/2023 17:06:49

RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 5204 and starting SCN of 17513607179

此错误的原因是恢复需要的日志记录在控制文件或恢复目录中找不到。解决方法分两种情况:

1.如果相关的日志存在且可用的话,就将此日志记录添加到控制文件或恢复目录中。

2.如果相关的日志已经被删除了或不可用了,那么就按照错误的提示scn将数据库恢复到此scn,本案例是17513607179。也就是说此时数据库只能进行不完全恢复了,在打开数据库时得使用resetlogs打开。

RMAN> recover database until scn 17513607179;  实际执行了这个运行正常,好像归档日志没恢复

或者:

recover database until sequence 5203

run{

      set until sequence 5203;

      recover database;

      }

list backup of archivelog sequence=5204  查看

打开数据库,重新生成归档日志

alter database open resetlogs;

sql 'alter database open resetlogs';

恢复密码文件:

将拷贝过来的密码文件恢复至数据库对应目录下:

cp /u01/rman/orapworcl /u01/oracle/product/11.2.0.4/db_1/dbs/orapworcl

或者手动创建密码文件:

orapwdfile='/u01/oracle/product/11.2.0.4/db_1/dbs/orapworcl' password=oracle entries=30 force=y

注意:

nomount下进行恢复参数文件与控制文件

mount下恢复数据文件

相关文章:

RMAN异机恢复数据库记录

场景:数据库服务器宕机,无法恢复 处理:使用备份资料进行异地恢复 1.此处环境为同平台、同版本(操作系统版本可以不同,但数据库版本需相同),源机器和目标机器具有相同的目录结构。 2.目标机器只…...

JVM 调优篇7 调优案例4- 线程溢出

一 线程溢出 1.1 报错信息 每个 Java 线程都需要占用一定的内存空间,当 JVM 向底层操作系统请求创建一个新的 native 线程时,如果没有足够的资源分配就会报此类错误。报错信息:java.lang.outofmemoryError:unable to create new Native Thr…...

C++类与对象(三)

目录 1.再谈构造函数 1.1 构造函数体赋值 1.2 初始化列表 1.3 explicit关键字 2.STATIC成员 2.1 概念 2.2 特性 3.C中成员初始化的新玩法 4.友元 4.1 友元函数 4.2 友元类 5.内部类 6.再次理解封装 7.再次理解面向对象 本次内容大纲: 1.再谈构造函数 …...

云栖实录 | 阿里云 OpenLake 解决方案重磅发布:多模态数据统一纳管、引擎平权联合计算、数据共享统一读写

新一轮人工智能浪潮正在重塑世界,以生成式 AI 为代表的技术快速应用,推动了数据与智能的深化融合,同时也给数据基础设施带来了全新的变革与挑战。面向 AI 时代的数据基础设施如何构建?底层数据平台架构在 AI 时代如何演进&#xf…...

《线性代数》学渣笔记

文章目录 1 行列式1.1 克拉默法则1.2 基本性质1.3 余子式 M i j M_{ij} Mij​1.4 代数余子式 A i j ( − 1 ) i j ⋅ M i j A_{ij} (-1)^{ij} \cdot M_{ij} Aij​(−1)ij⋅Mij​1.5 具体型行列式计算(化为基本型)1.5.1 主对角线行列式:主…...

对网页聊天项目进行性能测试, 使用JMeter对于基于WebSocket开发的webChat项目的聊天功能进行测试

登录功能 包括接口的设置和csv文件配置 ​​​​​​ 这里csv文件就是使用xlsx保存数据, 然后在浏览器找个网址转成csv文件 注册功能 这里因为需要每次注册的账号不能相同, 所以用了时间函数来当用户名, 保证尽可能的给正确的注册数据, 时间函数使用方法如下 这里输入分钟, 秒…...

《程序猿之设计模式实战 · 适配器模式》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…...

Elasticsearch案例

目录 一、创建索引 二、准备数据 三、环境搭建 (1)环境搭建 (2)创建实体类 (3)实现Repository接口 四、实现自动补全功能 五、实现高亮搜索关键字功能 (1)在repository接口中…...

SpringBoot 项目如何使用 pageHelper 做分页处理 (含两种依赖方式)

分页是常见大型项目都需要的一个功能,PageHelper是一个非常流行的MyBatis分页插件,它支持多数据库分页,无需修改SQL语句即可实现分页功能。 本文在最后展示了两种依赖验证的结果。 文章目录 一、第一种依赖方式二、第二种依赖方式三、创建数…...

GSR关键词排名系统是针对谷歌seo的吗?

是的,GSR关键词排名系统专门针对谷歌SEO,具体通过外部优化手段快速提升关键词排名。不同于传统的SEO策略,GSR系统并不依赖于对网站内容的调整或内部优化,完全通过站外操作实现效果。这意味着,用户不需要花费精力在网站…...

HarmonyOS Next开发----使用XComponent自定义绘制

XComponent组件作为一种绘制组件,通常用于满足用户复杂的自定义绘制需求,其主要有两种类型"surface和component。对于surface类型可以将相关数据传入XComponent单独拥有的NativeWindow来渲染画面。 由于上层UI是采用arkTS开发,那么想要…...

什么是电商云手机?可以用来干什么?

随着电商行业的迅速发展,云手机作为一种创新工具正逐渐进入出海电商领域。专为外贸市场量身定制的出海电商云手机,已经成为许多外贸企业和出海电商卖家的必备。本文将详细介绍电商云手机是什么以及可以用来做什么。 与国内云手机偏向于游戏场景不同&…...

Python 2 和 Python 3的差异

Python 2 和 Python 3 之间有许多差异,Python 3 是 Python 语言的更新版本,目的是解决 Python 2 中的一些设计缺陷,并引入更现代的编程方式。以下是 Python 2 和 Python 3 之间的一些主要区别: 文章目录 1. print 语句2. 整除行为…...

Leetcode 第 139 场双周赛题解

Leetcode 第 139 场双周赛题解 Leetcode 第 139 场双周赛题解题目1:3285. 找到稳定山的下标思路代码复杂度分析 题目2:3286. 穿越网格图的安全路径思路代码复杂度分析 题目3:3287. 求出数组中最大序列值思路代码复杂度分析 题目4:…...

spring 注解 - @NotEmpty - 确保被注解的字段不为空,而且也不是空白(即不是空字符串、不是只包含空格的字符串)

NotEmpty 是 Bean Validation API 提供的注解之一,用于确保被注解的字段不为空。它检查字符串不仅不是 null,而且也不是空白(即不是空字符串、不是只包含空格的字符串)。 这个注解通常用在 Java 应用程序中,特别是在处…...

深入理解华为仓颉语言的数值类型

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在编程过程中,数据处理是开发者必须掌握的基本技能之一。无论是开发应用程序还是进行算法设计,了解不同数据类型的特性和用途都至关重要。本文将深入探讨华为仓颉语言中的基本数…...

WPF 的TreeView的TreeViewItem下动态生成TreeViewItem

树形结构仅部分需要动态生成TreeViewItem的可以参考本文。 xaml页面 <TreeView MinWidth"220" ><TreeViewItem Header"功能列表" ItemsSource"{Binding Functions}"><TreeViewItem.ItemTemplate><HierarchicalDataTempla…...

使用Go语言的互斥锁(Mutex)解决并发问题

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在并发编程中,由于存在竞争条件和数据竞争,我们需要将某些代码片段设定为临界区,并使用互斥锁(Mutex)等同步原语来保护这些临界区。本文将详细介绍Go语言标准库中Mutex的使用方法,以及如何利用它来解决实际…...

Android平台Unity3D下如何同时播放多路RTMP|RTSP流?

技术背景 好多开发者&#xff0c;提到希望在Unity的Android头显终端&#xff0c;播放2路以上RTMP或RTSP流&#xff0c;在设备性能一般的情况下&#xff0c;对Unity下的RTMP|RTSP播放器提出了更高的要求。实际上&#xff0c;我们在前几年发布Unity下直播播放模块的时候&#xf…...

网络:TCP协议-报头字段

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》《网络》 文章目录 前言一、TCP协议格式16位源端口号 和 16位目的端口号4位首部长度16位窗口大小32位序号 和 32位确认序号6种标记位 和 16位紧急指针 总结 前言 本文是我对于TCP协…...

Armv9 SME2架构下BFloat16计算优化与机器学习加速

1. SME2指令集与BFloat16计算优化解析在Armv9架构的SME2扩展中&#xff0c;BFloat16&#xff08;简称BF16&#xff09;支持成为机器学习加速的关键特性。这种16位浮点格式通过截断IEEE 754单精度浮点的尾数位&#xff08;从23位减至7位&#xff09;&#xff0c;同时保留完整的8…...

Keil MDK中HEX文件未生成的8.3路径问题解析

1. 问题现象与背景解析 在嵌入式开发领域&#xff0c;Keil MDK&#xff08;Microcontroller Development Kit&#xff09;是广泛使用的集成开发环境&#xff0c;尤其针对C166系列微控制器。最近遇到一个典型问题&#xff1a;开发者在Vision1环境中配置了L166链接器和OH166 HEX转…...

从谐波治理到能量回馈:深入聊聊LCL滤波器在光伏逆变器和PWM整流器里的那些关键设计

LCL滤波器设计实战&#xff1a;从谐波抑制到能量回馈的工程权衡 在光伏逆变器和PWM整流器设计中&#xff0c;电流谐波治理一直是工程师面临的核心挑战。当项目要求总谐波失真率(THD)必须低于3%时&#xff0c;传统L滤波器往往力不从心——要么需要超大电感量导致体积膨胀&#x…...

【NotebookLM评论反馈功能深度解析】:20年AI产品专家揭秘谷歌最新协作黑科技如何重塑知识管理流程?

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM评论反馈功能的诞生背景与战略定位 NotebookLM 作为 Google 推出的面向研究者与知识工作者的 AI 笔记工具&#xff0c;其核心价值在于“基于可信来源的深度理解”——而非泛化生成。在早期用…...

从电话到流媒体:聊聊G.711、G.726这些老牌音频编码为啥还在用?

从电话到流媒体&#xff1a;G.711与G.726音频编码的生存之道 在数字音频技术日新月异的今天&#xff0c;MP3、AAC、Opus等现代编码格式早已成为流媒体和消费级应用的标配。然而&#xff0c;当你拆开一台最新的IP电话机&#xff0c;或是调试某款工业级语音设备时&#xff0c;大概…...

【免费下载】 华为光猫超级用户名密码获取工具

华为光猫超级用户名密码获取工具 【下载地址】华为光猫超级用户名密码获取工具 华为光猫超级用户名密码获取工具是一款专为华为光猫设计的辅助工具&#xff0c;主要用于获取光猫的VLAN ID。该工具通过将一系列命令编写成批处理文件&#xff0c;实现自动化执行&#xff0c;无需用…...

深入QGIS矢量数据底层:手写WKT字符串添加几何图形,一次搞懂空间数据存储原理

深入QGIS矢量数据底层&#xff1a;手写WKT字符串添加几何图形&#xff0c;一次搞懂空间数据存储原理 当你第一次在QGIS中看到一个点、一条线或一个多边形时&#xff0c;是否好奇过这些图形在计算机中究竟是如何被存储和表达的&#xff1f;本文将带你从最基础的WKT字符串开始&am…...

不只是CT重建:手把手教你用RTK+ITK+VS2022搭建可扩展的医学影像处理开发环境

构建医学影像算法开发平台&#xff1a;RTKITKVS2022全流程实战指南 医学影像处理领域正迎来前所未有的技术革新&#xff0c;从传统的CT重建到三维可视化、病灶自动检测等高级应用&#xff0c;开发者需要一套稳定且可扩展的开发环境。本文将带您从零开始&#xff0c;在Windows平…...

ARM内存拷贝指令CPYFPT/CPYFMT/CPYFET详解与优化

1. ARM内存拷贝指令概述在现代计算机体系结构中&#xff0c;内存拷贝是最基础也是最频繁的操作之一。传统的内存拷贝通常通过软件循环实现&#xff0c;这种方式简单但效率不高。ARM架构从v8.7-A开始引入了一组专门的内存拷贝指令——CPYFPT、CPYFMT和CPYFET&#xff0c;它们构成…...

基板式PCB与嵌入式芯片:下一代电子系统集成的核心技术解析

1. 项目概述&#xff1a;从一块“板子”看透一个产业干了十几年硬件&#xff0c;从画第一块51单片机的板子&#xff0c;到如今参与定义复杂的系统级封装&#xff0c;我越来越觉得&#xff0c;PCB&#xff08;印制电路板&#xff09;和芯片的关系&#xff0c;早已不是简单的“承…...