Oracle 手工不完全恢复总结(一)

完全恢复和不完全恢复都是对数据库进行恢复的操作。

完全恢复:指的是利用重做日志或增量备份将数据恢复到最近的当前时间点。回滚未提交事务。之所以叫完全恢复是由于Oracle应用了归档日志和联机重做日志中的所有的修改。

不完全恢复:利用备份产生一个非当前版本的数据库。恢复过程中不会应用备份产生后生成的所有重做日志。

不完全恢复应用的场景:

  • 介质失败、损坏了一个、几个或全部的联机重做文件;
  • 用户操作造成的数据丢失,比如用户误删除一张表;
  • 由于个别归档日志文件的丢失;
  • 丢失了当前的控制文件,必须使用备份的控制文件打开数据库。

为了执行不完整介质恢复,必须使用恢复时间点以前的备份来还原数据文件,并在恢复完成后使用RESETLOG选项打开数据库。

Resetlog参数:

在不完全恢复中,通畅需要使用resetlog命令打开数据库,这是因为我们要从已经建立的现有的重做日志流中脱离出来,resetlog参数教室一个数据库逻辑生存期的结束,另一个数据库逻辑的开始。数据库的逻辑生存期也被成为一个对应物(incarnation)。每次使用resetlog命令时,SCN计数器不会重置,但是Oracle会重置其他计数器,同事还会重置联机重做日志的内容。

不完全恢复的可实现目标:

  • 1.1重做日志文件丢失或损坏
  • 1.2重做日志文件,数据文件同时丢失或损坏
  • 2.1控制文件丢失或损坏
  • 2.2控制文件、数据文件丢失或损坏
  • 2.3控制文件,重做日志文件,数据文件丢失或损坏
  • 2.4控制文件,重做日志文件损坏或丢失
  • 2.5控制文件,重做日志文件,参数文件,数据文件丢失或损坏
  • 3.1把数据库恢复到某一SCN
  • 3.2把数据库恢复到某一时间点
  • 4.表空间基于时间点的恢复

不完全恢复的操作步骤:

  1. 先通过logmnr找到误删除操作的时间点
  2. 对现在的Database做新全备
  3. 还原该时间点前所有datafile
  4. 在mount状态下,对Database做recover,恢复到过去时间点
  5. 将恢复出来的table做逻辑备份(exp)
  6. 再将全备还原
  7. 将导出的表导入Database(imp)

Logmnr工具:可对数据库日志文件中的数据解析,以供DBA使用。

不完全恢复的刻度类型:

  1. 基于时间点(until time)  使整个数据库恢复到过去的某一个时间点;
  2. 基于SCN(until scn)  使整个数据库恢复到过去的某一个SCN;
  3. 基于cancel(until cancel)  使整个数据库恢复到归档日志或当前日志的断点前
  4. 基于误删除表空间(使用备份的controlfile)  使整个数据库恢复到误删除表空间前。

下一期【Oracle 手工不完全恢复总结(二)——不完全手工恢复的刻度类型总结】

原文地址:https://www.cnblogs.com/wdymyoraclelinux/p/10021757.html

时间: 2024-11-15 20:59:40

Oracle 手工不完全恢复总结(一)的相关文章

Oracle手工生成段建议(Segment Advisor)

一.描写叙述 从oracle 10g開始,oracle引入了段顾问(Segment Advisor),用于检查数据库中是否有与存储空间相关的建议,而且从10gR2開始,oracle自己主动调度并执行一个段顾问作业,定时分析数据库中的段,并将分析结果放在内部表中.可是非常多情况下,作为DBA,我们都会将oracle自带的各种调度作业(统计信息收集.段顾问.SQL顾问等等)禁用,进而通过手工进行控制执行类似作业(或者为了节省资源).因此非常多情况下,我们都没实用到段顾问这个非常实用的功能.这篇文章就

使用rman的level0的备份文件迁移oracle数据库-不完全恢复

使用rman的level0的备份文件迁移oracle数据库-不完全恢复-20160811 将oracle数据库从一台机器A迁移到另外的一台机器B(同为linux平台),设置为不同的路径,不同的实例名 源端: ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1 ORACLE_SID=SCPDB 数据文件位置:/u01/app/oracle/oradata/SCPDB/datafile/ 目标端:

oracle 手工删库

今天因为插入中文是乱码,发现字符集不是ZHS16GBK,所以准备删除了重新建 [email protected] >alter database close; alter database close * 第 1 行出现错误: ORA-01093: ALTER DATABASE CLOSE ????????????? 说明还要session 连接,退出连接后在进行删除操作 [email protected] >alter database close; 数据库已更改. [email prote

ORACLE手工删除数据库

很多人习惯用ORACLE的DBCA工具创建.删除数据库,这里总结一下手工删除数据库实验的步骤,文中大量参考了乐沙弥的手动删除ORACLE数据库这篇博客的内容,当然还有Oracle官方相关文档.此处实验环境为Oracle Linux Server release 5.7,数据库版本为10.2.0.5.0 Step 1: .获得控制文件.数据文件,日志文件等相关信息 获取这些信息,一方面是为了后面的建库做参考,另外一个是为了验证后面一些操作,如果这些都没有必要,其实是可以可以跳过这一步的. SQL>

oracle手工生成AWR报告方法记录

AWR(Automatic Workload Repository)报告是我们进行日常数据库性能评定.问题SQL发现的重要手段.熟练掌握AWR报告,是做好开发.运维DBA工作的重要基本功. AWR报告的原理是基于Oracle数据库的定时镜像功能.默认情况下,Oracle数据库后台进程会以一定间隔(一小时)收集系统当前状态镜像,并且保存在数据库中.生成AWR报告时,只需要指定进行分析的时间段(开始镜像编号和结束镜像编号),就可以生成该时间段的性能分析情况.AWR镜像保存在数据库中的时间为一个月左右

linux下oracle手工建库过程

1.创建目录$ORACLE_BASE/admin/$ORACLE_BASE/oradata$ORACLE_BASE/flash_recovery_area 2.建初始化参数文件 cd   $ORACLE_HOME/dbsdb_name=orclmemory_target=1Gprocesses = 150audit_file_dest='/oracle/app/product/admin/orcl/adump'audit_trail ='db'db_block_size=8192db_domai

Oracle手工创建数据库

1,确定数据库全局变量名和实例名 DB_NAME = ORCL SID = ORCL 2,确定数据库管理员的认证方式: 管理员的认证方式包括操作系统认证和口令认证两种,本例采用操作系统认证 3,创建初始化参数文件 可以拷贝一个文件修改下 oracle 11g提供的参数文件位于C:\app\Administrator\admin\orcl\pfile下,具体内容如下,可根据自己需要修改,修改后放在C:\app\Administrator\admin\orcl\pfile文件夹下,命名为initor

Oracle 手工清理临时段

今天开发说一个测试库里的表空间满了需要清理,连上测试库一看,确实已经使用99.98%了. TABLESPACE_NAME                SIZE_G          FREE_G          USED_PCT ------------------------------ --------------- --------------- ---------- E2TEST                               96.00            0.02 

oracle手工建立OEM

注意: 主机名需要检查,修改HOSTS文件 检查system表空间的大小.如果system不能自动扩展.需要添加数据文件或修改问自动扩展 lsnrctl的检查(这一步我第一次折腾了很久) %%%关闭防火墙 创建步骤 创建emca -config dbcontrol db -repos (create or recreate)(可以使用emca来查看emca的帮助) 开启OEM  : emctl start dbconsole 关闭OEM  : emctl stop dbconsole 查看OEM