【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.3-闪回数据库技术

本文主要是介绍【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.3-闪回数据库技术,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 闪回数据库

1.1 使用场景和限制

(1)一种快速的数据库恢复方案,这种恢复是基于用户的逻辑错误

比如:

  • 对表中的数据做了错误的操作
  • 插入了大量错误的数据
  • 删除了一个用户等

        此时通常是将数据库恢复到之前的某一个时间点。

        相比于原始的恢复方式需要先备份数据文件,再使用归档日志恢复到以前的时间点。

(2)闪回日志由oracle自动创建,并保存于闪回恢复区中,由闪回恢复区管理,因为是自动管理的,所以如果闪回恢复区空间不足,闪回日志也会自动删除。所以闪回恢复区应该适当的设置的大一点。

(3)使用闪回数据库的限制

        在以下几种情况下不能使用闪回数据库的特性:

  1. 如果数据文件被删除或者缩短
  2. 如果在闪回时间范围之内复原或者重建了一个控制文件
  3. 在resetlogs操作之前
  4. 表空间被删除

1.2 使用闪回数据库技术之前的准备

        打开闪回数据库功能

(1)确保数据库处于归档模式

archive log list# 配置归档模式:
startup mount
alter database archivelog;

(2)查看快闪恢复区的位置和设置的大小(闪回日志存储的位置和空间的大小)

show parameter db_recovery_file_dest;

(3)启用闪回数据库功能

alter database flashback on;

        启动之后我们可以通过试图v$database查看启动的状态。

select dbid,name,flashback_on from v$database;

(4)通过试图查看最多能够闪回的时间以及修改能闪回的最大天数

        设置参数DB_FLASHBACK_RETENTION_TARGET,该参数默认值为1440分钟,表示可以将数据库闪回到过去的时间,也就是默认可以闪回一天前的数据。

show parameter db_flashback_retention;
# 我们可以动态的修改这个参数的值,使的数据库可以闪回到更长的时间,比如1个月 24*60*30=43200
alter system set db_flashback_retention_target=43200 scope=both;

(5)查看系统时间

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

(6)查看我们能够闪回到的最早的scn号 和最早的时间,并且评估闪回恢复区的大小

select * from v$flashback_database_log;# 查看能闪回到的最早时间
select to_char(oldest_flashback_time,'yyyy-mm-dd hh24:mi:ss') from v$flashback_database_log;

1.3 闪回数据库的方法

1.3.1 在RMAN下(3种方法)

(1)使用to_date将数据库闪回到指定的时间点

RMAN>flashback database to time=to_date('2017-06-29 12:30:00','yyyy-mm-dd hh24:mi:ss');

(2)将数据库闪回到指定的SCN,该方法一般不使用,因为SCN号一般不会去查询

这篇关于【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.3-闪回数据库技术的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1043581

相关文章

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.