博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用rman备份异机恢复数据库
阅读量:6443 次
发布时间:2019-06-23

本文共 2508 字,大约阅读时间需要 8 分钟。

一.RMAN备份源库

注意点:
 最好保留rman备份日志

$rman target / log=backup.logRMAN>run {allocate channel t1 type disk;allocate channel t2 type disk;allocate channel t3 type disk;allocate channel t4 type disk;backup format '
' filesperset 8 (database);sql 'alter system archive log current';backup format '
' fiesperset 8 (archivelog all);backup format '
' current controlfile;}

二.将备份文件传输到用于恢复的机器

注意点:
在10之前,必须将备份放到相同的路径和目录;10g之后,可以使用catalog命令进行注册。
除了备份文件,还要将参数文件传输过去(当然也可以自己重建)

2.1 创建或修改参数文件

 对于参数文件中使用的文件路径目录都要创建好
2.2 创建口令文件

C:\> orapwd file=pwdmdb.ora password=ys06 entries=2

2.3 创建oracle services(windows平台需要执行)

C:\> ORADIM -new -sid mdb -intpwd ys06 -maxusers 10 -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 '
' ; #如果有多份备份,将老的备份标记为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 1 to 'C:\ORACLE\ORADATA\SYSTEM01.DBF';   set newname for datafile 2 to 'C:\ORACLE\ORADATA\SYSAUX01.DB';   set newname for datafile 3 to 'C:\ORACLE\ORADATA\UNDOTBS01.DBF';   set newname for datafile 4 to 'C:\ORACLE\ORADATA\USERS01.DBF';   set until sequence 24;              restore database;   switch datafile all;   recover database;  }

sequence可以从rman备份日志中找到,或者查看v$backup_redolog

六.重命名redo文件

SQL> set lines 200     col member format a60     select a.thread#,a.group#,b.type,b.member,a.bytes/1048576      from v$log a,v$logfile b      where a.group#=b.group# order by a.group#;SQL> alter database rename file '
' to '
';

确认一下

SQL> select a.thread#,a.group#,b.type,b.member,a.bytes/1048576 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 immediateSQL> startup

 

数据异机还原后,和源库有相同的DBID和DB_NAME

转载地址:http://xypwo.baihongyu.com/

你可能感兴趣的文章
poj2955(区间dp)
查看>>
突然多了个机会…纠结了一个星期。
查看>>
SAP QUERY
查看>>
MIGO收货 BAPI :BAPI_GOODSMVT_CREATE BADI增强
查看>>
【windows中常用的服务概览和总结】
查看>>
3.插入排序--直接插入排序
查看>>
UVA1584 UVALive3225 Circular Sequence
查看>>
StringBuffer
查看>>
Per-Pixel Lighting
查看>>
外部中断
查看>>
html的dtd声明
查看>>
ivy resolve标签
查看>>
.NET Web后台动态加载Css、JS 文件,换肤方案
查看>>
使用开源软件vlc media player 录制桌面视频
查看>>
web前端(2)—— 前端技术介绍
查看>>
ife2018 零基础学院 day 3
查看>>
Kali Linux信息收集之nbtscan-unixwiz
查看>>
hdu 5476 (计算几何)
查看>>
51 nod 1610 路径计数(Moblus+dp)
查看>>
通用报文解析服务的演进之路(基于磁盘目录的分布式消息消费者服务)之三...
查看>>