用户管理的备份恢复(2)

上一章我们讲述了在数据文件存在的情况下进行了联机备份和脱机备份,那这里我们考虑一个问题,要是我们在没有任何备份的情况下,删除了原有的数据文件,数据库启动直接报错,那我们应该怎么恢复呢?
场景模拟
1.首先我们结合上一章所创建的xx表空间,现在删除xx表空间的数据文件xx.dbf。
2.startup force ,重启数据库后发现数据库起不来了,停留在mounted状态。


面对上面的情况,写出“没有备份下数据文件丢失”的解决方案:

--第一步,首先将出问题的数据文件设置为offline状态,将事故影响范围减小
alter database datafile 6 offline;
alter database open;
--第二步,已将数据库启动了,但是还要解决数据文件遗失的问题,这里我们就需要利用到重做日志或归档日志帮助我们找回遗失的数据文件。
alter database create datafile 6;
现在我们回到原来被删除的目录下就会发现遗失的数据文件已经回来了,原理如下:
丢失一个数据文件,没有备份但是有该数据文件创建以来的归档怎么恢复
先决条件:
a. 不能是系统数据文件
b. 不能丢失控制文件
满足a,b两点的前提,我们可以完成数据文件恢复。
-第四步,我们需要进行介质恢复,保证数据的一致性。
recover datafile 6;
这个时候recover应该会出现(也可能不会)ORA-00279的错误,意思是我们需要通过归档日志进行介质恢复,这里提醒我们输入几个参数,直接输入auto即可,既是自动寻找数据进行恢复在归档日志中。
--第五步,已经完成介质恢复了,这时我们就需要将本来已下线的表空间重新上线。
alter database datafile 6 online;

::以上就是应对这个问题的简单处理情况,当然一事一议,每个问题的发生点不一样,按照这个思路去寻觅迟早可以解决问题::

这里再列举一个简单的场景,我们通过v$datafile可以查看到我们数据库内不管是oracle自带的表空间还是我们自行创建的表空间都是存放在同一个目录下,也就是存放在同一个“硬盘下面”,以/u01为例,/u01这个硬盘下面存放了整个数据库的数据文件,那这时,如果这个/u01的硬盘因突发原因损坏了或者即将要损坏呢?
针对上述问题,给出以下解决方案:

--首先我们需要建立一个新的分区,这个可以自行创建多一个分区,就不细讲。
--通过管理员身份登录sqlplus,还是以xx表空间为例,这里只举一个表空间为例子,其他的表空间作法可以跟这个一样,首先我们保证xx表空间已经做好了备份,这里要说一点,建议大家以后不论是脱机备份还是联机备份,都不要将备份后的文件和被备份的文件保存在同一个硬盘下面,避免出现硬盘损坏的时候,备份和源文件都不可用;
--将xx数据文件设置为offline状态
alter database datafile 6 offline;
--将刚刚已经备份好的文件拷贝到新的硬盘分区下的文件夹中,新的分区我以 /u02为例子,下的backup3文件夹
cp -a /u01/xx.dbf /u02/backup3
--这时已经将物理文件进行硬盘转移,如果我们是之前已将备份在第二硬盘就不需要考虑上一个步骤,接下来登入sqlplus,重新指定xx表空间的数据文件路径。
sqlplus /nolog
conn sys / as sysdba
alter database rename file '/u01/xx.dbf' to '/u02/backup3';
这时我们已经将原来是u01路径下的逻辑目录改为新硬盘下的目录。
--老规矩,将数据文件设置为online状态,进行介质恢复。
recover datafile 6;
alter database datafile 6 online;
大功告成!

::在一个数据库建设初期,建议把数据文件保存在不同的硬盘下,避免出现任何突发情况导致全路径下的数据文件同一时间崩溃,备份文件也是建议异地存储;上面这种情况就是介绍了我们如何发现硬盘损坏,怎么迁移硬盘的数据文件,保证新硬盘下的数据文件让数据库能正常使用的步骤,还是那句话,一事一议,遇到任何情况多花时间想清楚步骤,再下手去做,毕竟是个胆大心细的活.::

