广告
返回顶部
首页 > 资讯 > 数据库 >Oracle备份恢复中热备份恢复及异机恢复的原理是什么
  • 894
分享到

Oracle备份恢复中热备份恢复及异机恢复的原理是什么

2024-04-02 19:04:59 894人浏览 泡泡鱼
摘要

oracle备份恢复中热备份恢复及异机恢复的原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Oracle备份恢复之热备份恢复及异机

oracle备份恢复中热备份恢复及异机恢复的原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Oracle备份恢复之热备份恢复及异机恢复

原理:

数据库必须运行在归档模式下,否则备份没有意义。备份前冻结块头,使scn号不变化,然后cp物理文件,最后解冻块头。此过程dml语句可以正常执行,动作被写在日志文件里面,当解冻scn号后,日志文件中内容会自动写入数据文件。

流程:

1、全库备份:

1)alter database begin backup;

2)cp物理文件

3)alter database end backup;

脚本:

spool /u01/oracle/jiaoben/bf2.sql

select 'ho cp '||name||' /u01/oracle/rebei/' from v$datafile;

spool off

alter database backup controlfile to '/u01/oracle/rebei/control.ctl';

create pfile='/u01/oracle/rebei/initorcl.ora' from spfile;

alter database begin backup;

@/u01/oracle/jiaoben/bf2.sql

alter database end backup;

2、表空间级备份:

1)alter tablespace <tablespace_name> begin backup;

2)cp表空间下数据文件

3)alter tablespace <tablespace_name> end backup;

脚本:

spool /u01/oracle/home/thot.sql

select 'alter tablespace '||tablespace_name||' begin backup;'||chr(10)||'ho cp '||file_name||' /u01/oracle/home/'||chr(10)||'alter tablespace '||tablespace_name||' end backup;'||chr(10) from dba_data_files;

spool off

start /u01/oracle/home/thot.sql

ho rm /u01/oracle/home/thot.sql

alter database backup controlfile to '/u01/oracle/home/control.ctl';

create pfile='/u01/oracle/home/initorcl.ora' from spfile;

恢复:能脱机的数据文件即脱机恢复,不能脱机的启动到mount阶段恢复。

1、users表空间丢失还原方法:

1)将数据文件脱机

2)物理cp备份文件

3)recover database

4)将数据文件联机

2、system表空间丢失还原方法:

1)启动数据库到mount状态

2)物理cp备份文件

3)recover database

4)alter database open;

3、所有数据文件丢失:

1)shutdown abort

2)startup mount

3)cp所有备份物理文件到数据文件目录

4)recover database

5)alter database open

4、日志文件丢失

1)shutdown immediate

2)startup(自动挂住)

3)recover database until cancel

4)alter database open resetlogs

5、控制文件丢失恢复

1)shutdown abort

2)startup(自动挂住)

3)将control文件cp回原位置

4)alter database mount

5)recover database using backup controlfile; > auto

6)recover database using backup controlfile; > 分别输入在线日志路径,回车

7)alter database open resetlogs

6、控制文件、日志文件、数据文件丢失

1)shutdown abort

2)startup(自动挂住)

3)将control文件cp回原位置

4)alter database mount

5)cp所有数据文件回原位置

6)recover database using backup controlfile until cancel

7)alter database open resetlogs

