程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oraclerman恢復到異地、異機

oraclerman恢復到異地、異機

編輯:Oracle教程

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;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved