源数据库:

OS: CentOS Linux release 7.7.1908 (Core)

DB版本:oracle 11.2.0.1.0

目标数据库:

OS:Oracle Linux R6

DB版本:oracle 11.2.0.1.0

两个数据库的实例名和数据库名、Oracle_Sid,但是数据文件路径不一致

1、备份源数据库

backup  database plus archivelog delete  input;

备份完成后的备份集如下:

o1_mf_annnn_TAG20200603T213139_hfh9kwh7_.bkp、

o1_mf_annnn_TAG20200603T213409_hfh9pkty_.bkp

控制文件(含参数文件):o1_mf_ncsnf_TAG20200603T213207_hfh9ph8o_.bkp

o1_mf_nnndf_TAG20200603T213207_hfh9lsys_.bkp

通过list backupset

MAN> list backupset;
11      200.00M    DISK        00:00:16     03-JUN-20      BP Key: 11   Status: AVAILABLE  Compressed: NO  Tag: TAG20200603T213139Piece Name: /opt/oracle/flash_recovery_area/ORCL/backupset/2020_06_03/o1_mf_annnn_TAG20200603T213139_hfh9kwh7_.bkpList of Archived Logs in backup set 11Thrd Seq     Low SCN    Low Time  Next SCN   Next Time---- ------- ---------- --------- ---------- ---------1    10      2398079    31-MAY-20 2430462    01-JUN-201    11      2430462    01-JUN-20 2465163    01-JUN-201    12      2465163    01-JUN-20 2498024    02-JUN-201    13      2498024    02-JUN-20 2532104    02-JUN-201    14      2532104    02-JUN-20 2566265    03-JUN-201    15      2566265    03-JUN-20 2593288    03-JUN-20
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
12      Full    1.09G      DISK        00:01:50     03-JUN-20      BP Key: 12   Status: AVAILABLE  Compressed: NO  Tag: TAG20200603T213207Piece Name: /opt/oracle/flash_recovery_area/ORCL/backupset/2020_06_03/o1_mf_nnndf_TAG20200603T213207_hfh9lsys_.bkpList of Datafiles in backup set 12File LV Type Ckp SCN    Ckp Time  Name---- -- ---- ---------- --------- ----1       Full 2593313    03-JUN-20 /opt/oracle/oradata/orcl/system01.dbf2       Full 2593313    03-JUN-20 /opt/oracle/oradata/orcl/sysaux01.dbf3       Full 2593313    03-JUN-20 /opt/oracle/oradata/orcl/undotbs01.dbf4       Full 2593313    03-JUN-20 /opt/oracle/oradata/orcl/users01.dbf5       Full 2593313    03-JUN-20 /opt/oracle/oradata/orcl/user_tbs.dbf6       Full 2593313    03-JUN-20 /opt/oracle/oradata/PROD/rcat_tb01.dbf7       Full 2593313    03-JUN-20 /opt/oracle/oradata/orcl/users_tbs.dbf8       Full 2593313    03-JUN-20 /opt/oracle/oradata/orcl/tmp.dbf9       Full 2593313    03-JUN-20 /opt/oracle/oradata/orcl/user02.dbf10      Full 2593313    03-JUN-20 /opt/oracle/oradata/orcl/undotbs02.dbf
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
13      Full    9.67M      DISK        00:00:04     03-JUN-20      BP Key: 13   Status: AVAILABLE  Compressed: NO  Tag: TAG20200603T213207Piece Name: /opt/oracle/flash_recovery_area/ORCL/backupset/2020_06_03/o1_mf_ncsnf_TAG20200603T213207_hfh9ph8o_.bkpSPFILE Included: Modification time: 31-MAY-20SPFILE db_unique_name: ORCLControl File Included: Ckp SCN: 2593418      Ckp time: 03-JUN-20
BS Key  Size       Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
14      114.50K    DISK        00:00:01     03-JUN-20      BP Key: 14   Status: AVAILABLE  Compressed: NO  Tag: TAG20200603T213409Piece Name: /opt/oracle/flash_recovery_area/ORCL/backupset/2020_06_03/o1_mf_annnn_TAG20200603T213409_hfh9pkty_.bkpList of Archived Logs in backup set 14Thrd Seq     Low SCN    Low Time  Next SCN   Next Time---- ------- ---------- --------- ---------- ---------1    16      2593288    03-JUN-20 2593424    03-JUN-20

