使用rman备份异机恢复数据库
一.RMAN备份源库
注意点:
最好保留rman备份日志
$rman target / log=backup.log
RMAN>run {
allocate channel t1 type disk;
allocate channel t2 type disk;
allocate channel t3 type disk;
allocate channel t4 type disk;
backup format '<give location of backup/%U>' filesperset (database); sql 'alter system archive log current';
backup format '<give location of backup/%U>' fiesperset (archivelog all);
backup format '<give location of backup/%U>' current controlfile;
}
二.将备份文件传输到用于恢复的机器
注意点:
在10之前,必须将备份放到相同的路径和目录;10g之后,可以使用catalog命令进行注册。
除了备份文件,还要将参数文件传输过去(当然也可以自己重建)
2.1 创建或修改参数文件
对于参数文件中使用的文件路径目录都要创建好
2.2 创建口令文件
C:\> orapwd file=pwdmdb.ora password=ys06 entries=
2.3 创建oracle services(windows平台需要执行)
C:\> ORADIM -new -sid mdb -intpwd ys06 -maxusers -startmode auto -pfile 'C:\init.ora';
三.还原控制文件
> set oracle_sid=mdb
> sqlplus /nolog
$ connect /as sysdba
$ startup nomount pfile=C:\init.ora
$ exit
> rman target /
RMAN> restore controlfile from 'C:\data\NCCNTRL_20150921_8AQHLUR6_1_1' #这一步需要使用到参数文件中对控制文件的配置信息
RMAN> alter database mount;
四.catalog备份信息
如果备份文件的位置和源库上不同,需要进行catalog注册
RMAN> catalog start with '备份文件的存放目录' noprompt; #会将所有的备份片注册进来
RMAN> crosscheck backup tag '<backup tag from backup log>' ; #如果有多份备份,将老的备份标记为expired
RMAN> delete expired backup; #删除过期的备份
五.还原数据库
RMAN> report schema; #列出schema信息,如果源库和目标库的文件位置或文件名不同,需要使用set newname进行重新设置
RMAN> run{
allocate channel t1 type disk;
allocate channel t2 type disk;
set newname for datafile to 'C:\ORACLE\ORADATA\SYSTEM01.DBF';
set newname for datafile to 'C:\ORACLE\ORADATA\SYSAUX01.DB';
set newname for datafile to 'C:\ORACLE\ORADATA\UNDOTBS01.DBF';
set newname for datafile to 'C:\ORACLE\ORADATA\USERS01.DBF';
set until sequence ;
restore database;
switch datafile all;
recover database;
}
sequence可以从rman备份日志中找到,或者查看v$backup_redolog
六.重命名redo文件
SQL> set lines
col member format a60
select a.thread#,a.group#,b.type,b.member,a.bytes/
from v$log a,v$logfile b
where a.group#=b.group# order by a.group#;
SQL> alter database rename file '<old file location and name>' to '<new location and name>';
确认一下
SQL> select a.thread#,a.group#,b.type,b.member,a.bytes/ from v$log a,v$logfile b where a.group#=b.group# order by a.group#;
七.重命名temp文件
SQL> alter database rename tempfile 'D:\APP\ADMINISTRATOR\ORADATA\mdb\TEMP01.DBF' to 'C:\ORACLE\ORADATA\TEMP01.DBF'
八.打开数据库
SQL> alter database open resetlogs;
SQL> create spfile from pfile;
SQL> shutdown immediate
SQL> startup
数据异机还原后,和源库有相同的DBID和DB_NAME
使用rman备份异机恢复数据库的更多相关文章
- RMAN - 备份异机恢复
OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...
- RMAN 备份异机恢复 并创建新DBID
测试平台信息: Oracle:11gR2 操作系统:Redhat 5.5 Target DB:dave 几点说明: (1)RMAN 异机恢复的时候,db_name必须相同. 如果说要想改成其他的实 ...
- RAC数据库的RMAN备份异机恢复到单节点数据库
1.首先在rac环境用rman备份数据库.[oracle@rac1 admin]$ rman target /run{allocate channel c1 device type disk conn ...
- Rman备份异机恢复
最后更新时间:2018/12/29 前置条件 已准备一台安装好Centos6+oracle11gr2 软件的服务器; 只安装了 oracle 数据库软件,需要手工创建以下目录: #环境变量 expor ...
- Hyper-V安装Oracle Linux6_4 Oracle db 12c并使用rman做异机恢复
本文记录在Windows Server 2012 R2上安装Oracle Enterprise Linux 6.4以及使用RMAN进行进行异机恢复的过程. Windows服务器增加Hyper-V功能 ...
- Oracle之使用rman进行异机恢复测试记录
本次测试目的是从生产数据库导出rman备份然后在测试数据库恢复 1,拷贝备份至相应目录 2,进入rman rman target \ 3,关闭数据库 shutdown 4,以nomount模式启动数据 ...
- rman全备份异机恢复
一.测试环境 [oracle@localhost ~]$ uname -a Linux localhost.localdomain -.el6.x86_64 # SMP Tue May :: EDT ...
- rman 备份并异机恢复
1.RMAN 备份脚本 RUN { CONFIGURE RETENTION POLICY DAYS; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CO ...
- Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复
Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...
随机推荐
- Low-cost ADC using only Digital I/O
http://letsmakerobots.com/node/13843 Reading A Sensor With Higher Accuracy – RC Timing Method RC Tim ...
- 基于ARM的射频识别读卡器电路设计
http://tech.yktworld.com/201010/201010032128115666.html 来源:一卡通世界 作者:江小平,李中捷,余晓峰 2010-10-3 ...
- Raspberry pi,一个好玩的派:第八季 Raspbmc(下)
上一季安装好Raspbmc就等着这一季好好玩耍呢. 我们要在这一季中完毕例如以下任务:调整分辨率.连接wifi并在无线路由器中设置固定IP.手机遥控Raspbmc.改变语言为中文.远程訪问Raspbe ...
- 判断终端是ios还是安卓的一些妙用(附加微信分享图标修改)
最近遇到一个项目 要求有两个icon(就是下载地址 下载安卓的apk 和ios的安装包) 一开始的方案是 什么设备都显示这两个icon 但是后来老大说这样不好 安卓用户给他下载ios 也不行 ...
- Android Studio如何集成Genymotion
转自:http://blog.csdn.net/hyr83960944/article/details/37900383 Android Studio集成Genymotion比在Eclipse中集成简 ...
- 5)Linux程序设计入门--信号处理
)Linux程序设计入门--信号处理 Linux下的信号事件 前言:这一章我们讨论一下Linux下的信号处理函数. Linux下的信号处理函数: 信号的产生 信号的处理 其它信号函数 一个实例 .信号 ...
- 如何在jenkins上通过mvn方式运行sonar
1.首先在jenkins所在机器的的maven配置文件(settings.xml)里做如下配置: <profile> <id>sonar</id> <acti ...
- 查找链表中倒数第k个结点
题目:输入一个单向链表,输出该链表中倒数第k个结点.链表的倒数第0个结点为链表的尾指针.链表结点定义如下: struct ListNode { int m_nKey; ListNode* m_pNex ...
- flume和kafka整合(转)
原文链接:Kafka flume 整合 前提 前提是要先把flume和kafka独立的部分先搭建好. 下载插件包 下载flume-kafka-plus:https://github.com/beyon ...
- utf8_general_ci、utf8_unicode_ci和utf8_bin的区别
utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用. utf8_general_cs 区分大小写,如果用户名和邮箱用这个就会照成不良后果. utf8_bin: com ...