欢迎投稿

今日深度:

oracle rman恢复到异地、异机,oraclerman

oracle rman恢复到异地、异机,oraclerman


原来的数据库服务器使用rman进行全库的备份,然后再异地的服务器上恢复一模一样的数据库

1.1      原服务器备份数据库

第一步,查看数据库的实例名和DBID

connected to target database: DB3 (DBID=2060124769, not open)

第二步,进行全备份

backup AS COMPRESSED BACKUPSET database

include current controlfile format '/orabak/db_%d_%T_%s'

plus archivelog format '/orabak/arch_%d_%T_%s' ;

第三步,查看数据库文件的位置: /home/oracle/oradata/db3/

第四步,将备份文件arch_DB3_20140910_8 db_ DB3_20140910_7复制异机上/home/oracle/orabak

1.2      目标服务器上创建数据库

第一步,创建实例名相同(db3,数据库文件的位置相同(/home/oracle/oradata/db3/)的数据库。

 第二步,关闭实例,启动到nomount状态。Sql>startup nomount;

 第三步,设置dbid和原数据库dbid相同

rman target/

Recovery Manager: Release 10.2.0.5.0 - Production on Thu Sep 11 19:53:50 2014

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

connected to target database: db3 (not mounted)

RMAN> set dbid 2060124769

executing command: SET DBID

 第四步,恢复控制文件

RMAN> restore controlfile from '/home/oracle/db_DB3_20140910_7';

Starting restore at 11-SEP-14

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=153 devtype=DISK

channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:05

output filename=/home/oracle/oradata/db3/db3/control01.ctl

output filename=/home/oracle/oradata/db3/db3/control02.ctl

output filename=/home/oracle/oradata/db3/db3/control03.ctl

Finished restore at 11-SEP-14

 

第五步,mount数据库

RMAN> alter database mount;

database mounted

released channel: ORA_DISK_1

 

第六步,注册从源数据库拷贝过来的备份集到rman

RMAN> catalog start with '/home/oracle/orabak';

searching for all files that match the pattern /home/oracle/orabak

List of Files Unknown to the Database

=====================================

File Name: /home/oracle/orabak/arch_DB3_20140910_8

File Name: /home/oracle/orabak/db_DB3_20140910_7

Do you really want to catalog the above files (enter YES or NO)? yes

cataloging files...

cataloging done

 

第七步,恢复归档日志

RMAN> restore archivelog all;

Starting restore at 11-SEP-14

using channel ORA_DISK_1

archive log thread 1 sequence 6 is already on disk as file /oracle/product/10.2.0.5/dbs/arch1_6_857918757.dbf

channel ORA_DISK_1: starting archive log restore to default destination

channel ORA_DISK_1: restoring archive log

archive log thread=1 sequence=3

channel ORA_DISK_1: reading from backup piece /home/oracle/orabak/arch_DB3_20140910_1

channel ORA_DISK_1: restored backup piece 1

piece handle=/home/oracle/orabak/arch_DB3_20140910_1 tag=TAG20140910T172944

注:如果不恢复归档日志,

RMAN> recover database;

Starting recover at 11-SEP-14

using channel ORA_DISK_1

starting media recovery

unable to find archive log

archive log thread=1 sequence=7

 

第八步,恢复数据库文件(因为目标数据库和原数据库的数据文件位置相同,所以简单些

RMAN> restore database;

Starting restore at 11-SEP-14

using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile backupset restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

restoring datafile 00001 to /home/oracle/oradata/db3/system01.dbf

restoring datafile 00002 to /home/oracle/oradata/db3/undotbs01.dbf

restoring datafile 00003 to /home/oracle/oradata/db3/sysaux01.dbf

restoring datafile 00004 to /home/oracle/oradata/db3/users01.dbf

channel ORA_DISK_1: reading from backup piece /home/oracle/orabak/db_DB3_20140910_6

channel ORA_DISK_1: restored backup piece 1

piece handle=/home/oracle/orabak/db_DB3_20140910_6 tag=TAG20140910T173540

 

第九步,恢复数据库

RMAN> recover database;

Starting recover at 11-SEP-14

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=152 devtype=DISK

starting media recovery

media recovery complete, elapsed time: 00:00:03

Finished recover at 11-SEP-14

 

第十步,启动数据库

alter database open resetlogs;


oracle rman备份恢复问题谁教教我rman恢复知识分数可以大大的有

用360急救箱~系统文件修复~手工~输入你要修复的文件即可,不行进行下步操作:

备份:(cmd下执行)
exp fdais/fdais file=bakdb20100902.dmp directory=D:\baksql
用户名 密码 备份后生成的文件名 保存的路径
然后在另外的机器上建立跟之前一样的表空间、用户名和密码
(可以用命令CREATE DATABASE重新生成数据库结构)
恢复:(在cmd下执行以下命令即可将备份好的数据库重新导入)
imp fdais/fdais file=bakdb20100902.dmp directory=D:\baksql log=bakdb20100902.log
用户名 密码 备份后生成的文件名 保存的路径 备份后自动生成的日志
注意,确保D:\baksql目录下有这两个文件bakdb20100902.dmp、bakdb20100902.log
另外,可以用语句select * from user_all_tables查询表空间。
以上备份和恢复的过程不需要停止数据库。
 

是否可以用aix 下oracle的rman备份集去异机恢复linux下的oracle

我很负责的告诉你,AIX下的rman备份不能恢复到linux下。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/3185.html NewsArticle oracle rman恢复到异地、异机,oraclerman 原来的数据库服务器使用 rman 进行全库的备份,然后再异地的服务器上恢复一模一样的数据库 1.1 原服务器备份数据库 第一步,查看数据库的实例名...
评论暂时关闭