查询得知

o1_mf_ncsnf_TAG20200603T213207_hfh9ph8o_.bkp 为控制文件,含参数文件以及备份的目录信息。

2 、同样备份目标数据库

backup  database plus archivelog delete  input;

3 、备份目标数据库的spfile和pfie

[oracle@localhost ~]$ cd /u01/app/oracle/product/11.2.0/db_home/dbs/
[oracle@localhost dbs]$ ls
hc_DBUA0.dat  hc_orcl.dat  init.ora  initorcl.ora  lkORCL  orapworcl  snapcf_orcl.f  spfileorcl.ora
[oracle@localhost dbs]$ mv spfileorcl.ora spfileorcl.ora.bk
[oracle@localhost dbs]$ mv initorcl.ora initorcl.ora.bk

 4、将备份文件拷贝到目标数据库中去

使用SFTP客户端 Win SCP下载远程服务器文件,并拷贝至目标服务中,数据文件有点大,大约1个G,有点慢,耐心点!

[oracle@localhost backup]$ ls -lh
总用量 1.3G
-rw-rw-r-- 1 oracle oracle 201M 6月   3 21:31 o1_mf_annnn_TAG20200603T213139_hfh9kwh7_.bkp
-rw-rw-r-- 1 oracle oracle 115K 6月   3 21:34 o1_mf_annnn_TAG20200603T213409_hfh9pkty_.bkp
-rw-rw-r-- 1 oracle oracle 9.7M 6月   3 21:34 o1_mf_ncsnf_TAG20200603T213207_hfh9ph8o_.bkp
-rw-rw-r-- 1 oracle oracle 1.1G 6月   3 21:33 o1_mf_nnndf_TAG20200603T213207_hfh9lsys_.bkp

5、RMAN打开源数据库

[oracle@bogon 2020_06_03]$ rman target /
Recovery Manager: Release 11.2.0.1.0 - Production on Wed Jun 3 22:02:34 2020
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
connected to target database: ORCL (DBID=1567294299)

得知源数据库的DBID=1567294299,用于在目标数据库要切换到这个DBID。

6、RMAN打开目标数据库

开启到nomount

并设置DBID=1567294299

RMAN> startup nomount;startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/db_home/dbs/initorcl.ora'
starting Oracle instance without parameter file for retrieval of spfile
Oracle instance started
Total System Global Area     158662656 bytes
Fixed Size                     2211448 bytes
Variable Size                 88080776 bytes
Database Buffers              62914560 bytes
Redo Buffers                   5455872 bytes
RMAN> set dbid=1567294299;
executing command: SET DBID
RMAN>

7,恢复参数文件pfile

RAN> restore spfile to pfile '/u01/app/oracle/product/11.2.0/db_home/dbs/initorcl.ora' from '/home/oracle/app/backup/o1_mf_ncsnf_TAG20200603T213207_hfh9ph8o_.bkp';
Starting restore at 03-JUN-20
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
channel ORA_DISK_1: restoring spfile from AUTOBACKUP /home/oracle/app/backup/o1_mf_ncsnf_TAG20200603T213207_hfh9ph8o_.bkp
channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete
Finished restore at 03-JUN-20

8,修改参数文件

可以使用2种方法:a,修改pfile文件来匹配本地系统,b,修改本地系统来匹配参数文件里的配置。这里选择第一种,修改参数文件来匹配本地系统。

可以参考目标数据库参数文件

修改以下参数:

oracle_base   audit_file_dest   control_files    db_recovery_file_dest    diagnostic_dest

orcl.__db_cache_size=419430400
orcl.__java_pool_size=12582912
orcl.__large_pool_size=4194304
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=226492416
orcl.__sga_target=717225984
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=243269632
orcl.__streams_pool_size=4194304
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/flash_recovery_area/orcl/control02.ctl'#Restore Controlfile
*.cursor_sharing='FORCE'
*.db_block_size=8192
*.db_domain=''
*.db_keep_cache_size=16777216
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=4070572032
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.java_pool_size=12582912
*.log_buffer=10485760
*.memory_target=943718400
*.open_cursors=300
*.pre_page_sga=TRUE
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_max_size=629145600
*.sga_target=524288000
*.shared_pool_size=209715200
*.undo_tablespace='UNDOTBS1'