异机迁移恢复+小版本升级:(oracle 11g 11.2.0.1~oracle 11g 11.2.0.4

1、将热备份文件及归档日志传至目标机器

2、startup pfile='/备份pfile文件' mount;

3、recover database using backup controlfile until cancel;

4、alter database open upgrade resetlogs;

该升级方法将丢失最近在线日志信息。

自己做的异机恢复实战

linux操作系统REDHAT6.5

ORACLE是11.2.0.4

源库做一个RMAN备份

复制备份文件到测试

在测试库的操作:

记得先将备份文件放到一个oracle用户有权限读写的文件夹,然后把备份文件都授权oracle用户可访问

chown oracle.oinstall  full_bak*

其实就是改改用户所属就好

修改参数文件

vi /opt/pfile.ora

limsdb.__db_cache_size=4026531840

limsdb.__java_pool_size=33554432

limsdb.__large_pool_size=50331648

limsdb.__oracle_base='/home/db/u01/app/oracle'#ORACLE_BASE set from environment

limsdb.__pga_aggregate_target=1677721600

limsdb.__sga_target=5033164800

limsdb.__shared_io_pool_size=0

limsdb.__shared_pool_size=872415232

limsdb.__streams_pool_size=16777216

*.audit_file_dest='/home/db/u01/app/oracle/admin/limstest/adump'

*.audit_trail='db'

*.compatible='11.2.0.4.0'

*.control_files='/home/db/u01/app/oracle/oradata/limstest/control01.ctl','/home/db/u01/app/oracle/fast_recovery_area/limstest/control02.ctl'

*.db_block_size=8192

*.db_domain=''

*.db_name='limsdb'

*.db_recovery_file_dest='/home/db/u01/app/oracle/fast_recovery_area'

*.db_recovery_file_dest_size=4385144832

*.diagnostic_dest='/home/db/u01/app/oracle'

*.dispatchers='(PROTOCOL=tcp) (SERVICE=limsdbXDB)'

*.open_cursors=300

*.pga_aggregate_target=1672478720

*.processes=150

*.remote_login_passWordfile='EXCLUSIVE'

*.sga_target=5017436160

*.undo_tablespace='UNDOTBS1'

export ORACLE_SID=limsdb

rman target /

startup nomount pfile='/opt/pfile20190926.ora';

restore controlfile from '/opt/full_cont_LIMSDBxx_876748607_20190925_7356_1';

mount database;

catalog start with '/opt/bak/';

去 源库查询下数据文件路径select file#,name from v$datafile;

run{

set newname for datafile '+DATA/limsdb/datafile/system.256.942403651' to '/home/db/u01/app/oracle/oradata/limstest/system01.dbf';

set newname for datafile '+DATA/limsdb/datafile/sysaux.257.942403655' to '/home/db/u01/app/oracle/oradata/limstest/sysaux01.dbf';

set newname for datafile '+DATA/limsdb/datafile/undotbs1.258.942403659' to '/home/db/u01/app/oracle/oradata/limstest/undotbs1.dbf';

set newname for datafile '+DATA/limsdb/datafile/users.259.942403659' to '/home/db/u01/app/oracle/oradata/limstest/users.dbf';

set newname for datafile '+DATA/limsdb/datafile/undotbs2.271.942403927' to '/home/db/u01/app/oracle/oradata/limstest/undotbs2.dbf';

set newname for datafile '+DATA/limsdb/datafile/byhealth_data.281.943025409' to '/home/db/u01/app/oracle/oradata/limstest/limsdata01.dbf';

set newname for datafile '+DATA/limsdb/datafile/byhealth_data.282.943025591' to '/home/db/u01/app/oracle/oradata/limstest/limsdata02.dbf';

set newname for datafile '+DATA/limsdb/datafile/byhealth_data.283.943025709' to '/home/db/u01/app/oracle/oradata/limstest/limsdata03.dbf';

set newname for datafile '+DATA/limsdb/datafile/byhealth_data.284.943025841' to '/home/db/u01/app/oracle/oradata/limstest/limsdata04.dbf';

set newname for datafile '+DATA/limsdb/datafile/byhealth_data.285.943025965' to '/home/db/u01/app/oracle/oradata/limstest/limsdata05.dbf';

set newname for datafile '+DATA/limsdb/datafile/byhealth_data.286.943026085' to '/home/db/u01/app/oracle/oradata/limstest/limsdata06.dbf';

set newname for datafile '+DATA/limsdb/datafile/byhealth_data.287.943026201' to '/home/db/u01/app/oracle/oradata/limstest/limsdata07.dbf';

set newname for datafile '+DATA/limsdb/datafile/byhealth_data.288.943026369' to '/home/db/u01/app/oracle/oradata/limstest/limsdata08.dbf';

set newname for datafile '+DATA/limsdb/datafile/byhealth_data.289.943026563' to '/home/db/u01/app/oracle/oradata/limstest/limsdata09.dbf';

set newname for datafile '+DATA/limsdb/datafile/byhealth_data.290.943026913' to '/home/db/u01/app/oracle/oradata/limstest/limsdata10.dbf';

restore database;

}

export ORACLE_SID=limsdb

sqlplus / as sysdba

alter database open;

alter database open resetlogs;

*

ERROR at line 1:

ORA-01157: cannot identify/lock data file 1 - see DBWR trace file

ORA-01110: data file 1: '+DATA/limsdb/datafile/system.256.942403651'

Alter  database rename file '+DATA/limsdb/datafile/system.256.942403651' to '/home/db/u01/app/oracle/oradata/limstest/system01.dbf';

Alter  database rename file '+DATA/limsdb/datafile/sysaux.257.942403655' to '/home/db/u01/app/oracle/oradata/limstest/sysaux01.dbf';

Alter  database rename file '+DATA/limsdb/datafile/undotbs1.258.942403659' to '/home/db/u01/app/oracle/oradata/limstest/undotbs1.dbf';

Alter  database rename file '+DATA/limsdb/datafile/users.259.942403659' to '/home/db/u01/app/oracle/oradata/limstest/users.dbf';

Alter  database rename file '+DATA/limsdb/datafile/undotbs2.271.942403927' to '/home/db/u01/app/oracle/oradata/limstest/undotbs2.dbf';

Alter  database rename file '+DATA/limsdb/datafile/byhealth_data.281.943025409' to '/home/db/u01/app/oracle/oradata/limstest/limsdata01.dbf';

Alter  database rename file '+DATA/limsdb/datafile/byhealth_data.282.943025591' to '/home/db/u01/app/oracle/oradata/limstest/limsdata02.dbf';

Alter  database rename file '+DATA/limsdb/datafile/byhealth_data.283.943025709' to '/home/db/u01/app/oracle/oradata/limstest/limsdata03.dbf';

Alter  database rename file '+DATA/limsdb/datafile/byhealth_data.284.943025841' to '/home/db/u01/app/oracle/oradata/limstest/limsdata04.dbf';

Alter  database rename file '+DATA/limsdb/datafile/byhealth_data.285.943025965' to '/home/db/u01/app/oracle/oradata/limstest/limsdata05.dbf';

Alter  database rename file '+DATA/limsdb/datafile/byhealth_data.286.943026085' to '/home/db/u01/app/oracle/oradata/limstest/limsdata06.dbf';

Alter  database rename file '+DATA/limsdb/datafile/byhealth_data.287.943026201' to '/home/db/u01/app/oracle/oradata/limstest/limsdata07.dbf';

Alter  database rename file '+DATA/limsdb/datafile/byhealth_data.288.943026369' to '/home/db/u01/app/oracle/oradata/limstest/limsdata08.dbf';

Alter  database rename file '+DATA/limsdb/datafile/byhealth_data.289.943026563' to '/home/db/u01/app/oracle/oradata/limstest/limsdata09.dbf';

Alter  database rename file '+DATA/limsdb/datafile/byhealth_data.290.943026913' to '/home/db/u01/app/oracle/oradata/limstest/limsdata10.dbf';

Select group#,member from v$logfile order by 1;

alter database clear logfile group 9;

alter database clear logfile group 10;

alter database clear logfile group 11;

alter database clear logfile group 12;

alter database clear logfile group 13;

alter database clear logfile group 14;

alter database clear logfile group 15;

alter database clear logfile group 16;

alter database clear logfile group 17;

alter database clear logfile group 18;

在此之前记得先设置spfile

create spfile from pfile='/tmp/initorcl1.ora';

 alter database open resetlogs;

 recover database using backup controlfile;

 auto

 alter system set "_allow_resetlogs_corruption"=true scope=spfile;

 recover database using backup controlfile until cancel;

 cancel

 alter database open resetlogs;

 startup force;

  alter database open resetlogs;

 alter system set "_allow_resetlogs_corruption"=true scope=spfile;

 startup force;

关于Oracle备份恢复中热备份恢复及异机恢复的原理是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网数据库频道了解更多相关知识。

您可能感兴趣的文档:

--结束END--

本文标题: Oracle备份恢复中热备份恢复及异机恢复的原理是什么

本文链接: https://www.lsjlt.com/news/68477.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle备份恢复中热备份恢复及异机恢复的原理是什么
    Oracle备份恢复中热备份恢复及异机恢复的原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Oracle备份恢复之热备份恢复及异机...
    99+
    2022-10-19
  • 【备份恢复】物理热备及恢复
    物理热备:即数据库处于开启时备份,但前提必须要开启归档,因为只有开归档,数据库恢复时才能应用日志将数据库恢复到最新;物理热备可以备份单个数据文件、表空间及整个数据库;物理热备,分普通表空间(非关键数据文...
    99+
    2022-10-18
  • Xtrabackup备份恢复原理是什么
    这篇文章给大家介绍Xtrabackup备份恢复原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 一、Xtrabackup备份恢复原理 &n...
    99+
    2022-10-19
  • ORACLE冷备份及恢复的示例分析
    这篇文章给大家分享的是有关ORACLE冷备份及恢复的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。直接拷贝oracle目录下的admin、oradata(datafile...
    99+
    2022-10-19
  • ocr的备份恢复方法是什么
    这篇文章主要介绍“ocr的备份恢复方法是什么”,在日常操作中,相信很多人在ocr的备份恢复方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ocr的备份恢复方法是什么”...
    99+
    2022-10-18
  • postgreSQL11备份与恢复方法是什么
    本篇内容介绍了“postgreSQL11备份与恢复方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2022-10-18
  • Oracle的手工备份和恢复方法是什么
    本篇内容主要讲解“Oracle的手工备份和恢复方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle的手工备份和恢复方法是什么”吧!一、什么是手工...
    99+
    2022-10-18
  • 什么是Mysql的逻辑备份与恢复
    下文我给大家简单讲讲关于什么是Mysql的逻辑备份与恢复,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完什么是Mysql的逻辑备份与恢复对大家多少有点帮助吧。 &nb...
    99+
    2022-10-18
  • win11备份与恢复的方法是什么
    Windows 11 提供了多种备份和恢复方法,以下是几种常用的方法:1. 使用 Windows 備份與還原工具:Windows 1...
    99+
    2023-09-02
    win11
  • Oracle 12c 备份与恢复中resetlogs的概念及用法是什么
    这篇文章给大家介绍Oracle 12c 备份与恢复中resetlogs的概念及用法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。备份与恢复是一门重要...
    99+
    2022-10-19
  • oracle增量备份恢复验证的方法是什么
    本篇内容主要讲解“oracle增量备份恢复验证的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle增量备份恢复验证的方法是什么”吧!首先把备份...
    99+
    2022-10-18
  • Oracle用户管理的备份与恢复介绍
    数据库维护中,备份或恢复是重中之重的问题。尽管很多时候数据库系统运行缓慢,但对数据库数据的丢失而言,显然后者损失的代价是不言而喻的,DBA首要的工作就是尽一切可能地做好数据的备份工作。 1.1、物...
    99+
    2022-10-18
  • 虚拟主机mysql备份恢复的方法是什么
    虚拟主机上的MySQL备份恢复的方法如下:1. 使用phpMyAdmin进行备份和恢复:phpMyAdmin是一个基于Web的MyS...
    99+
    2023-08-08
    虚拟主机
  • MySQLdump增量备份、完全备份与恢复的方法是什么
    本篇内容主要讲解“MySQLdump增量备份、完全备份与恢复的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQLdump增量备份、完全备份与恢复的方法是什么”吧!在数据库表丢失或...
    99+
    2023-06-16
  • innobackupex的备份和恢复是怎么样的
    这篇文章给大家介绍innobackupex的备份和恢复是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。原理阶段:备份backup – 预恢复pre...
    99+
    2022-10-19
  • windows注册表备份恢复的方法是什么
    Windows注册表是一个非常重要的系统组件,包含了操作系统和安装的应用程序的配置信息。因此,备份和恢复注册表非常重要,以防止不可预...
    99+
    2023-09-08
    windows
  • Linux系统的备份和恢复方法是什么
    这篇文章主要介绍“Linux系统的备份和恢复方法是什么”,在日常操作中,相信很多人在Linux系统的备份和恢复方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux系统的备份和恢复方法是什么”的疑...
    99+
    2023-06-15
  • MYSQL中的备份恢复手段是怎样的
    这期内容当中小编将会给大家带来有关MYSQL中的备份恢复手段是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.冷备份停库,备份# which mysqladmin...
    99+
    2022-10-18
  • 什么是SYSTEM 表空间管理及如何进行备份恢复
    本篇文章为大家展示了什么是SYSTEM 表空间管理及如何进行备份恢复,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。SYSTEM 表空间管理及备份恢复    SYSTEM表空间是O...
    99+
    2023-06-06
  • 在Linux中如何使用iptables进行异机备份/恢复
    本篇内容主要讲解“在Linux中如何使用iptables进行异机备份/恢复”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在Linux中如何使用iptables进行异机备份/恢复”吧!  方法如下...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作