使用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 ...
随机推荐
- .NET 4.5 is an in-place replacement for .NET 4.0
With the betas for .NET 4.5 and Visual Studio 11 and Windows 8 shipping many people will be installi ...
- Maven +Tomcat+m2eclipse的热部署(hot deploy)
原文地址: http://www.cnblogs.com/cbf4life/archive/2010/01/29/1659502.html 软件版本:maven 2.2 tomcat 6.0,Ecli ...
- git使用教程1-本地代码上传到github
前言 不会使用github都不好意思说自己是码农,github作为一个开源的代码仓库管理平台,我们可以把自己的代码放到github上,分享给小伙伴,自己也能随时随地同步更新代码. 问题来了:为什么越来 ...
- 解决 PHP Fatal error: Call-time pass-by-reference has been removed
PHP在升级到5.4版本的php可能会出现这种错误: 如果这样使用函数(或者类)的话,会产生一个 PHP Fatal error:foo(&$var);实际上,这样用法在php5.3中就会有提 ...
- thinkphp5(tp5)中success跳转页面和弹窗问题解决
自己做了一个form页面,对其操作后,根据$this->success('提示信息',''),执行后是通过笑脸页面跳转,而不是在本页弹框后刷新.源码里带的原来的例子是弹出框刷新,为什么我自己做的 ...
- sharememory.c
//进程通信,共享存储区 #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #i ...
- OpenCV Shi-Tomasi角点检测子
Shi-Tomasi角点检测子 目标 在这个教程中我们将涉及: 使用函数 goodFeaturesToTrack 来调用Shi-Tomasi方法检测角点. 理论 代码 这个教程的代码如下所示.源代码还 ...
- 使用Spark读写CSV格式文件(转)
原文链接:使用Spark读写CSV格式文件 CSV格式的文件也称为逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号.在本文中的CSV格 ...
- go语言基础之普通参数列表
1.普通参数列表 (备注:只有一个参数) 示例1: package main //必须有一个main包 import "fmt" //有参无返回值函数的定义,普通参数列表 //定义 ...
- Tensorflow 之 name/variable_scope 变量管理
name/variable_scope 的作用 充分理解 name / variable_scope TensorFlow 入门笔记 当一个神经网络比较复杂.参数比较多时,就比较需要一个比较好的方式来 ...