最近几天自己写了个关于RMAN异机恢复的笔记希望对你有帮助

不对的地方还望指正

1,在源数据库做一次全备(包含控制文件,归档日志文件)

rman>run {

>allocate channel d1 type disk;

>allocate channel d2 type disk;

>backup full database format 'f:\orcl2data.bak'

>tag='full' include current controlfile;

>sql 'alter system archive log current';

>backup archivelog all format 'f:\orcl2log.bak' delete all input;

>release channel d2;

>release channel d1;

}

2, 在源数据库上创建pfile文件,并拷贝至目标机器上任何位置

sql>create pfile=f:\orcl2pfile.ora from spfile;

3,windowx在CMD窗口输入(linux可取消此步骤)

oradim -new -sid reportvi

set ORACLE_SIDD=reportvi

sqlplus / as sysdba

--使用保存的pfile文件启动到numount状态

sql>startup nomount pfile='xxxx'

sql>EXIT

--将刚才备份的f:\orcl2data.bak、f:\orcl2log.bak拷贝至目标机器上XXXXX路径

rman target/

--恢复控制文件

rman>restore controlfile from 'YYYY';

--恢复控制文件之后就可以加载恢复目录了

rman>catalog start with 'XXXXXX'

rman>list bakcup

--删除状态为expired 防止恢复数据文件的时候找到多个无效的备份

rman>delete expired backup

--再重新加载恢复目录

rman>catalog start with 'XXXXXX'

RMAN> run{

>allocate channel d1 type disk;

>set newname for datafile 1 to 'F:\report_data\reportvi\SYSTEM01.DBF';

>set newname for datafile 2 to 'f:\report_date\reportvi\UNDOTBS01.DBF';

>set newname for datafile 3 to 'f:\report_date\reportvi\SYSAUX01.DBF';

>set newname for datafile 4 to 'f:\report_date\reportvi\USERS01.DBF';

>restore database;

>switch datafile all;

>recover database;

>release channel d1;

}

这里的datafile 1,2,3,4对应的数据文件名称一定要和源库上的对应

比如datafile 1对应的system01 恢复的时候绝对不能恢复成sysaux01

run{

allocate channel d1 type disk;

set newname for datafile 1 to 'F:\report_data\reportvi\SYSTEM01.DBF';

set newname for datafile 2 to 'f:\report_date\reportvi\UNDOTBS01.DBF';

set newname for datafile 3 to 'f:\report_date\reportvi\SYSAUX01.DBF';

set newname for datafile 4 to 'f:\report_date\reportvi\USERS01.DBF';

restore database;

switch datafile all;

recover database;

release channel d1;

}

--在执行recover database的时候会报如下错误 是因为没有源数据库的redo文件导致

启动 recover 于 22-3月 -13

使用通道 ORA_DISK_1

正在开始介质的恢复

无法找到存档日志

存档日志线程 =1 序列=144

MAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: recover 命令 (在 03/22/2013 14:14:54 上) 失败

RMAN-06054: 介质恢复正请求未知的日志: 线程 1 seq 144 lowscn 3022894

如果要做到与源库的数据一致,就把源库关闭拷贝3个redo文件到目标数据库目录下

sql>alter databse open;

ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项

--刚刚做过恢复必须使用resetlogs 选项打开数据库

sql>alter database open resetlog;

alter database open resetlogs

*

第 1 行出现错误:

ORA-00344: 无法重新创建联机日志

'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL2\REDO01.LOG'

ORA-27040: 文件创建错误, 无法创建文件

OSD-04002: 无法打开文件

O/S-Error: (OS 3) 系统找不到指定的路径。

SQL> alter database rename file 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL2\REDO01.LOG' to 'F:\oracle\product\10.2.0\oradata\orcl2\redo01.log';

数据库已更改。

SQL> alter database rename file 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL2\REDO02.LOG' to 'F:\oracle\product\10.2.0\oradata\orcl2\redo02.log';

数据库已更改。

SQL> alter database rename file 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL2\REDO03.LOG' to 'F:\oracle\product\10.2.0\oradata\orcl2\redo03.log';

数据库已更改。

SQL> alter database open resetlogs;

数据库已更改。

