热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

DM归档的修复及应用场景

在DM数据库还原中很多时候需要应用归档将数据库恢复到最新状态或指定时间点,但有时可能会报归档日志不完整的错误,此时我们需要使用到归档修复。归档日志修复

在DM数据库还原中很多时候需要应用归档将数据库恢复到最新状态或指定时间点,但有时可能会报归档日志不完整的错误,此时我们需要使用到归档修复。

归档日志修复

表空间还原会自动应用归档日志,我们以DMHR表空间的备份还原为例,演示造成归档日志不完整的原因,及修复方法。

DM8只能联机备份表空间,执行如下命令备份DMHR表空间。

SQL> backup tablespace dmhr backupset '/dm8/backup/TS_DMHR_FULL_20201015';

此时,在指定的备份集目录下生成备份集文件。可以看出联机表空间备份只产生一个.bak备份文件,这是因为表空间备份只备份数据,不备份redo日志。

也可以使用show backupset命令查看备份集数据,执行如下命令:

RMAN>show backupset '/dm8/backup/TS_DMHR_FULL_20201015';

查看结果显示如下:

备份后我们做一些数据操作,产生重做日志(注意,最后一个插入未提交数据):

执行rm DMHR.DBF删除数据文件。

数据库正常关闭场景

使用shutdown immediate正常关闭数据库。

执行表空间还原操作:

RMAN>restore database '/dm8/data/DAMENG/dm.ini' tablespace dmhr frombackupset '/dm8/backup/TS_DMHR_FULL_20201015';

执行如下命令进行表空间恢复,表空间恢复会自动加载应用归档日志文件(dmarch.ini中配置的归档日志路径)恢复到最新的时间点:

RMAN>recover database '/dm8/data/DAMENG/dm.ini' tablespace dmhr;

恢复后启动数据库,查询表数据,可以看到已提交的数据已恢复,未提交的数据已回退。

数据库异常关闭场景

如何数据库不是正常关闭,而是异常关闭的,比如使用shutdown abort命令强制关闭数据库(或者kill -9结束数据库进程)。

执行表空间还原:

还原后执行表空间恢复,报错[-8216]:归档日志不完整。

这是因为数据库异常关闭,部分已提交的数据产生的redo日志还未写入归档文件(已写入联机日志文件)。

此时可以执行如下命令进行归档修复:

RMAN>repair archivelog database '/dm8/data/DAMENG/dm.ini';

再进行表空间恢复操作,表空间正常恢复,并应用归档日志恢复到最新时刻。

恢复后启动数据库,查询表数据,可以看到已提交的数据已恢复,未提交的数据已回退。

总结:

归档日志修复是利用联机日志修复dmarch.ini中配置的本地归档日志目录中的归档文件,执行修复时,目标库不能处于运行状态。

数据库正常关闭场景下,一般不需要归档修复,除非删除了历史归档日志造成归档日志不连续([-718]:收集到的归档日志不连续),此时需要从归档的备份中还原归档日志文件。

一般建议在数据库故障(非正常关闭)情况下,应立即执行归档修复,否则可能因为部分redo日志未及时写入本地归档文件,导致归档日志中REDO日志缺失(归档日志不连续),届时如果下次数据库故障需要还原和恢复,利用归档文件将无法恢复到故障前的最新状态。


推荐阅读
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • 本文介绍了sqlserver云存储和本地存储的区别,云存储是将数据存储在网络上,方便查看和调用;本地存储是将数据存储在电脑磁盘上,只能在存储的电脑上查看。同时提供了几种启动sqlserver的方法。此外,还介绍了如何导出数据库的步骤和工具。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Oracle10g备份导入的方法及注意事项
    本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
author-avatar
翡翠雕刻师李贵
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有