免费网络课程《Oracle备份与恢复》,旨在深入的探讨Oracle备份与恢复的真谛,剖析备份与恢复的原理,通过各种真实的案例,全面的诠释Oracle数据库完全恢复、不完全恢复、无备份恢复,部分恢复等技巧。
 
本次网络演示案例:
1、表空间备份方式备份数据库
2、普通数据文件损坏完全恢复方式原理剖析

完全恢复:不丢数据

完全恢复方式之一:数据库在mount状态下恢复
搭建测试环境
1.建立表,切换日志,至少每个日志组切换一次
SQL> select count(*) from test;

COUNT(*)
----------
        48
        
2.再次插入数据,但是不提交

3.主机断电导致数据崩溃,导致了数据文件损坏

shutdown abort

二、恢复数据库
1.主机加电,数据文件损害

2.从最近的备份恢复相关数据文件到目的路径

3.尝试打开数据库
alter database open;

为什么该文件需要介质恢复?ORACLE根据控制记录了每个数据库文件该有检查点SCN号和数据文件头的检查点文件头进行比较

v$datafile v$datafile_header

在启动时候可以根据不同SCN确定需要那个归档文件,v$archived_LOG;中的ScN范围( first next)

通过观察alert日志文件,我们发现oracle在recover的时候是使用archivelog+online redo的机制来recover的

当recover介质恢复完成,可以再次检查控制文件和数据文件头的SCN进行检查是否一致

5.尝试打开数据并尝试验证数据

总结《在mount状态适合所有的数据文件恢复

完全恢复方式二。数据库在open状态恢复
另外一种恢复方式,

1.为了尽快打开数据库和可靠行、可以把损坏的数据文件首先offline

alter database datafile 888 offline

2.然后在转储备份

3.然后直接recover tablespace 选择auto方式

4.然后把user表空间online;

5,验证数据是否正确

总结:该恢复方式合适于普通的数据文件损坏,不合适system undo sysaux等TS;优点:可以提高数据库的可靠性,

=========================================================================================================

恢复控制文件丢失的时候需要利用recover using backup controlfile
auto
然后oracle无法识别当前最新的日志组系列号,需要重建控制文件
alter database backup controlfile to trace
注意选择noretlogs的选型,要不就不能完全恢复了
重建结束后查看v$log,查看当前日志组

总结:关键是重建控制文件,重新获得准确当前的日志组

==========================================

完全恢复方式之4

未备份的数据文件丢失

这种方式这种恢复方式只适合于自从新建的数据文件开始,所有的归档日志和redolog都必须存在,还没有备份的

alter database create datafile 
recover database

============================================================================================================

不完全恢复

基于时间点的不完全恢复
适合于某张关键的表被删除,需要恢复回来

1.环境准备
   1.
   
SQL> create table test1 as select * FROM EMP;

表已创建。

会话已更改。

SQL>  select sysdate from dual;

SYSDATE
-------------------
2013-12-28 21:57:15

2.DROP TABLE TEST1 PURGE

3.关闭数据库
  
  4.从最近的备份的转储所有的数据文件
  
  
RMAN> startup mount;

Oracle 实例已启动
数据库已装载

系统全局区域总计    1071333376 字节

Fixed Size                     1375792 字节
Variable Size                729809360 字节
Database Buffers             335544320 字节
Redo Buffers                   4603904 字节

RMAN>restore database

5.对数据库做基于时间的恢复
recover database until time  to_date('2013-12-28 21:57:01','yyyy-mm-dd:hh24:mi:ss');

6.验证数据

==========================================
基于cancel的恢复方式
适合与recovery过程中需要的归档或者online redolog损坏,oracle recovery恢复到不能恢复为止

经常能够发生在断电,导致正在使用的在线日志文件损坏

1、环境准备
1.在某张表插入数据,提交,同时切换日志,归档
2.再次插入数据,提交,归档
3.最后记录表行数为153行,同时弄清楚最后的insert操作记录到那个当前序号日志组

2.主机断电,导致当前的redo损坏

3.尝试打开数据库
数据库装载完毕。
ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'C:\APP\YANWEI\ORADATA\ORCL\REDO01.LOG'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。

oracle需要实例恢复,需要的日志文件损坏,无法进行

4.尝试做不完全恢复

'C:\APP\YANWEI\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_12_28\O1_MF_1_7_%U_.ARC'

ORA-27041: unable to open file
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。

ORA-00308: cannot open archived log
'C:\APP\YANWEI\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_12_28\O1_MF_1_7_%U_.ARC'

ORA-27041: unable to open file
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。

ORA-10879: error signaled in parallel recovery slave
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: 'C:\APP\YANWEI\ORADATA\ORCL\SYSTEM01.DBF'

最后的提示表明。当前的数据文件无法同步。

5.尝试打开数据库
SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01194: 文件 1 需要更多的恢复来保持一致性
ORA-01110: 数据文件 1: 'C:\APP\YANWEI\ORADATA\ORCL\SYSTEM01.DBF'

SQL>

还是提示要进一步恢复

