oracle之三手工备份与恢复
手工备份与恢复
2.1 手工备份和恢复的命令
1)备份和还原都使用OS命令,如linux中的cp
2)恢复用sqlplus命令:recover
2.2 备份前要对数据库进行检查:
1) 检查需要备份的数据文件
SQL> select name from v$datafile;
SQL> select file_id,file_name,tablespace_name from dba_data_files;
2)检查要备份的控制文件
SQL> select name from v$controlfile;
3)在线redo日志不需要做备份
2.3 手工非一致性备份(热备份)的执行方式及热备份的监控(v$backup)
注意:对只读的表空间不能做热备份,临时表空间不需要备份,特别强调:NOARCHIVE模式下不支持手工热备(考点)。
1)在备份前要进入backup mode(backup模式),即:执行begin backup (在数据文件上生成检查点,写入scn ,将来恢复的时候以此scn为起点)
SQL> alter database begin backup; //对整个库做热备份
SQL> alter database end backup;
SQL> alter tablespace users begin backup; //对表空间做备份
SQL> alter tablespace users end backup;
2)备份期间利用v$backup 监控
例;
SQL> alter tablespace test begin backup;
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 2414314
2 2414314
3 2414314
4 2414314
5 2414314
6 2430480 //在备份期间 ,scn被冻结,它是恢复阶段运用日志的起点。
7 2414314
SQL> select * from v$backup;
FILE# STATUS CHANGE# TIME
---------- ------------------ ---------- -------------------
1 NOT ACTIVE 0
2 NOT ACTIVE 0
3 NOT ACTIVE 0
4 NOT ACTIVE 0
5 NOT ACTIVE 0
6 ACTIVE 2430480 2012-07-30 11:07:19
7 NOT ACTIVE 0
//STATUS 是ACTIVE,表示可以备份相应的数据文件。
$cp test01.dbf test01.bak
备份完毕,尽快执行end backup
SQL> alter tablespace test end backup;
SQL> select * from v$backup;
FILE# STATUS CHANGE# TIME
---------- ------------------ ---------- -------------------
1 NOT ACTIVE 0
2 NOT ACTIVE 0
3 NOT ACTIVE 0
4 NOT ACTIVE 0
5 NOT ACTIVE 0
6 NOT ACTIVE 2430480 2012-07-30 11:07:19
7 NOT ACTIVE 0
如果在end backup之前发生数据库abort,那么可以在下次启动到mount时end backup,从而完成实例恢复。
关于 split block
我们知道一个Oracle block一般包含多个OS block,,当手工热备时,OS的cp单位不是Oracle block而是OS block,而Oracle的DBWR又可能不时的从内存中刷新Oracle block(脏块)到磁盘上,如此,OS级的拷贝便可能造成:一个Oracle Block是由不同的版本组成,比如未被DBWR刷新Header block 加上另一部分被刷新的foot block,这样cp出来的Oracle blcok就是split block。
数据库的一致性是不允许oracle block是split的, Oracle采取的办法是:在backup mode后,如果发现首次DBWR要写脏块,则将该块被刷新之前的镜像数据记录到redo buffer,这样,虽然cp后的文件里仍然含有split block,而当需要恢复时,日志会前滚该块的前镜像,以保证所有被恢复的oracle block是一个完整的版本。
这就是我们常常发现在热备时日志文件会急剧增大的原因。
*考点:手工热备不能备份临时表空间,甚至不能将它们置于备份模式。
2.4 dbv检查数据文件是否有坏块
在手工备份前,应该检查datafile 是否有坏块,备份完后对备份也要做检查。
对某个datafile做坏块检查
[oracle@timran admin]$ dbv file=/u01/oradata/timran11g/users01.dbf feedback=50
DBVERIFY - 开始验证: FILE = /u01/oradata/timran11g/users01.dbf
.......
oracle之三手工备份与恢复的更多相关文章
- oracle之三手工不完全恢复
手工不完全恢复 4.1 不完全恢复的特点: 1)让整个database 回到过去某个时间点,不能避免数据丢失. 2)想跳过坏日志而继续恢复所有其他工作是不可能的,前滚没有这个功能(考点). 3)必须以 ...
- oracle之三手工完全恢复
手工完全恢复 3.1 完全恢复:通过备份.归档日志.current log ,将database恢复到failure 前的最后一次commit状态. 3.2 完全恢复的步骤 1)restore: OS ...
- Oracle 10g数据库备份与恢复操作手册
Oracle 10g数据库备份与恢复操作手册 目录 Oracle 10g数据库备份与恢复操作手册... 前言... 文档目的... 文档范围... 目标读者... 其他说明... 冷备份... 热备份 ...
- oracle之三备份恢复概述
备份恢复概述 1.1 数据库故障的类型: 1)user process failure: pmon 自动处理 2)instance failure: smon 自动处理 3)user errors : ...
- Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g
Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g 系统环境: 操作系统: RedHat EL6 Oracle: Oracle 10g and Oracle 11 ...
- Oracle 10g AND Oracle 11g手工建库案例--Oracle 10g
Oracle 10g AND Oracle 11g手工建库案例--Oracle 10g 系统环境: 操作系统: RedHat EL6 Oracle: Oracle 10g and Oracle 11 ...
- oracle之三目录库和辅助库
目录库和辅助库 10.1 创建目录库(Catalog database)的必要性 如果没有catalog,RMAN的存储库(元数据)保存在目标库的控制文件里,这样可能存在如下隐患 1)目标库上的控制文 ...
- oracle之三RMAN概述
RMAN概述 6.1 rman的定义和功能: 1) Recovery Manager 2)建立备份和恢复的server process,在oracle server上做备份和恢复 3)rman 备份d ...
- CENTOS 6.4 安装oracle 10g,手工建库及升级到10.2.0.5
一. 数据库软件安装 参照官方手册 1.安装rpm包 注这里的yum直接用163的yum yum -y install binutils compat-libstdc++-33 compat-libs ...
随机推荐
- springboot中RedisTemplate的使用
springboot中RedisTemplate的使用 参考 了解 Redis 并在 Spring Boot 项目中使用 Redis--以IBM为学习模板 springboot之使用redistemp ...
- 记录一下前端性能优化-为何操作DOM会变慢?
对于大多数前端来说,性能优化的方法可能包括以下这些: 减少HTTP请求(合并css.js,雪碧图/base64图片) 压缩(css.js.图片皆可压缩) 样式表放头部,脚本放底部 使用CDN(这部分, ...
- Magento 2 instantiate object by Factory Objects
magento2的Factory Objects是用来实例化non-injectable classes,目前还不知道什么叫non-injectable classes. 可以用它来实例化Helper ...
- 3分钟教会你如何发布Qt程序
导读:Qt程序编写好以后该如何发布.本文教你使用Qt自带工具windeployqt来进行操作. 本文字数:500,阅读时长大约:3分钟 (1)编写一个简单的程序 我们先做一个简单的窗口,添加一个图片资 ...
- Exploring Adversarial Attack in Spiking Neural Networks with Spike-Compatible Gradient
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:2001.01587v1 [cs.NE] 1 Jan 2020 Abstract 脉冲神经网络(SNN)被广泛应用于神经形态设 ...
- .NET 数据库事务的各种玩法进化
事务是数据库系统中的重要概念,本文讲解作者从业 CRUD 十余载的事务多种使用方式总结. 以下所有内容都是针对单机事务而言,不涉及分布式事务相关的东西! 关于事务原理的讲解不针对具体的某个数据库实现, ...
- 学习lammps 对in文件的一个概述性心得(转载)
转载自:http://muchong.com/html/201411/8149677.html 写在开头:1.尽量列举了大部分(几乎)的命令2.带星号命令非常重要,大家在看mannual中命令的解释的 ...
- C语言中存储多个字符串的两种方式
C语言中存储多个字符串的两种方式 方式一 二维字符串数组 声明: char name[][] = { "Justinian", "Momo", " ...
- php的负整数和正整数相加(负数以补码的形式存在内存,正数以原码的形式存在内存)
首先先理解原码,反码,补码 十进制为例 原码: 5的原码:00000101 反码:11111010 补码:补码在末尾加1即 11111011 (正数的补码就是其负数,即5的补码就是-5) 正数在 ...
- Python 批量下载BiliBili视频 打包成软件
文章目录 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家 ...