oracle数据库硬恢复,Oracle数据库的可恢复性设置

整理自《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完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rest api如何创建_创建一个安全的Spring REST API

rest api如何创建“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 “如果有用,它将被修改。” 那些智慧的话来自我的QA老师…

IntelliJ IDEA 的 Build Project/Build Module/构建项目/构建模块/构建工程

文章目录Build ModuleRebuild ModuleBuild Module,构建模块。所谓“构建”,就是“构建”包及字节码文件,其实就是编译源码文件的动作了。所以 Build Module,就是把 src 目录的源代码文件以及 resources 下的资源文件,构…

oracle 修改nls_characterset,ORACLE NLS_CHARACTERSET字符集的更改

ORACLE NLS_CHARACTERSET字符集的更改      数据库创建以后,如果需要修改字符集,通常需要重建数据库,通过导入导出的方式来转换。      我们也可以通过以下方式更改      ALTER DATABASE CHARACTER SET      注意&#xff1a…

commons cli_从Commons CLI迁移到picocli

commons cli最初于2002年发布的Apache Commons CLI可能是使用最广泛的Java命令行解析器,但是它的API显示了它的年龄。 寻找具有最少样板代码的现代方法的应用可能对picocli感兴趣。 为什么要花麻烦的钱进行迁移,以及如何将基于Commons CLI的应用程序迁移…

乘方(幂)的运算法则/规则

文章目录乘方的定义运算法则正分数指数幂法则负分数指数幂法则同底数幂法则负整数指数幂法则乘方的定义 求相同因数的积叫做乘方。乘方运算的结果叫幂。 当 ana^nan 看作 a 的 n 次乘方的结果时,也可读作“a 的 n 次幂”或“ a 的 n 次方”。其中,a 叫…

php响应式布局,响应式布局之弹性布局的介绍

响应式布局的实现是前端工程中一个非常大的跨越,它非常灵活的可塑造性使得同一个网站能在不同的终端设备上展现出不同的活力。就今天这个机会,我想与大家分享并探讨一些常用来实现响应式布局方法中的弹性布局。弹性布局是一种十分方便的,只需…

qt弹簧教程_弹簧启动执行器教程

qt弹簧教程朋友您好,在本教程中,我们将学习弹簧执行器及其所有帮助。 1.什么是弹簧执行器? 2.如何在Maven项目或Gradle项目中添加弹簧执行器? 3.创建一个具有Spring Actuator依赖项的Spring Boot项目。 4.使用弹簧执行器端点监…

驾驶证遗失如何补发

第六十三条机动车驾驶证遗失的,机动车驾驶人应当向机动车驾驶证核发地或者核发地以外的车辆管理所申请补发。申请时应当填写申请表,并提交以下证明、凭证: (一)机动车驾驶人的身份证明; (二&…

两列模糊对比 oracle,excel 模糊比对两列数据并将比对结果显示出来 | excel表格两列数据模糊对比...

excel2016如何将两列完全不一样的数据进行模糊对比?B2单元格输入公式IF(ISNUMBER(FIND(LEFT(A2,3),PHONETIC(G$2:G$8))),"","非类")下拉。 选中A、B列排可出非类似值。对G列的处理也是相同办法,修改一下公式中的单元格或区域引用即可…

JMetro版本5.2已发布

再次问好 JMetro的新更新刚刚发布。 添加了两种新的控件样式:标题窗格和手风琴。 此外,还对现有样式和错误修复进行了调整。 最终,JMetro现在也可以通过Maven Central获得。 在这篇文章中,我将详细介绍刚刚发布的JMetro 5.2版。…

IntelliJ IDEA for Mac 如何创建Java Web项目_创建Java EE项目_创建项目_新建项目

Java EE 项目创建好后如下图所示: 如果你的项目含有多个模块,那么上图的项目结构布局是不合理的,你必须将默认的模块删除掉(默认模块的 .iml 文件也要删除)。 选择模块,点按鼠标右键,选择【Rem…

注解代替枚举_精选枚举代替开关

注解代替枚举问题及其解决方案 开关/案例是用大多数命令式编程语言实现的通用控制结构。 开关比一系列的if / else更具可读性。 这是一个简单的示例: // Switch with int literal switch (c) {case 1: one(); break;case 2: two(); break;case 3: three(); break;…

oracle表是动态表怎么算排名,Oracle学习动态性能表

按照OracleDocument中的描述,v$sysstat存储自数据库实例运行那刻起就开始累计全实例(instance-wide)的资源使用情况。 类似于v$sOracle 学习动态性能表 v$locked_object本视图列出系统上的每个事务处理所获得的所有锁。V$LOCKED_OBJECT中的列说明:XIDUSN…

IntelliJ IDEA for Mac 中 Java Web Project 默认的工件(Artifacts)输出目录

你创建 Java Web 项目/模块时,IDEA 会自动创建 Web 模块的工件列表,而工件的默认输出目录如下: war 工件的默认输出目录: /Users/liaowenxiong/Documents/IdeaProjects/java-exercises/模块名称/target exploded 工件的默认输出…

oracle导数的数据乱码,Oracle10g导数据时中文乱码相关处理

1.Oracle导入数据库出现数据库数据中文乱码问题,最后查得是由于数据库安装时,选择编码为默认编码问题分析:使用imp导入数据时,屏幕输出过以下提提示信息:import done in US7ASCII character set and AL16UTF16 NCHAR c…

jdk12 jdk1.8_JDK 12的Files.mismatch方法

jdk12 jdk1.8JDK 12向Files类引入了一种新方法。 方法Files.mismatch(Path,Path)已通过JDK-8202302引入JDK 12,并在JDK 12 Early Access Build 20 (支持新{systemProperty} Javadoc标记的相同早期访问版本)中可用 。 JDK-8202302 [“用于比较…

tomcat如何查找请求资源的?

用户的请求过来,comcat 会根据虚拟目录先到 webapps 目录查找项目,如果找到了则进入到项目下的 WEB-INF 目录下查找 web.xml 文件,查找到则解析该文件,根据资源路径查找请求资源,如果找到了资源则正常实例化和调用有关…

java使用迭代器删除元素_使用Java从地图中删除元素

java使用迭代器删除元素关于从Java中的Map删除元素的非常简短的文章。 我们将专注于删除多个元素&#xff0c;而忽略了您可以使用Map.remove删除单个元素的Map.remove 。 以下Map将用于此帖子&#xff1a; Map<Integer, String> map new HashMap<>(); map.put(1…

IntelliJ IDEA普通的Java项目如何转成Maven Web项目

文章目录一、把项目改成 Java Web 项目二、把 Java Web 项目改成 Maven 项目三、调整目录结构四、部署项目五、参考一、把项目改成 Java Web 项目 注&#xff1a;只有 Web 项目才能创建 Artifact。 二、把 Java Web 项目改成 Maven 项目 得到的目录结构如下图所示&#xff1a;…

php全选按钮怎么写,PHP中的“全选”复选框,其中包含header.php

我必须在我的代码中包含一个header.php&#xff0c;那是问题的方面。当我不包括它&#xff0c;代码工作正常。但是&#xff0c;当我包含它代码不起作用&#xff0c;意味着检查所有按钮不会选中所有复选框。我的代码 -checkall.phpfunction toggle(source) {checkboxes documen…