6.从最近转储所有的数据文件
 6.1 shutdown abort
 6.2 startup mount
 6.3 restose database
 
 
7.对数据库进行cancel的不完全恢复

这时候没有提示某个文件需要进一步恢复

8、alter database open resetlogs;

9、检查数据的完整性

最后的一次redo上的事物记录丢失了

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/500314/viewspace-1065329/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/500314/viewspace-1065329/

CUUG笔记--oracle备份和恢复相关推荐

  1. commvault oracle备份,CommVault for Oracle备份和恢复.pdf

    4 .2 ORACLE 备份和恢复 4.2.1 ORACLE 备份 1) 选择配置好的子客户端,开始备份 2) 选择立即运行或者计划运行; 3) 查看备份的运行状态; 必要时,点击查看RMAN 日志 ...

  2. Oracle数据库教程(Oracle备份、恢复、升级、迁移)视频教程

    Oracle数据库教程(Oracle备份.恢复.升级.迁移)视频教程 风哥Oracle备份恢复与迁移升级专题包括:Oracle备份恢复基础.用户模式的备份恢复.RMAN备份恢复.Flashback闪回 ...

  3. NBU对Oracle备份及恢复手册

    NBU对Oracle备份及恢复手册 本文档基于Redhat6.4操作系统,Oracle 10.2,NBU7.5版本,详细记录了笔者试验的全过程 详细解读 和小伙伴们一起来吐槽

  4. Oracle 备份、恢复表空间数据步骤

    Oracle 备份.恢复表空间数据步骤 在前边的博客里,使用逻辑备份 exp/imp 做过全库备份.单表或者多表数据备份.本文总结了怎样使用 exp/imp 进行表空间备份,本文操作步骤适用于 Ora ...

  5. Oracle 备份 与 恢复 概述

    玩Oracle也有2年的时间了, 零零散散的也整理一些资料. 东西一多了,就理不清楚. 所以结合张晓明的<大话Oracle RAC>的一些内容,和自己整理的一些笔记,对Oracle 的备份 ...

  6. nbu备份本机oracle,使用NetBackup进行oracle备份和恢复

    一.环境介绍: 这个实验都是在vmware workstation里完成的.由于NetBackup7只能装在64位的系统上,所以这里采用了64位的rhel5.5系统,以及oracle 10gr2 fo ...

  7. 使用NetBackup进行oracle备份和恢复

    一.环境介绍: 这个实验都是在vmware workstation里完成的.由于NetBackup7只能装在64位的系统上,所以这里采用了64位的rhel5.5系统,以及oracle 10gr2 fo ...

  8. oracle备份及恢复

    一.导出数据库 exp 用户名/密码@ORCL file=D:\data.dmp owner=用户名 plsql的使用:1.登录你要导出的数据库:2.工具→导出表: 二.导入数据库: 1.创建表空间: ...

  9. 开源备份软件 oracle,oracle备份和恢复

    最好把所有表删掉重新导入,表字段改变不会还原出来 ,只会还原数据 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 exp system/man ...

最新文章

  1. 知乎网解决HTML5 Placeholder的方案
  2. 域的非验证方式还原与验证方式还原的区别
  3. AngularJs+bootstrap搭载前台框架——准备工作
  4. 手游传奇架设教程_问道手游如何多开?
  5. 连载:阿里巴巴大数据实践—实时技术
  6. leetcode116. 填充每个节点的下一个右侧节点指针
  7. 初中学历在辽宁学计算机,在辽宁省实验中学学习是怎样一番体验?
  8. 为什么 Python 不用设计模式?
  9. 更改 Office 解决方案的安装路径
  10. python soup提取叶子标签_使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解(新手必学)...
  11. 分享两种证件照换背景方法,轻松把照片底色变白
  12. html展开图片,Html 显示图片的三种方式
  13. php设计模式 参考地址
  14. 限流是解决高并发大流量的一种方案,至少是可以保证应用的可用性
  15. Unreal Engine C++ 入门01
  16. 006输出9行内容,第1行输出1,第2行输出12,第3行输出123,以此类推,第9行输出123456789。
  17. 机器学习——概率图模型
  18. ESD静电二极管选型需要关注的要点在哪里?
  19. 比亚迪太牛了,下午一点投简历,一点十五打电话来面试,简单聊聊就说面试通过,准备谈薪,干脆得吓人!...
  20. gcms基峰有什么用_请收下!来自前辈的“气质联用”经验分享

热门文章

  1. 剪绳子(动态规划、贪心算法)
  2. 免费!ChatDOC文档阅读工具;AI电影美翻了;ChatGPT插件开发指南;Prompt编写模式速查 | ShowMeAI日报
  3. 看《反恐24小时》的得到的教训与魔鬼词典
  4. 钱塘江涌潮特性及其数值模拟
  5. BIM轻量化和Web的应用
  6. MySQL深入剖析 ---【狂神篇】
  7. WuThreat身份安全云-TVD每日漏洞情报-2023-05-30
  8. 应用实战|微信小程序开发示例之在线商城
  9. QQ登录100044错误解决
  10. 离散余弦变换 DCT