在oracle备份数据库,Oracle在A机器上备份了数据库,到B机器上恢复时,怎么进行下去?...
最近几天自己写了个关于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机器上恢复时,怎么进行下去?...相关推荐
- oracle备份磁盘头,ASM 磁盘头信息备份
ASM磁盘头信息保存在每个磁盘的前4K里面,这个信息的备份对于ASM的恢复非常重要,有下面的几种方法 1.直接做dd来备份磁盘的前4K,磁盘头信息丢失时,dd回来 备份:dd if=/dev/raw/ ...
- linux上备份sybase,Linux平台下Sybase数据库备份的方法分析
龙源期刊网 http://doc.xuehai.net Linux平台下Sybase数据库备份的方法分析 作者:刘君尧王辉静刘云霞 来源:<无线互联科技>2018年第01期 摘要:对于从事 ...
- Oracle数据库管理系统:大数据的备份
问:公司里的oracle数据库有20G之大(这是一个方案的大小.原来这个方案有30G,我已经把能删的数据都删了),怎么备份?感觉备份一次好慢啊.专家有什么指导一下的吗?(另:20G的数据库是不是备份也 ...
- oracle 怎么备份sqlserver数据库,Oracle和sqlserver数据库的备份与恢复
Oracle 数据库的备份与恢复 当我们使用一个数据库时,总希望数据库的内容是可靠的.正确的,但由于计算机系统的故障(包括机器故障.介质故障.误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据 ...
- 关系型数据库Oracle之RMAN备份ORA-19625等错误解决办法
事情是这样的,上周六中午刚要出去吃饭,便看到微信群里备份工程师的微信消息,说某套环境备份失败,让 DBA 检查下环境,我猜想这不是什么大问题,便不慌不忙的登陆到服务器上,打开备份的日志查看,果然不是什 ...
- oracle定时备份SHELL,shell数据库备份脚本oracle
如何开始使用RMAN的Oracle备份脚本? Recovery Manager(RMAN)是Oracle的一种可用于备份和恢复Oracle数据库的工具.该软件在管理服务器上运行,并通过网络与目标数据库 ...
- oracle自动备份教程,Oracle数据库自动备份脚本分享(超实用)
前言 众所周知数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC ...
- oracle的故障包括用户或应用程序故障_数据库实例错误,oracle 备份恢复基础
一,与基础 1.,备份简介 备份是数据的一个副本,一般包括控制文件和数据文件等 物理备份与逻辑备份 物理备份指物理文件的副本,逻辑备份是指使用工具抽取逻辑数据(例如,表或存储过程)并保存在二进制文件中 ...
- oracle日志备份少数据库,oracle 账号锁定日志Oracle数据库全量备份恢复和部分备份恢复...
Oracle数据库全量备份恢复和部分备份恢复 今天又遇到了Oracle数据库序列的问题,索性来个全库的备份和恢复.如下 imp/exp 方式 表模式备份: oracle@sencloudServe ...
最新文章
- [maven] 使用问题及思考汇总
- python新手入门教程-终于知晓python新手练习教程
- ubuntu下搭建一个数据化处理的开发环境
- HDOJ HDU 2058 The sum problem ACM 2058 IN HDU
- 重置CentOS阿里云的mysql密码
- python中的小魔法(一)
- Apache NetBeans?
- linux time函数_Linux基础知识(三)
- 使用 PSD Validator 在线校验 PSD 文件的质量
- 区块链入门与去中心化应用实战 之一 第3章 区块链技术核心原理实现
- antd vue关闭模态对话框_如何在Bootstrap项目中用Vue.js替代jQuery
- jdk、spring、mybatis、线程的源码分析
- matlab 箱图不显示异常值_欧姆龙E5EZ温控器PV显示值跳动异常的处理,一看就懂...
- 同时生成 Release版和Debug版DLL的方法
- 怎样借助营销圈帮助企业扩大品牌知名度呢?
- 西门子转以太网模块连接S7-300以太网驱动
- net use 命令使用
- 【程序逻辑】数据时代的推断陷阱尔雅答案
- U-Boot 之三 详解使用 eclipse + J-Link 进行编译及在线调试
- 休息时间!哪些业余活动能提升开发人员的技能?