OCA读书笔记(14) - 备份和恢复基本概念
备份恢复概念
如何判断数据库的一致性
在mount状态下,oracle如何判断数据库的一致性
scn:system change number,它是数据库时钟
如何查询当前系统的scn:
select current_scn from v$database;
几个特殊的scn,在控制文件和数据文件头
控制文件中有三个:
1. 系统检查点scn:
select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
1077050
2. 控制文件中为每个数据文件记录一个检查点scn:
ORA10G>select file#,checkpoint_change# from v$datafile;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 1077050
2 1077050
3. 控制文件中还要记录每个文件的终止scn,数据库在正常运行的时候,它是无穷大的,只有在一致性关闭数据库
的时候才不为空:
select file#,last_change# from v$datafile;
FILE# LAST_CHANGE#
---------- ------------
1
2
shutdown immediate
startup mount
ORA10G>select file#,last_change# from v$datafile;
FILE# LAST_CHANGE#
---------- ------------
1 1079328
2 1079328
为什么一致性关闭就不为空?
因为一致性关闭的时候执行了检查点,检查点通知数据库写进程写脏块,然后更新控制文件和数据文件头的检查点scn
如果last_change#不为空,说明数据库是一致性关闭的,再次打开的时候不需要进行实例恢复
在数据文件的文件头也记录了数据文件的检查点scn,我们一般称它为启动scn
ORA10G>select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 1079329
2 1079329
oracle通过以上的检查点scn来判断是否要进行恢复
数据库在mount状态下,当发出open命令的时候,他要安装下列顺序检查一致性:
首先启动scn与控制文件中记录的数据文件的检查点scn进行比较,如果一致,则继续,否则要执行恢复:
shutdown immediate
startup mount
ORA10G>select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 1080854
2 1080854
ORA10G>select file#,checkpoint_change# from v$datafile;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 1080854
2 1080854
如一致,则比较启动scn和终止scn:
ORA10G>select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 1080854
2 1080854
ORA10G>select file#,last_change# from v$datafile;
FILE# LAST_CHANGE#
---------- ------------
1 1080854
2 1080854
如果一致,数据库就可以打开了,否则要就行恢复
select file#,checkpoint_change#,last_change# from v$datafile; -- 来自控制文件
select file#,checkpoint_change# from v$datafile_header; -- 来自数据文件文件头
shutdown immediate;
startup mount;
数据文件last_change# -- A
数据文件checkpoint_change# -- B
数据文件头checkpoint_change# -- C
C与A不同,需要实例恢复。
C与B不同,则需要介质恢复。
需要介质恢复时,决定使用哪个日志文件?比较C与日志文件中的first_change#
select group#, sequence#, first_change# from v$log;
MTTR(实例恢复)
show parameter fast_start_mttr_target;
介质故障
常规备份
多路复用控制文件
多路复用日志文件组
sqlplus / as sysdba;
select group#,member from v$logfile;
alter database add logfile member '/u01/app/oracle/oradata/orcl/redo0102.log' to group 1;
select group#,member from v$logfile;
alter database drop logfile member '/u01/app/oracle/oradata/orcl/redo0102.log';
select group#,member from v$logfile;
备份归档重做日志文件
快速闪回区
强烈建议配置快速闪回区
存储空间与数据文件分开
启动归档模式
archive log list;
shutdown immediate;
starup mount;
alter database archivelog;
alter database open;
mkdir -p /u01/app/oracle/archivelog
alter system set log_archive_dest_1='location=/u01/app/oracle/archivelog';
alter system switch logfile;
OCA读书笔记(14) - 备份和恢复基本概念的更多相关文章
- OCA读书笔记(16) - 执行数据库恢复
16. Performing Database Recovery 确定执行恢复的必要性访问不同接口(EM以及命令行)描述和使用可用选项,如RMAN和Data Recovery Advisor执行恢复- ...
- 涂抹mysql笔记-数据备份和恢复
<>物理备份和逻辑备份<>联机备份和脱机备份<>本地备份和远程备份<>完整备份和增量备份<>完整恢复和增量恢复<>复制表相关文件 ...
- 进入保护模式(二)——《x86汇编语言:从实模式到保护模式》读书笔记14
首先来段题外话:之前我发现我贴出的代码都没有行号,给讲解带来不便.所以从现在起,我要给代码加上行号.我写博客用的这个插入代码的插件,确实不支持自动插入行号.我真的没有找到什么好方法,无奈之下,只能按照 ...
- Oracle DB 备份和恢复的概念
• 确定Oracle DB 中可能发生的故障类型 • 说明优化实例恢复的方法 • 说明检查点.重做日志文件和归档日志文件的重要性 • 配置快速恢复区 • 配置ARCHIVELOG模式 部分工作内容 ...
- OCA读书笔记(15) - 执行数据库备份
物理备份 -- 数据文件,控制文件,日志文件,参数文件 数据库备份 冷备 -- 归档和非归档均可以 什么时候必须用冷备?1. 数据库的模式为非归档的2. 用于现场保护 冷备的过程:1. 首先查看备份文 ...
- OCA读书笔记(1) - 浏览Oracle数据库架构
Objectives: List the major architectural components of Oracle DatabaseExplain the memory structuresD ...
- OCP读书笔记(3) - 使用RMAN恢复目录
创建恢复目录 在hndx上创建恢复目录:[oracle@oracle admin]$ export ORACLE_SID=hndx[oracle@oracle admin]$ sqlplus / as ...
- OCA读书笔记(18) - 使用Support工具
调查和解决问题 问题:数据库中的任一严重的错误定义为一个问题,一般来说,这些错误包括大家熟悉的ORA-600错误和ORA-04031(共享池超出)错误,涉及数据库问题的所有元数据都存储在ADR中,每个 ...
- 『TCP/IP详解——卷一:协议』读书笔记——14
2013-08-25 11:32:06 第5章 RARP:逆地址解析协议 5.1 引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址.但是无盘机,如X终端或无盘工作站,则需要采用其 ...
随机推荐
- javascript笔记整理(变量作用域)
变量的作用域(作用域:指的就是一段代码的作用范围) 一.变量的作用域 1.全局变量(在代码中任何地方都能够访问得到的变量,拥有全局的作用域) A.最外层函数外面定义的变量 var a=1; funct ...
- java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别(转)
ClassNotFoundException ClassNotFoundException这个错误,比较常见也好理解. 原因:就是找不到指定的class. 常见的场景就是: 1 调用class的for ...
- HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011亚洲北京赛区网络赛)
HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011 亚洲北京赛区网络赛题目) Eliminate Witches! Time Limit: 2000/1000 ...
- NodeJS会是昙花一现吗?
在用了一年以后,我感觉node.js有一点不正确劲.它非常有意思,可是我认为我应该用另外一个视角去审视它. 网络编程真的能够更easy吗? node.js无疑有一些设计很好的地方.前段时间我写了一个性 ...
- LPCTSTR
LPCTSTR类型: L表示long指针 这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32位操作系统中, long指针和near指针及far修饰符都是为了兼容 ...
- 在Centos 5.4上安装Mysql5.5.10 (整理以前的工作文档)
1. 安装环境 1.1. 目的 安装Mysql5.5.10服务,提供公司XXXX测试环境.正式环境也采用该版本的mysql 1.2. 硬件环境 PC机:IntelE5300 内存4G 硬盘5 ...
- Dropbox + Farbox高速创建免费博客小站
创建自己的Dropbox账号(已有账号的略过) 注冊地址:Dropbox 点击链接注冊就好了,so easy: 账号注冊成功后,能够选择下载同步client(windows.Mac.ios.andro ...
- 出现Data Tools 与VS 不兼容问题
转载自:http://www.yishimei.cn/network/73.html 相信很多人都遇到了“此版本的SQL Server Data Tools与此计算机中安装的数据库运行时组件不兼容”这 ...
- JDBC使用数据库来完成分页功能
本篇讲诉如何在页面中通过操作数据库来完成数据显示的分页功能.当一个操作数据库进行查询的语句返回的结果集内容如果过多,那么内存极有可能溢出,所以在大数据的情况下分页是必须的.当然分页能通过很多种方式来实 ...
- Python pip 安装包
Python 第三方包可以使用pip 更容易地安装,和管理 pip 的下载地址 https://pypi.python.org/pypi/pip/ pip的使用以及相关文档参考 https://pip ...