oracle rman恢複到異地、異機,oraclerman

來源:互聯網
上載者:User

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下。
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.