9,指定从pfile启动数据库到nomount,进行控制文件的恢复

RMAN>  startup nomount pfile='/u01/app/oracle/product/11.2.0/db_home/dbs/initorcl.ora';
Oracle instance started
Total System Global Area     714088448 bytes
Fixed Size                     2216624 bytes
Variable Size                264244560 bytes
Database Buffers             436207616 bytes
Redo Buffers                  11419648 bytes
从pfile中恢复spfile
SQL> create spfile from pfile;
File created.RMAN> restore controlfile from '/home/oracle/app/backup/o1_mf_ncsnf_TAG20200603T213207_hfh9ph8o_.bkp';
Starting restore at 04-JUN-20
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/u01/app/oracle/oradata/orcl/control01.ctl
output file name=/u01/app/oracle/flash_recovery_area/orcl/control02.ctl
Finished restore at 04-JUN-20

在数据文件路径里检查下是否完成恢复

[oracle@localhost orcl]$ ls
control02.ctl
[oracle@localhost orcl]$ pwd
/u01/app/oracle/flash_recovery_area/orcl
[oracle@localhost orcl]$ ls
control01.ctl
[oracle@localhost orcl]$ pwd
/u01/app/oracle/oradata/orcl

10、控制文件恢复了,就可以启动到mount状态

RMAN> alter database mount;
using target database control file instead of recovery catalog
database mounted

11,控制文件完成恢复后,那么RMAN配置也已完成,验证下以确保适合本地系统

RMAN> show all;RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/db_home/dbs/snapcf_orcl.f'; # default

12、现目标数据库RMAN备份数据目录存放的是源数据库备份目录的,为了恢复时候能找到恢复目录有2种方法,a 按照现备份恢复目录,新建一个文件夹 b,使用指令,改变RMAN配置目录,这里选择第二种。

RMAN> catalog start with '/home/oracle/app/backup';
Starting implicit crosscheck backup at 04-JUN-20
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1 device type=DISK
Crosschecked 12 objects
Finished implicit crosscheck backup at 04-JUN-20
Starting implicit crosscheck copy at 04-JUN-20
using channel ORA_DISK_1
Finished implicit crosscheck copy at 04-JUN-20searching for all files in the recovery area
cataloging files...
no files catalogedsearching for all files that match the pattern /home/oracle/app/backupList of Files Unknown to the Database
=====================================
File Name: /home/oracle/app/backup/o1_mf_annnn_TAG20200603T213139_hfh9kwh7_.bkp
File Name: /home/oracle/app/backup/o1_mf_ncsnf_TAG20200603T213207_hfh9ph8o_.bkp
File Name: /home/oracle/app/backup/o1_mf_nnndf_TAG20200603T213207_hfh9lsys_.bkp
File Name: /home/oracle/app/backup/o1_mf_annnn_TAG20200603T213409_hfh9pkty_.bkpDo you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging doneList of Cataloged Files
=======================
File Name: /home/oracle/app/backup/o1_mf_annnn_TAG20200603T213139_hfh9kwh7_.bkp
File Name: /home/oracle/app/backup/o1_mf_ncsnf_TAG20200603T213207_hfh9ph8o_.bkp
File Name: /home/oracle/app/backup/o1_mf_nnndf_TAG20200603T213207_hfh9lsys_.bkp
File Name: /home/oracle/app/backup/o1_mf_annnn_TAG20200603T213409_hfh9pkty_.bkp
RMAN>

13、对备份集做交叉检查,以免在恢复的时候出错

RMAN> crosscheck backup;using channel ORA_DISK_1
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2020_05_26/o1_mf_annnn_TAG20200526T200215_hdt1b99j_.bkp RECID=1 STAMP=1041451337
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2020_05_26/o1_mf_annnn_TAG20200526T200215_hdt1bkwk_.bkp RECID=2 STAMP=1041451345
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2020_05_26/o1_mf_nnndf_TAG20200526T200519_hdt1j3wv_.bkp RECID=3 STAMP=1041451523
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2020_05_31/o1_mf_annnn_TAG20200531T114343_hf69zjty_.bkp RECID=4 STAMP=1041853424
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2020_05_31/o1_mf_annnn_TAG20200531T114343_hf69zs2x_.bkp RECID=5 STAMP=1041853432
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2020_05_31/o1_mf_annnn_TAG20200531T114343_hf69zv6z_.bkp RECID=6 STAMP=1041853435
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2020_05_31/o1_mf_annnn_TAG20200531T114343_hf6b020f_.bkp RECID=7 STAMP=1041853441
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2020_05_31/o1_mf_nnndf_TAG20200531T114450_hf6b1n79_.bkp RECID=8 STAMP=1041853492
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2020_05_31/o1_mf_ncsnf_TAG20200531T114450_hf6b65dz_.bkp RECID=9 STAMP=1041853637
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2020_05_31/o1_mf_annnn_TAG20200531T114719_hf6b68ov_.bkp RECID=10 STAMP=1041853640
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2020_06_03/o1_mf_annnn_TAG20200603T213139_hfh9kwh7_.bkp RECID=11 STAMP=1042147900
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/oracle/app/backup/o1_mf_annnn_TAG20200603T213139_hfh9kwh7_.bkp RECID=13 STAMP=1042233326
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2020_06_03/o1_mf_nnndf_TAG20200603T213207_hfh9lsys_.bkp RECID=12 STAMP=1042147929
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/oracle/app/backup/o1_mf_nnndf_TAG20200603T213207_hfh9lsys_.bkp RECID=15 STAMP=1042233326
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/oracle/app/backup/o1_mf_ncsnf_TAG20200603T213207_hfh9ph8o_.bkp RECID=14 STAMP=1042233326
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/oracle/app/backup/o1_mf_annnn_TAG20200603T213409_hfh9pkty_.bkp RECID=16 STAMP=1042233326
Crosschecked 16 objects

14,通过控制文件查看表空间和数据文件

RMAN> report schema;RMAN-06139: WARNING: control file is not current for REPORT SCHEMA
Report of database schema for database with db_unique_name ORCLList of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    0        SYSTEM               ***     /opt/oracle/oradata/orcl/system01.dbf
2    0        SYSAUX               ***     /opt/oracle/oradata/orcl/sysaux01.dbf
3    0        UNDOTBS1             ***     /opt/oracle/oradata/orcl/undotbs01.dbf
4    0        USERS                ***     /opt/oracle/oradata/orcl/users01.dbf
5    0        USER_TBS             ***     /opt/oracle/oradata/orcl/user_tbs.dbf
6    0        RCAT                 ***     /opt/oracle/oradata/PROD/rcat_tb01.dbf
7    0        USERS_TBS            ***     /opt/oracle/oradata/orcl/users_tbs.dbf
8    0        TMP                  ***     /opt/oracle/oradata/orcl/tmp.dbf
9    0        USER02               ***     /opt/oracle/oradata/orcl/user02.dbf
10   0        UNDOTBS2             ***     /opt/oracle/oradata/orcl/undotbs02.dbfRMAN>

注意:Restore的时候,不会对临时表空间恢复的,所以restore之后要手工创建临时表空间,默认表空间不受影响。

15、由12可知,由于RMAN存储各个表空间的数据路径还是源数据库的路径,这里要修改数据文件路径才可以进行恢复,如果与源数据库的数据文件路径一致,则直接恢复。