从这里结合上一章我们就是介绍了用户管理的备份恢复,为什么要叫用户管理的备份恢复?因为我们都是通过一些SQL语句和OS命令帮助我们恢复数据库,都是采用用户执行帮助下完成的,所以叫用户管理的备份恢复。

不完全恢复

这里讲一下不完全备份的步骤,至于什么叫不完全备份,可以理解为某个时间点归档日志或重做日志损坏从而实现不同的时间点/SCN号进行备份恢复:

1.备份所有的数据文件和控制文件
2.做不完全恢复(基于时间线的恢复)
2.1.利用recover恢复重做日志或归档日志记载的时间线内的数据,13:01插入了1条数据,13:05插入了一条数据,13:09插入了一条数据,这时13:05的硬盘突然出现问题,导致这个时间以后记载的重做日志数据丢失了,只能恢复到13:05这个时间线。
recover automatic datafile 6 utill time ‘2020-06-30 13:05:01’;
这个时候已经完成时间线的恢复,有一点要注意, 实例必须在mount状态下使用。
2.2 将数据库切换成open状态,这里系统会提示ORA-01589必须选用resetlogs或者noresetlogs状态,这里我们选择将重做日志重置,scn重新开始记录,alter database open resetlogs;
3.做完不完全恢复后,再把所有的数据文件和控制文件备份一次
4.alter system archive log current;(切换日志组)
5.完成不完全恢复(大功告成!)
不完全恢复只能在归档模式下工作
::接着上面所说,我们只是恢复单个数据文件,我们也可以将所有的数据文件恢复到某个时间点 recover automatci database utill time ‘2020-06-30 13:05:01’;前提要先将我们刚刚备份完数据文件全部restore到原来的路径覆盖,再执行此操作。::
科普一下,我们在实际的生产环境中,并不可能很精确的定位到重做日志是在哪个时间点损坏的,这个时候我们就需要依赖第三方工具的协助,这里推荐一个对口重做日志的工具(logminer)

第二种不完全恢复就是scn号恢复,大致流程都和时间线恢复一样,但唯一不同就是recover命令,首先我们select current_scn from v$database;—查看当前数据库的scn号,假如我们在当前查询的scn号又插入了几条数据,之后又插入几条数据,现在我要恢复到我第一次插入的时候,流程大致相同,不同的则是命令 recover automatic database until change scn号(第一次插入的scn号);这就是唯一不同的地方。

总结

结合上章,我们讲述了完全恢复和不完全恢复的区别,这里简单总结一下:
完全恢复:脱机模式,联机模式
不完全恢复:联机模式(归档)
建议大家可以用两种不同的模式实验一下,谢谢。

