Oracle数据库的可恢复性设置

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 整理自《Oracle 11g OCP/OCA 认证指南》 001     为了保证数据库的最大可恢复性,必须多路复用控制文件;必须多路复用联机重做日志;必须以归档日志模式运行数据库,并多路复用归档日志文件;最后必须作常规备份。
整理自《Oracle 11g OCP/OCA 认证指南

001
    为了保证数据库的最大可恢复性,必须多路复用控制文件;必须多路复用联机重做日志;必须以归档日志模式运行数据库,并多路复用归档日志文件;最后必须作常规备份。

002 保护控制文件
    控制文件虽小,但很重要。它用于加载数据库,在数据库打开时,可不断地读和写控制文件。如果控制文件丢失了,则可以进行恢复;但这一操作并不总是很容易,因此最好不要出现这种情况,因为必须至少有两个位于不同物理设备上的控制文件的副本。最多可有8个控制文件的多路复用副本。
    如果控制文件是多路复用的,那么从导致控制文件丢失的介质失败中恢复只要将备份的控制文件复制到受损或丢失的控制文件之上就行了。但控制文件受损会导致停机。当Oracle检测控制文件是受损还是丢失时,实例会因为实例失败立即终止。
    要移动或添加控制文件副本,首先关闭数据库。在数据库打开时不能进行任何控制文件操作。然后使用操作系统命令移动或复制控制文件。再接着,编辑control_files参数,指向新的位置。如果使用静态的initSID.ora参数文件,则可以用任何文本编辑器编辑它。如果使用动态的spfileSID.ora参数文件,则以nomount模式启动数据库,发出alter system命令并把作用域设为spfile(之所以是必要的,因为它是个静态参数),将新的副本用于数据库下次加载时。最后,像平常一样关闭然后打开数据库。

003 保护联机重做日志文件
    DBA不允许丢失当前联机日志文件组的所有备份。如果出现这种情况,那么就会丢失数据。在丢失当前联机日志文件组的所有成员时不丢失数据的唯一方式是配置一个无数据损失的data guard环境。
    为什么受不丢失当前联机日志文件组的所有成员至关重要呢?答案与实例恢复有关。实例崩溃后,SMON进程会使用当前联机日志文件组的内容进行前滚恢复,从而修复数据库中的任何损坏。如果当前联机日志文件组由于未被多路复用以及一个成员因介质受损被破坏而变得不可用,那么SMON进程无法进行前滚恢复。如果SMON进程无法进行前滚修正数据库的损坏,那么不可能打开数据库。
    与多路复用的控制文件一样,一个日志文件组中的多个成员在理想情况下应当位于不同的磁盘上不同的控制器上。
    对联机重做日志文件的写操作最终将成为Oracle环境中的一个瓶颈:执行DML语句的速度不能快于LGWR进程将变更写至磁盘的速度。因此在高吞吐量的系统中,需要确保重做日志文件位于速度最快的控制器所服务的最快速磁盘上。
    如果重做日志文件组的一个成员被损坏或丢失,那么数据库在存在备份成员的情况下仍然会保持打开状态。这与控制文件不同, 控制文件的任何副本的损坏都会使数据库立即崩溃。同样, 只要存在至少两个重做日志文件组并且每个组至少具有一个有效的成员,那么在数据库打开时也可以添加或移动重做日志文件组以及组中的成员。

004 归档日志模式和归档器进程
变量
描述
%d
唯一的数据库标识符,如果将多个数据库归档到同一目录,这是必须的
%t
线程号,显示为v$instances视图的thread#列,除了在RAC数据库中使用之外,这个变量没有任何意义
%r
场景(incarnation)号。如果进行了不完全恢复,这个变量就十分重要
%s
日志切换序列号。这个变量能够保证任何一个数据库中的归档日志都不会彼此重写
归档相关的几个参数:
log_archive_dest_n
log_archive_dest
log_archive_duplex_dest
log_archive_min_succeed_dest

    如果ARCn进程遇到写归档日志文件的问题,最终数据库会挂起。这将取决于目标数、必须成功的最少数目,以及有问题的目标是否是强制的。归档失败的一般原因是目标已满。因此有必要监视归档的进程,将归档日志文件从磁盘目标迁移至磁带,为更多的归档操作释放空间。在任何情况下,应定期将所有归档日志备份到磁带上。这可手动或使用RMAN完成。
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
13天前
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
148 28
|
22天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的闪回数据库
Oracle闪回数据库功能类似于“倒带按钮”,可快速将数据库恢复至 earlier 状态,无需还原备份。本文介绍了闪回数据库的使用方法及实战案例:包括设置归档模式、开启闪回功能、记录SCN号、执行误操作后的恢复步骤等。通过具体 SQL 操作演示了如何利用闪回数据库恢复被误删的用户数据。注意,使用此功能前需确保数据库为归档模式。
|
24天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle数据库的闪回表
本文介绍了Oracle数据库中的闪回表(Flashback Table)功能,它能够将表的数据快速恢复到特定时间点或系统改变号(SCN),无需备份。文章通过实战示例详细演示了如何使用闪回表恢复数据,包括授权、创建测试表、记录时间与SCN号、删除数据、启用行移动功能、执行闪回操作以及验证恢复结果等步骤。同时,还展示了如何通过触发器禁止插入操作,并在闪回过程中处理触发器的启用问题。文末附有视频讲解,帮助读者更好地理解闪回表的使用方法。
70 10
|
26天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle数据库的闪回查询
本文介绍了Oracle数据库的闪回查询(Flashback Query)功能及其实际应用。闪回查询通过`AS OF`子句,结合时间戳或SCN号,可查询历史数据状态,帮助分析数据差异。文中通过具体示例演示了如何使用闪回查询:创建测试表、记录当前SCN号、更新数据并提交事务,最后通过闪回查询获取历史数据。附带的视频和代码块详细展示了操作步骤与结果。
|
27天前
|
Oracle 关系型数据库 数据管理
【赵渝强老师】Oracle数据库的闪回技术
在Oracle数据库操作中,难免会遇到误删表或提交错误事务等问题,可能导致数据丢失甚至数据库停止运行。传统解决方法依赖备份恢复,但需提前准备正确备份。为此,Oracle提供了闪回技术,无需备份即可快速恢复数据。它支持7种类型的操作,如闪回查询、版本查询、表恢复等,能有效应对逻辑损坏和用户错误。闪回技术基于还原(undo)数据管理,启用自动管理后可实现高效恢复。
|
30天前
|
关系型数据库 MySQL Java
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
|
1月前
|
关系型数据库 MySQL 数据库连接
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
287 82
|
5天前
|
SQL 关系型数据库 MySQL
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
|
5天前
|
关系型数据库 MySQL 大数据
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。
|
3月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决

推荐镜像

更多