[oracle@localhost app]$ vi setnewname.sql
run {
set newname for datafile 1 to '/u01/app/oracle/oradata/orcl/system01.dbf';
set newname for datafile 2 to '/u01/app/oracle/oradata/orcl/sysaux01.dbf';
set newname for datafile 3 to '/u01/app/oracle/oradata/orcl/undotbs01.dbf';
set newname for datafile 4 to '/u01/app/oracle/oradata/orcl/users01.dbf';
set newname for datafile 5 to '/u01/app/oracle/oradata/orcl/user_tbs.dbf';
set newname for datafile 6 to '/u01/app/oracle/oradata/orcl/rcat_tb01.dbf';
set newname for datafile 7 to '/u01/app/oracle/oradata/orcl/users_tbs.dbf';
set newname for datafile 8 to '/u01/app/oracle/oradata/orcl/tmp.dbf';
set newname for datafile 9 to '/u01/app/oracle/oradata/orcl/user02.dbf';
set newname for datafile 10 to '/u01/app/oracle/oradata/orcl/undotbs02.dbf';
restore database;
switch datafile all;
}
[oracle@localhost app]$ pwd
/home/oracle/app
[oracle@localhost app]$ ls
backup  database  linux.x64_11gR2_database_1of2.zip  linux.x64_11gR2_database_2of2.zip  setnewname.sql
[oracle@localhost app]$
RMAN> @/home/oracle/app/setnewname.sqlRMAN> run {
2> set newname for datafile 1 to '/u01/app/oracle/oradata/orcl/system01.dbf';
3> set newname for datafile 2 to '/u01/app/oracle/oradata/orcl/sysaux01.dbf';
4> set newname for datafile 3 to '/u01/app/oracle/oradata/orcl/undotbs01.dbf';
5> set newname for datafile 4 to '/u01/app/oracle/oradata/orcl/users01.dbf';
6> set newname for datafile 5 to '/u01/app/oracle/oradata/orcl/user_tbs.dbf';
7> set newname for datafile 6 to '/u01/app/oracle/oradata/orcl/rcat_tb01.dbf';
8> set newname for datafile 7 to '/u01/app/oracle/oradata/orcl/users_tbs.dbf';
9> set newname for datafile 8 to '/u01/app/oracle/oradata/orcl/tmp.dbf';
10> set newname for datafile 9 to '/u01/app/oracle/oradata/orcl/user02.dbf';
11> set newname for datafile 10 to '/u01/app/oracle/oradata/orcl/undotbs02.dbf';
12> restore database;
13> switch datafile all;
14> }
executing command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEStarting restore at 04-JUN-20
using channel ORA_DISK_1channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/orcl/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/orcl/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/orcl/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/orcl/user_tbs.dbf
channel ORA_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/orcl/rcat_tb01.dbf
channel ORA_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/orcl/users_tbs.dbf
channel ORA_DISK_1: restoring datafile 00008 to /u01/app/oracle/oradata/orcl/tmp.dbf
channel ORA_DISK_1: restoring datafile 00009 to /u01/app/oracle/oradata/orcl/user02.dbf
channel ORA_DISK_1: restoring datafile 00010 to /u01/app/oracle/oradata/orcl/undotbs02.dbf
channel ORA_DISK_1: reading from backup piece /home/oracle/app/backup/o1_mf_nnndf_TAG20200603T213207_hfh9lsys_.bkp
channel ORA_DISK_1: piece handle=/home/oracle/app/backup/o1_mf_nnndf_TAG20200603T213207_hfh9lsys_.bkp tag=TAG20200603T213207
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:07
Finished restore at 04-JUN-20datafile 1 switched to datafile copy
input datafile copy RECID=11 STAMP=1042235482 file name=/u01/app/oracle/oradata/orcl/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=12 STAMP=1042235482 file name=/u01/app/oracle/oradata/orcl/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=13 STAMP=1042235482 file name=/u01/app/oracle/oradata/orcl/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=14 STAMP=1042235482 file name=/u01/app/oracle/oradata/orcl/users01.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=15 STAMP=1042235482 file name=/u01/app/oracle/oradata/orcl/user_tbs.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=16 STAMP=1042235482 file name=/u01/app/oracle/oradata/orcl/rcat_tb01.dbf
datafile 7 switched to datafile copy
input datafile copy RECID=17 STAMP=1042235482 file name=/u01/app/oracle/oradata/orcl/users_tbs.dbf
datafile 8 switched to datafile copy
input datafile copy RECID=18 STAMP=1042235482 file name=/u01/app/oracle/oradata/orcl/tmp.dbf
datafile 9 switched to datafile copy
input datafile copy RECID=19 STAMP=1042235482 file name=/u01/app/oracle/oradata/orcl/user02.dbf
datafile 10 switched to datafile copy
input datafile copy RECID=20 STAMP=1042235482 file name=/u01/app/oracle/oradata/orcl/undotbs02.dbfRMAN> **end-of-file**