用户管理的备份恢复(2)相关推荐

  1. [转]Oracle DB 执行用户管理的备份和恢复

    • 说明用户管理的备份和恢复与服务器管理的备份和恢复之间的差异 • 执行用户管理的数据库完全恢复 • 执行用户管理的数据库不完全恢复 备份和恢复的使用类型 数据库备份和恢复的类型包括: • 用户管理的 ...

  2. 服务器用户设置备份,用户管理的备份

    用户管理的备份 准备: 查询视图获取数据库文件信息 V$DATAFILE V$CONTROLFILE V$LOGFILE DBA_DATA_FILES SQL> select name ,sta ...

  3. SYSTEM 表空间管理及备份恢复

    标签: systemoraclesqldatabasefile数据库 2010-11-28 18:14 12689人阅读 评论(0) 收藏 举报 分类: -----Oracle备份恢复(16) 版权声 ...

  4. oracle还原system备份包,SYSTEM表空间管理及备份恢复

    --============================= -- SYSTEM 表空间管理及备份恢复 --============================= SYSTEM表空间是Oracl ...

  5. oracle 11g ocp 笔记(18)--用户管理的备份和还原

    一.备份和恢复 备份可以是脱机和联机,恢复可以是完整也可以是不完整. 二.用户管理的数据库备份 1.非归档模式 只能一致性关闭,然后备份文件,需要备份的文件包括: select name from v ...

  6. MySQL(五) 事务,索引,用户管理和备份

    事务 要么都成功,要么都失败(类似try代码块?) 一一一一一一一一一一一一一 A给B转账 - SQL1 A账面转出 - SQL2 B账面收到 一一一一一一一一一一一一一 若SQL2执行时或执行前出现 ...

  7. 1-6-RHEL7用户管理和如何恢复root密码

    本节所讲内容: 用户和组的相关配置文件 管理用户和组 RHEL7找回root身份 暴力破解rhel5下shadow文件中的密码   用户的分类: 根据帐号的位置:本地帐号.远程(域)帐号. LDAP, ...

  8. 备份恢复4.1——rman备份基础概念*

    1.RMAN备份基础: rman组件: 1.目标数据库:就是要进行备份.转储.恢复的数据库. 2.服务器进程:一般要进行rman操作,要建立两个服务器进程: 默认服务器进程用于解析rman命令,并且生 ...

  9. 执行用户管理(不依赖于RMAN)的备份和恢复_执行用户管理的数据库闪回和恢复

    本章描述在用户管理的备份和恢复策略中如何还原和恢复数据库和使用Oracle数据库的闪回特性.用户管理的备份和还原策略意味着不依赖RMAN的方法. 1.使用SQL*Plus执行闪回数据库 可以在非CDB ...

  10. oracle的故障包括用户或应用程序故障_数据库实例错误,oracle 备份恢复基础

    一,与基础 1.,备份简介 备份是数据的一个副本,一般包括控制文件和数据文件等 物理备份与逻辑备份 物理备份指物理文件的副本,逻辑备份是指使用工具抽取逻辑数据(例如,表或存储过程)并保存在二进制文件中 ...

最新文章

  1. MySQL中表的操作
  2. 数字图像处理实验(5):Proj03-01 ~ Proj03-06
  3. NOIP模拟测试6「那一天我们许下约定(背包dp)·那一天她离我而去」
  4. [读书笔记]TCP/IP详解V1读书笔记-1
  5. cups源码下载 linux_正点原子Linux第七十章Linux WIFI驱动实验
  6. UI设计灵感|这才是分享美图的正确姿势!
  7. ecnu1244 积木游戏
  8. 量子力学或证实人类生死并无意义
  9. c语言完整版 pdf,(完整版)C语言技术与应用.pdf
  10. 解构给默认值_使用 JavaScript 解构让代码更优雅
  11. Keil C51软件的使用
  12. 【numpy】查询手册
  13. html表单代码有哪些,HTML常用代码有哪些
  14. JavaScript prototype原型实现继承
  15. 服务器加什么网站才打开快,如何优化让网站打开速度更快些呢?
  16. MySQL数据库(初识数据库)
  17. 全球首次!32岁青年科学今天发现!道翰天琼认知智能机器人平台API接口大脑为您揭秘。
  18. android:TableRow之平均分布列
  19. three.js 实现波纹效果
  20. 手游冷知识丨为什么绝大多数手游不开放自由交易系统?

热门文章

  1. amd显卡怎么设置风扇?
  2. 16S测序 生物信息数据处理
  3. 怎样在计算机中找小键盘,笔记本怎么关小键盘【方法步骤】
  4. 7款浏览器新标签页扩展让你的Chrome耳目一新
  5. 通过ODC方法改善软件测试:3个案例研究
  6. PAT 甲级 1158 Telefraud Detection
  7. 动态规划实现生物碱基序列全局匹配
  8. win7怎样更改桌面计算机图标,教您电脑如何更改桌面图标
  9. 信息系统项目管理重点:信息化发展原则和方向
  10. linux服务运维管理,Linux服务器运维管理(第2版)