Oracle数据库的可恢复性设置

简介: 整理自《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天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
52 7
|
30天前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(3)
Oracle数据库基本概念理解(3)
18 2
|
13天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
40 5
|
5天前
|
存储 Oracle 关系型数据库
Oracle的模式与模式对象:数据库的“城市规划师”
【4月更文挑战第19天】在Oracle数据库中,模式是用户对象的集合,相当于数据库的城市规划,包含表、视图、索引等模式对象。模式对象是数据存储结构,如表用于存储数据,视图提供不同查看角度,索引加速数据定位。良好的模式与模式对象设计关乎数据效率、安全和稳定性。规划时需考虑业务需求、性能、安全和可扩展性,以构建高效数据库环境,支持企业业务发展。
|
13天前
|
存储 SQL Oracle
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
35 7
|
15天前
|
Java 测试技术 数据库
SpringBoot启动时设置不加载数据库
SpringBoot启动时设置不加载数据库
10 0
|
1月前
|
Oracle 关系型数据库 数据库
|
2月前
|
开发框架 Oracle 关系型数据库
ASP.NET实验室LIS系统源码 Oracle数据库
LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。 
37 4
|
1月前
|
关系型数据库 分布式数据库 数据库
PolarDB PostgreSQL版:Oracle兼容的高性能数据库
PolarDB PostgreSQL版是一款高性能的数据库,具有与Oracle兼容的特性。它采用了分布式架构,可以轻松处理大量的数据,同时还支持多种数据类型和函数,具有高可用性和可扩展性。它还提供了丰富的管理工具和性能优化功能,为企业提供了可靠的数据存储和处理解决方案。PolarDB PostgreSQL版在数据库领域具有很高的竞争力,可以满足各种企业的需求。
|
1月前
|
Oracle 关系型数据库 数据库
如何利用 Docker 安装 Oracle 数据库
【2月更文挑战第14天】
93 0

热门文章

最新文章

推荐镜像

更多