对switch datafile all 命令的说明

对于RMAN在nocatalog模式下,RMAN的信息是保存在控制文件里的,包括数据文件信息,路径信息等,这里switch datafile all 的作用,就是更新控制文件的信息,如果不更新的话,recover的时候还原来的位置找文件

16,数据文件还原后,查看下文件还原情况

[oracle@localhost app]$ cd /u01/app/oracle/oradata/orcl/
[oracle@localhost orcl]$ ls
control01.ctl  rcat_tb01.dbf  sysaux01.dbf  system01.dbf  tmp.dbf  undotbs01.dbf  undotbs02.dbf  user02.dbf  users01.dbf  users_tbs.dbf  user_tbs.dbf
[oracle@localhost orcl]$
RMAN> recover database;Starting recover at 04-JUN-20
using channel ORA_DISK_1starting media recoverychannel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=16
channel ORA_DISK_1: reading from backup piece /home/oracle/app/backup/o1_mf_annnn_TAG20200603T213409_hfh9pkty_.bkp
channel ORA_DISK_1: piece handle=/home/oracle/app/backup/o1_mf_annnn_TAG20200603T213409_hfh9pkty_.bkp tag=TAG20200603T213409
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
archived log file name=/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2020_06_04/o1_mf_1_16_hfkzlq91_.arc thread=1 sequence=16
channel default: deleting archived log(s)
archived log file name=/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2020_06_04/o1_mf_1_16_hfkzlq91_.arc RECID=77 STAMP=1042235991
unable to find archived log
archived log thread=1 sequence=17
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 06/04/2020 21:59:52
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 17 and starting SCN of 2593424
这里恢复到一个未知的SCN号,我们在备份的时候,只有16号归档,17号还属于在线状态,所以没有copy过来,如果我们没设置recover结束时间,则会报错,通过set until scn 或set until time恢复到scn号或时间,就可以避免这个错误
RMAN> run {set until sequence 17;
2>  recover database;
3> }executing command: SET until clause
Starting recover at 04-JUN-20
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 04-JUN-20

17、完成recover之后,还有个重要的工作就是恢复redo log,如果源数据库的路径与目标路径一致的话,在open resetlog时,会重新创建online redo log,否则就会报错,显然我的数据文件路径两者不一致。​​​​​​​

RMAN> alter database open resetlogs;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 06/04/2020 22:18:11
ORA-00344: unable to re-create online log '/opt/oracle/oradata/orcl/redo01.log'
ORA-27040: file create error, unable to create file
Linux-x86_64 Error: 2: No such file or directory
不一致的话,那就更改保持一致,通过编写脚本运行,指定redo log file的新路径
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/opt/oracle/oradata/orcl/redo03.log
/opt/oracle/oradata/orcl/redo02.log
/opt/oracle/oradata/orcl/redo01.log
[oracle@localhost app]$ vi renamelogfile
run {
alter database rename file '/opt/oracle/oradata/orcl/redo03.log' to '/u01/app/oracle/oradata/orcl/redo03.log';
alter database rename file '/opt/oracle/oradata/orcl/redo02.log' to '/u01/app/oracle/oradata/orcl/redo02.log';
alter database rename file '/opt/oracle/oradata/orcl/redo01.log' to '/u01/app/oracle/oradata/orcl/redo01.log';
}
SQL> @/home/oracle/app/renamelogfile.sql
Database altered.
Database altered.
Database altered.
这时候以resetlogs 打开数据库
SQL> alter database open resetlogs;
Database altered.
SQL>

成功打开数据库,成功完成恢复

参考:https://www.cnblogs.com/hftian/p/8169045.html?from=singlemessage&isappinstalled=0