在oracle备份数据库,Oracle在A机器上备份了数据库,到B机器上恢复时,怎么进行下去?...相关推荐

  1. oracle备份磁盘头,ASM 磁盘头信息备份

    ASM磁盘头信息保存在每个磁盘的前4K里面,这个信息的备份对于ASM的恢复非常重要,有下面的几种方法 1.直接做dd来备份磁盘的前4K,磁盘头信息丢失时,dd回来 备份:dd if=/dev/raw/ ...

  2. linux上备份sybase,Linux平台下Sybase数据库备份的方法分析

    龙源期刊网 http://doc.xuehai.net Linux平台下Sybase数据库备份的方法分析 作者:刘君尧王辉静刘云霞 来源:<无线互联科技>2018年第01期 摘要:对于从事 ...

  3. Oracle数据库管理系统:大数据的备份

    问:公司里的oracle数据库有20G之大(这是一个方案的大小.原来这个方案有30G,我已经把能删的数据都删了),怎么备份?感觉备份一次好慢啊.专家有什么指导一下的吗?(另:20G的数据库是不是备份也 ...

  4. oracle 怎么备份sqlserver数据库,Oracle和sqlserver数据库的备份与恢复

    Oracle 数据库的备份与恢复 当我们使用一个数据库时,总希望数据库的内容是可靠的.正确的,但由于计算机系统的故障(包括机器故障.介质故障.误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据 ...

  5. 关系型数据库Oracle之RMAN备份ORA-19625等错误解决办法

    事情是这样的,上周六中午刚要出去吃饭,便看到微信群里备份工程师的微信消息,说某套环境备份失败,让 DBA 检查下环境,我猜想这不是什么大问题,便不慌不忙的登陆到服务器上,打开备份的日志查看,果然不是什 ...

  6. oracle定时备份SHELL,shell数据库备份脚本oracle

    如何开始使用RMAN的Oracle备份脚本? Recovery Manager(RMAN)是Oracle的一种可用于备份和恢复Oracle数据库的工具.该软件在管理服务器上运行,并通过网络与目标数据库 ...

  7. oracle自动备份教程,Oracle数据库自动备份脚本分享(超实用)

    前言 众所周知数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC ...

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

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

  9. oracle日志备份少数据库,oracle 账号锁定日志Oracle数据库全量备份恢复和部分备份恢复...

    Oracle数据库全量备份恢复和部分备份恢复 今天又遇到了Oracle数据库序列的问题,索性来个全库的备份和恢复.如下 imp/exp 方式 表模式备份: ­ oracle@sencloudServe ...

最新文章

  1. [maven] 使用问题及思考汇总
  2. python新手入门教程-终于知晓python新手练习教程
  3. ubuntu下搭建一个数据化处理的开发环境
  4. HDOJ HDU 2058 The sum problem ACM 2058 IN HDU
  5. 重置CentOS阿里云的mysql密码
  6. python中的小魔法(一)
  7. Apache NetBeans?
  8. linux time函数_Linux基础知识(三)
  9. 使用 PSD Validator 在线校验 PSD 文件的质量
  10. 区块链入门与去中心化应用实战 之一 第3章 区块链技术核心原理实现
  11. antd vue关闭模态对话框_如何在Bootstrap项目中用Vue.js替代jQuery
  12. jdk、spring、mybatis、线程的源码分析
  13. matlab 箱图不显示异常值_欧姆龙E5EZ温控器PV显示值跳动异常的处理,一看就懂...
  14. 同时生成 Release版和Debug版DLL的方法
  15. 怎样借助营销圈帮助企业扩大品牌知名度呢?
  16. 西门子转以太网模块连接S7-300以太网驱动
  17. net use 命令使用
  18. 【程序逻辑】数据时代的推断陷阱尔雅答案
  19. U-Boot 之三 详解使用 eclipse + J-Link 进行编译及在线调试
  20. 休息时间!哪些业余活动能提升开发人员的技能?

热门文章

  1. oracle sysman 不存在_Oracle无法对所有 EM 相关帐户解锁
  2. python-15:装饰函数之一
  3. RNQOJ Jam的计数法
  4. Makefile中的变量和shell变量
  5. Polymorphic form--多态表单
  6. POJ 3034 Whac-a-Mole(DP)
  7. 黑马程序员-4 String类和StringBuffer类
  8. Windows的设备驱动框架
  9. C语言长度为0的数组
  10. 什么是RosBE及其安装使用、第一次生成ReactOS的VS工程失败