Linux Oracle 11g R2将实例恢复到其他主机的实例上相关推荐

  1. Oracle Linux 6 3下安装Oracle 11g R2 11 2 0 3

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow 本文主要描述了在O ...

  2. oracle 11g r2 rac到单实例的dg

    oracle 11g r2 rac到单实例的dg 1 主备环境说明 rac环境--primary CentOS release 6.5 (Final) hostname rac1 rac2 ip 10 ...

  3. Linux 6.x 下Oracle 11g R2 安装配置

    Oracle 11g R2 数据库安装硬件配置要求: 最小内存 1 GB of RAM 虚拟内存容量,这个oracle也有要求,不用担心此时的swap分区不够oracle的要求 .虚拟内存swap如何 ...

  4. rad linux下安装mysql_Rad Hat Enterprise Linux 5.5上安装Oracle 11g R2

    学习的进度有点慢,终于在虚拟机上Red Hat Enterprise Linux 5.5系统下安装Oracle 11g R2版本数据库成功了,在这里把安装的经验和大家分享一下!当然,水平有限,请各路大 ...

  5. oracle读书笔记之Oracle 11g R2 DBA操作指南(前三章)

    Oracle 11g R2 DBA操作指南是我学习的第一本讲述oracle数据库知识的书籍,在此记录下自己的学习笔记,对于书中的知识点本人通过实际操作进行验证. 1.Oracle数据库基础 1.1.关 ...

  6. CentOS 安装Oracle 11g R2

    最近配置项目的测试系统需要安装oracle,网上找了几个比较好的教程分享一下 参考地址:http://www.osyunwei.com/archives/5445.html Oracle数据库版本:l ...

  7. RedHat 6.7 Enterprise x64环境下使用RHCS部署Oracle 11g R2双机HA

    环境 软硬件环境 硬件环境: 浪潮英信服务器NF570M3两台,华为OceanStor 18500存储一台,以太网交换机两台,光纤交换机两台. 软件环境: 操作系统:Redhat Enterprise ...

  8. centos5.5上安装oracle 11g R2[转发-参考用]

    centos5.5上安装oracle 11g R2[转发-参考用] + ------------------ CentOS 5.5上安装配置oracle 11g R2  --------------- ...

  9. Oracle 11g R2 RAC 高可用连接特性

    转自-阿里巴巴许春值 1.scan概念 什么叫 SCAN,SCAN (Single Client Access Name) 是 Oracle 从11g R2 开始推出的,客户端可以通过 SCAN 特性 ...

最新文章

  1. OneHotEncoder独热编码和 LabelEncoder标签编码——机器学习
  2. jquery --- 监听tab栏的变化
  3. redis 缓存过期默认时间_redis缓存过期机制
  4. 【数据结构与算法】二项队列的Java实现
  5. Ubuntu下安装中文输入法
  6. Python实战从入门到精通第十五讲——定义匿名或内联函数
  7. 学会python能做什么-学会python可以做什么
  8. 函数指针还是c++虚函数_C和C++哪个效率更高?
  9. DoS和DDoS攻击
  10. 常用浏览器内核!IE,Chrome ,Firefox,Safari,Opera 等内核
  11. 软件语音验证码webservice_明明发送了却迟迟收不到短信验证码?
  12. 关于算法学习的总结和感悟
  13. vmware时间不同步的问题
  14. 数据库数据采集利器FlinkCDC
  15. window.event.keyCode - 兼容chrom和Firefox
  16. 【Python专题】pandas.melt函数
  17. [学位论文写作] 将一级标题数字1改为“第一章”
  18. JUC学习(一):synchronized的介绍及使用(实现多线程卖票)
  19. coms_ov7740驱动
  20. camunda入门教程及实现原理

热门文章

  1. 微软云平台媒体服务实践系列 2- 使用动态封装为iOS, Android , Windows 等多平台提供视频点播(VoD)方案...
  2. 了解这个世界:国际互联网全球流量图
  3. 猜想豌豆夹,360手机助手,腾讯手机管家,小米盒子传屏等工具开发思路
  4. Hive更改字段类型的正确姿势
  5. angular 行内引入背景图片
  6. 作品1:MIDI彩虹钢琴(修改midi文件的音色)
  7. [转载红鱼儿]Delphi XE7 update1进步太大了
  8. Python笔记:使用代理方式抓取App的数据操作案例
  9. 使用power query解决数据分列困扰
  10. python语音识别_Python中的语音识别-完整的入门指南