【RMAN】RMAN跨版本恢复(中)

【RMAN】RMAN跨版本恢复(中)--大版本异机恢复

BLOG文档结构图

 

 

 

 

 

 

 

 

ORACLE_SID=jiagulun

原机:  OS:Linux x86 64-bit  IP:192.168.59.156  oracle:10.2.0.1.0 归档模式

异机:  OS:Linux x86 64-bit  IP:192.168.59.10   oracle:11.2.0.3.0  归档模式

目的:利用原机的rman备份集将原库恢复到异机。

 

 

注意: 不能成功upgrade,请看本文的最后的小结部分

 

 

关于10g的跨小版本恢复参考:http://blog.chinaunix.net/uid-26736162-id-4942816.html

关于11g的跨小版本恢复参考:http://blog.itpub.net/26736162/viewspace-1561185/

关于在不同版本和平台之间进行还原或复制的常见问题 :http://blog.itpub.net/26736162/viewspace-1549041/

 

 

 

一、 全备份原数据库并拷贝到异机
备份脚本如下:

[oracle@redhat4 ~]$ mkdir -p /home/oracle/oracle_bk/orcl/

 

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

backup database filesperset 4 format  '/home/oracle/oracle_bk/orcl/full_%n_%T_%t_%s_%p.bak';

backup spfile format='/home/oracle/oracle_bk/orcl/spfile_%n_%U_%T.bak';

sql 'alter system archive log current';

backup archivelog all format '/home/oracle/oracle_bk/orcl/arch_%d_%T_%s_%p.bak' delete input;

backup current controlfile format '/home/oracle/oracle_bk/orcl/ctl_%d_%T_%s_%p.bak';

release channel c1;

release channel c2;

}

 

 

 

 

[oracle@redhat4 ~]$  sqlplus / as sysdba

 

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 4月 9 16:27:13 2015

 

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

 

 

连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

 

 

SQL> create pfile from spfile;

 

File created.

 

 

[oracle@redhat4 ~]$ rman target /

 

恢复管理器: Release 10.2.0.1.0 - Production on 星期四 4月 9 16:22:07 2015

 

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

 

连接到目标数据库: JIAGULUN (DBID=2694191837)

 

RMAN> list backupset;

 

使用目标数据库控制文件替代恢复目录

 

RMAN> run{

2>  allocate channel c1 type disk;

3>  allocate channel c2 type disk;

4>  backup database filesperset 4 format  '/home/oracle/oracle_bk/orcl/full_%n_%T_%t_%s_%p.bak';

5>  backup spfile format='/home/oracle/oracle_bk/orcl/spfile_%n_%U_%T.bak';

6>  sql 'alter system archive log current';

7>  backup archivelog all format '/home/oracle/oracle_bk/orcl/arch_%d_%T_%s_%p.bak' delete input;

8>  backup current controlfile format '/home/oracle/oracle_bk/orcl/ctl_%d_%T_%s_%p.bak';

9> release channel c1;

10> release channel c2;

11> }

 

分配的通道: c1

通道 c1: sid=140 devtype=DISK

 

分配的通道: c2

通道 c2: sid=144 devtype=DISK

 

启动 backup 于 09-4月 -15

通道 c1: 启动全部数据文件备份集

通道 c1: 正在指定备份集中的数据文件

输入数据文件 fno=00001 name=/u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_system_7p5b14xs_.dbf

输入数据文件 fno=00004 name=/u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_users_7p5b157q_.dbf

通道 c1: 正在启动段 1 于 09-4月 -15

通道 c2: 启动全部数据文件备份集

通道 c2: 正在指定备份集中的数据文件

输入数据文件 fno=00003 name=/u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_sysaux_7p5b14yl_.dbf

输入数据文件 fno=00005 name=/u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_example_7p5b3r36_.dbf

输入数据文件 fno=00002 name=/u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_undotbs1_7p5b155m_.dbf

通道 c2: 正在启动段 1 于 09-4月 -15

通道 c1: 已完成段 1 于 09-4月 -15

段句柄=/home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876586944_14_1.bak 标记=TAG20150409T162224 注释=NONE

通道 c1: 备份集已完成, 经过时间:00:01:35

通道 c1: 启动全部数据文件备份集

通道 c1: 正在指定备份集中的数据文件

备份集中包括当前控制文件

通道 c1: 正在启动段 1 于 09-4月 -15

通道 c2: 已完成段 1 于 09-4月 -15

段句柄=/home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876586944_15_1.bak 标记=TAG20150409T162224 注释=NONE

通道 c2: 备份集已完成, 经过时间:00:01:36

通道 c2: 启动全部数据文件备份集

通道 c2: 正在指定备份集中的数据文件

通道 c1: 已完成段 1 于 09-4月 -15

段句柄=/home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876587040_16_1.bak 标记=TAG20150409T162224 注释=NONE

通道 c1: 备份集已完成, 经过时间:00:00:02

在备份集中包含当前的 SPFILE

通道 c2: 正在启动段 1 于 09-4月 -15

通道 c2: 已完成段 1 于 09-4月 -15

段句柄=/home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876587041_17_1.bak 标记=TAG20150409T162224 注释=NONE

通道 c2: 备份集已完成, 经过时间:00:00:02

完成 backup 于 09-4月 -15

 

启动 backup 于 09-4月 -15

通道 c1: 启动全部数据文件备份集

通道 c1: 正在指定备份集中的数据文件

在备份集中包含当前的 SPFILE

通道 c1: 正在启动段 1 于 09-4月 -15

通道 c1: 已完成段 1 于 09-4月 -15

段句柄=/home/oracle/oracle_bk/orcl/spfile_JIAGULUN_0iq3va14_1_1_20150409.bak 标记=TAG20150409T162404 注释=NONE

通道 c1: 备份集已完成, 经过时间:00:00:02

完成 backup 于 09-4月 -15

 

sql 语句: alter system archive log current

 

启动 backup 于 09-4月 -15

当前日志已存档

通道 c1: 正在启动存档日志备份集

通道 c1: 正在指定备份集中的存档日志

输入存档日志线程 =1 序列 =12 记录 ID=5 时间戳=876587046

通道 c1: 正在启动段 1 于 09-4月 -15

通道 c2: 正在启动存档日志备份集

通道 c2: 正在指定备份集中的存档日志

输入存档日志线程 =1 序列 =13 记录 ID=6 时间戳=876587046

通道 c2: 正在启动段 1 于 09-4月 -15

通道 c1: 已完成段 1 于 09-4月 -15

段句柄=/home/oracle/oracle_bk/orcl/arch_JIAGULUN_20150409_19_1.bak 标记=TAG20150409T162406 注释=NONE

通道 c1: 备份集已完成, 经过时间:00:00:01

通道 c1: 正在删除存档日志

存档日志文件名 =/u01/app/oracle/flash_recovery_area/JIAGULUN/archivelog/2015_04_09/o1_mf_1_12_bldfs6o6_.arc 记录 ID=5 时间戳 =876587046

通道 c2: 已完成段 1 于 09-4月 -15

段句柄=/home/oracle/oracle_bk/orcl/arch_JIAGULUN_20150409_20_1.bak 标记=TAG20150409T162406 注释=NONE

通道 c2: 备份集已完成, 经过时间:00:00:02

通道 c2: 正在删除存档日志

存档日志文件名 =/u01/app/oracle/flash_recovery_area/JIAGULUN/archivelog/2015_04_09/o1_mf_1_13_bldfs6sp_.arc 记录 ID=6 时间戳 =876587046

完成 backup 于 09-4月 -15

 

启动 backup 于 09-4月 -15

通道 c1: 启动全部数据文件备份集

通道 c1: 正在指定备份集中的数据文件

备份集中包括当前控制文件

通道 c1: 正在启动段 1 于 09-4月 -15

通道 c1: 已完成段 1 于 09-4月 -15

段句柄=/home/oracle/oracle_bk/orcl/ctl_JIAGULUN_20150409_21_1.bak 标记=TAG20150409T162410 注释=NONE

通道 c1: 备份集已完成, 经过时间:00:00:01

完成 backup 于 09-4月 -15

 

释放的通道: c1

 

释放的通道: c2

 

RMAN>

 

 

 

 

 

[root@redhat4 ~]# cd /home/oracle/oracle_bk/orcl/

[root@redhat4 orcl]# ll

总用量 653796

-rw-r-----  1 oracle oinstall    103936  4月  9 16:24 arch_JIAGULUN_20150409_19_1.bak

-rw-r-----  1 oracle oinstall      2560  4月  9 16:24 arch_JIAGULUN_20150409_20_1.bak

-rw-r-----  1 oracle oinstall   7110656  4月  9 16:24 ctl_JIAGULUN_20150409_21_1.bak

-rw-r-----  1 oracle oinstall 392822784  4月  9 16:23 full_JIAGULUN_20150409_876586944_14_1.bak

-rw-r-----  1 oracle oinstall 261447680  4月  9 16:23 full_JIAGULUN_20150409_876586944_15_1.bak

-rw-r-----  1 oracle oinstall   7110656  4月  9 16:24 full_JIAGULUN_20150409_876587040_16_1.bak

-rw-r-----  1 oracle oinstall     98304  4月  9 16:24 full_JIAGULUN_20150409_876587041_17_1.bak

-rw-r-----  1 oracle oinstall     98304  4月  9 16:24 spfile_JIAGULUN_0iq3va14_1_1_20150409.bak

[root@redhat4 orcl]#

 

[root@redhat4 orcl]# su - oracle

[oracle@redhat4 ~]$ cd /home/oracle/oracle_bk/

[oracle@redhat4 oracle_bk]$ scp -r orcl oracle@192.168.59.10:/tmp/

The authenticity of host '192.168.59.10 (192.168.59.10)' can't be established.

RSA key fingerprint is 77:e6:11:1a:7c:c7:81:7c:88:c9:21:18:51:2a:84:d1.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.59.10' (RSA) to the list of known hosts.

oracle@192.168.59.10's password:

ctl_JIAGULUN_20150409_21_1.bak                                                                                                                                                  100% 6944KB   6.8MB/s   00:00   

full_JIAGULUN_20150409_876586944_14_1.bak                                                                                                                                       100%  375MB  19.7MB/s   00:19   

arch_JIAGULUN_20150409_20_1.bak                                                                                                                                                 100% 2560     2.5KB/s   00:00   

full_JIAGULUN_20150409_876587041_17_1.bak                                                                                                                                       100%   96KB  96.0KB/s   00:00   

arch_JIAGULUN_20150409_19_1.bak                                                                                                                                                 100%  102KB 101.5KB/s   00:00   

full_JIAGULUN_20150409_876586944_15_1.bak                                                                                                                                       100%  249MB  16.6MB/s   00:15   

spfile_JIAGULUN_0iq3va14_1_1_20150409.bak                                                                                                                                       100%   96KB  96.0KB/s   00:00   

full_JIAGULUN_20150409_876587040_16_1.bak                                                                                                                                       100% 6944KB   6.8MB/s   00:01   

[oracle@redhat4 oracle_bk]$ scp $ORACLE_HOME/dbs/initjiagulun.ora oracle@192.168.59.10:/tmp/orcl/

oracle@192.168.59.10's password:

initjiagulun.ora                                                                                                                                                                100% 1171     1.1KB/s   00:00   

[oracle@redhat4 oracle_bk]$

 

 

 

 

 

二、 在异机的操作 1、 恢复spfile
 

这里不采用rman恢复了,因为要实验异机不同路径的恢复,所以直接修改pfile文件吧。

 

[oracle@testdb orcl]$ cd /tmp/orcl

[oracle@testdb orcl]$ cp initjiagulun.ora $ORACLE_HOME/dbs/

[oracle@testdb orcl]$ vi $ORACLE_HOME/dbs/initjiagulun.ora

 

 

修改pfile文件之后:

[oracle@testdb orcl]$ more  $ORACLE_HOME/dbs/initjiagulun.ora

*.audit_file_dest='/u01/app/oracle/admin/jiagulun/adump'

*.compatible='10.2.0.1.0'

*.control_files='/u01/app/oracle/oradata/jiagulun/control01.ctl','/u01/app/oracle/oradata/jiagulun/control02.ctl'

*.db_block_size=8192

*.db_create_file_dest='/u01/app/oracle/oradata'

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='jiagulun'

*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'

*.db_recovery_file_dest_size=2147483648

*.dispatchers='(PROTOCOL=TCP) (SERVICE=jiagulunXDB)'

*.job_queue_processes=10

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sessions=170

*.memory_target=500572800

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

[oracle@testdb orcl]$

[oracle@testdb orcl]$

 

 

创建相关路径:

[oracle@testdb orcl]$ mkdir -p /u01/app/oracle/admin/jiagulun/adump

[oracle@testdb orcl]$ mkdir -p /u01/app/oracle/oradata/jiagulun/

[oracle@testdb orcl]$

 

---创建原库的相关路径

[oracle@testdb dbs]$ mkdir -p /u01/app/oracle/oradata/JIAGULUN/datafile/

[oracle@testdb dbs]$ mkdir -p /u01/app/oracle/oradata/JIAGULUN/onlinelog/

[oracle@testdb dbs]$ mkdir -p /u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/

[oracle@testdb dbs]$

 

 

 

 

 

[oracle@testdb dbs]$ ORACLE_SID=jiagulun

[oracle@testdb dbs]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 9 16:54:26 2015

 

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

 

Connected to an idle instance.

 

SQL>  create spfile from pfile;

 

File created.

 

SQL>

 

 

SQL> startup nomount;

ORACLE instance started.

 

Total System Global Area  501059584 bytes

Fixed Size                  2229744 bytes

Variable Size             310381072 bytes

Database Buffers          180355072 bytes

Redo Buffers                8093696 bytes

SQL>

 

 

 

 

 

2、  恢复控制文件
 

 

[oracle@testdb dbs]$ rman target /

 

Recovery Manager: Release 11.2.0.3.0 - Production on Thu Apr 9 16:55:37 2015

 

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

 

connected to target database: JIAGULUN (not mounted)

 

RMAN> restore controlfile to '/u01/app/oracle/oradata/jiagulun/control01.ctl' from '/tmp/orcl/ctl_JIAGULUN_20150409_21_1.bak';

 

Starting restore at 09-APR-15

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=134 device type=DISK

 

channel ORA_DISK_1: restoring control file

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

Finished restore at 09-APR-15

 

RMAN>

 

Recovery Manager complete.

[oracle@testdb orcl]$ cp  /u01/app/oracle/oradata/jiagulun/control01.ctl /u01/app/oracle/oradata/jiagulun/control02.ctl

[oracle@testdb dbs]$ rman target /

 

Recovery Manager: Release 11.2.0.3.0 - Production on Thu Apr 9 16:57:53 2015

 

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

 

connected to target database: JIAGULUN (not mounted)

 

RMAN> alter database mount;

 

using target database control file instead of recovery catalog

 

 

 

database mounted

 

RMAN>

RMAN>

 

 

3、 恢复归档文件
 

RMAN> catalog start with '/tmp/orcl/';

 

Starting implicit crosscheck backup at 09-APR-15

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=125 device type=DISK

Crosschecked 7 objects

Finished implicit crosscheck backup at 09-APR-15

 

Starting implicit crosscheck copy at 09-APR-15

using channel ORA_DISK_1

Finished implicit crosscheck copy at 09-APR-15

 

searching for all files in the recovery area

cataloging files...

no files cataloged

 

searching for all files that match the pattern /tmp/orcl/

 

List of Files Unknown to the Database

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

File Name: /tmp/orcl/arch_JIAGULUN_20150409_20_1.bak

File Name: /tmp/orcl/initjiagulun.ora

File Name: /tmp/orcl/full_JIAGULUN_20150409_876587040_16_1.bak

File Name: /tmp/orcl/spfile_JIAGULUN_0iq3va14_1_1_20150409.bak

File Name: /tmp/orcl/full_JIAGULUN_20150409_876587041_17_1.bak

File Name: /tmp/orcl/full_JIAGULUN_20150409_876586944_15_1.bak

File Name: /tmp/orcl/arch_JIAGULUN_20150409_19_1.bak

File Name: /tmp/orcl/full_JIAGULUN_20150409_876586944_14_1.bak

File Name: /tmp/orcl/ctl_JIAGULUN_20150409_21_1.bak

 

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

cataloging files...

cataloging done

 

List of Cataloged Files

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

File Name: /tmp/orcl/arch_JIAGULUN_20150409_20_1.bak

File Name: /tmp/orcl/full_JIAGULUN_20150409_876587040_16_1.bak

File Name: /tmp/orcl/spfile_JIAGULUN_0iq3va14_1_1_20150409.bak

File Name: /tmp/orcl/full_JIAGULUN_20150409_876587041_17_1.bak

File Name: /tmp/orcl/full_JIAGULUN_20150409_876586944_15_1.bak

File Name: /tmp/orcl/arch_JIAGULUN_20150409_19_1.bak

File Name: /tmp/orcl/full_JIAGULUN_20150409_876586944_14_1.bak

File Name: /tmp/orcl/ctl_JIAGULUN_20150409_21_1.bak

 

List of Files Which Where Not Cataloged

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

File Name: /tmp/orcl/initjiagulun.ora

  RMAN-07517: Reason: The file header is corrupted

 

RMAN>

 

RMAN>  crosscheck archivelog all;

 

released channel: ORA_DISK_1

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=125 device type=DISK

specification does not match any archived log in the repository

 

RMAN>

using channel ORA_DISK_1

crosschecked backup piece: found to be 'EXPIRED'

backup piece handle=/home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876586944_15_1.bak RECID=14 STAMP=876586944

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/tmp/orcl/full_JIAGULUN_20150409_876586944_15_1.bak RECID=25 STAMP=876589228

crosschecked backup piece: found to be 'EXPIRED'

backup piece handle=/home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876586944_14_1.bak RECID=15 STAMP=876586944

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/tmp/orcl/full_JIAGULUN_20150409_876586944_14_1.bak RECID=27 STAMP=876589228

crosschecked backup piece: found to be 'EXPIRED'

backup piece handle=/home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876587040_16_1.bak RECID=16 STAMP=876587040

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/tmp/orcl/full_JIAGULUN_20150409_876587040_16_1.bak RECID=22 STAMP=876589228

crosschecked backup piece: found to be 'EXPIRED'

backup piece handle=/home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876587041_17_1.bak RECID=17 STAMP=876587042

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/tmp/orcl/full_JIAGULUN_20150409_876587041_17_1.bak RECID=24 STAMP=876589228

crosschecked backup piece: found to be 'EXPIRED'

backup piece handle=/home/oracle/oracle_bk/orcl/spfile_JIAGULUN_0iq3va14_1_1_20150409.bak RECID=18 STAMP=876587045

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/tmp/orcl/spfile_JIAGULUN_0iq3va14_1_1_20150409.bak RECID=23 STAMP=876589228

crosschecked backup piece: found to be 'EXPIRED'

backup piece handle=/home/oracle/oracle_bk/orcl/arch_JIAGULUN_20150409_19_1.bak RECID=19 STAMP=876587048

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/tmp/orcl/arch_JIAGULUN_20150409_19_1.bak RECID=26 STAMP=876589228

crosschecked backup piece: found to be 'EXPIRED'

backup piece handle=/home/oracle/oracle_bk/orcl/arch_JIAGULUN_20150409_20_1.bak RECID=20 STAMP=876587048

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/tmp/orcl/arch_JIAGULUN_20150409_20_1.bak RECID=21 STAMP=876589228

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/tmp/orcl/ctl_JIAGULUN_20150409_21_1.bak RECID=28 STAMP=876589228

Crosschecked 15 objects

 

 

RMAN> delete noprompt obsolete;

 

RMAN retention policy will be applied to the command

RMAN retention policy is set to redundancy 1

using channel ORA_DISK_1

Deleting the following obsolete backups and copies:

Type                 Key    Completion Time    Filename/Handle

-------------------- ------ ------------------ --------------------

Backup Set           16     09-APR-15        

  Backup Piece       16     09-APR-15          /home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876587040_16_1.bak

Backup Set           17     09-APR-15        

  Backup Piece       17     09-APR-15          /home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876587041_17_1.bak

deleted backup piece

backup piece handle=/home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876587040_16_1.bak RECID=16 STAMP=876587040

deleted backup piece

backup piece handle=/home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876587041_17_1.bak RECID=17 STAMP=876587042

Deleted 2 objects

 

 

RMAN>

 

RMAN> crosscheck archivelog all;

 

released channel: ORA_DISK_1

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=125 device type=DISK

specification does not match any archived log in the repository

 

RMAN> 

 

RMAN> delete EXPIRED backupset;

 

using channel ORA_DISK_1

 

List of Backup Pieces

BP Key  BS Key  Pc# Cp# Status      Device Type Piece Name

------- ------- --- --- ----------- ----------- ----------

14      14      1   1   EXPIRED     DISK        /home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876586944_15_1.bak

15      15      1   1   EXPIRED     DISK        /home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876586944_14_1.bak

18      18      1   1   EXPIRED     DISK        /home/oracle/oracle_bk/orcl/spfile_JIAGULUN_0iq3va14_1_1_20150409.bak

19      19      1   1   EXPIRED     DISK        /home/oracle/oracle_bk/orcl/arch_JIAGULUN_20150409_19_1.bak

20      20      1   1   EXPIRED     DISK        /home/oracle/oracle_bk/orcl/arch_JIAGULUN_20150409_20_1.bak

 

Do you really want to delete the above objects (enter YES or NO)? yes

deleted backup piece

backup piece handle=/home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876586944_15_1.bak RECID=14 STAMP=876586944

deleted backup piece

backup piece handle=/home/oracle/oracle_bk/orcl/full_JIAGULUN_20150409_876586944_14_1.bak RECID=15 STAMP=876586944

deleted backup piece

backup piece handle=/home/oracle/oracle_bk/orcl/spfile_JIAGULUN_0iq3va14_1_1_20150409.bak RECID=18 STAMP=876587045

deleted backup piece

backup piece handle=/home/oracle/oracle_bk/orcl/arch_JIAGULUN_20150409_19_1.bak RECID=19 STAMP=876587048

deleted backup piece

backup piece handle=/home/oracle/oracle_bk/orcl/arch_JIAGULUN_20150409_20_1.bak RECID=20 STAMP=876587048

Deleted 5 EXPIRED objects

 

 

RMAN>

 

RMAN> list backup of archivelog all;

 

 

List of Backup Sets

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

 

 

BS Key  Size       Device Type Elapsed Time Completion Time

------- ---------- ----------- ------------ ---------------

19      101.00K    DISK        00:00:01     09-APR-15     

        BP Key: 26   Status: AVAILABLE  Compressed: NO  Tag: TAG20150409T162406

        Piece Name: /tmp/orcl/arch_JIAGULUN_20150409_19_1.bak

 

  List of Archived Logs in backup set 19

  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time

  ---- ------- ---------- --------- ---------- ---------

  1   12      694289     09-APR-15 694583     09-APR-15

 

BS Key  Size       Device Type Elapsed Time Completion Time

------- ---------- ----------- ------------ ---------------

20      2.00K      DISK        00:00:01     09-APR-15     

        BP Key: 21   Status: AVAILABLE  Compressed: NO  Tag: TAG20150409T162406

        Piece Name: /tmp/orcl/arch_JIAGULUN_20150409_20_1.bak

 

  List of Archived Logs in backup set 20

  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time

  ---- ------- ---------- --------- ---------- ---------

  1    13      694583     09-APR-15 694588     09-APR-15

 

RMAN>

RMAN> restore archivelog sequence between 12 and 13;

 

Starting restore at 09-APR-15

using channel ORA_DISK_1

 

channel ORA_DISK_1: starting archived log restore to default destination

channel ORA_DISK_1: restoring archived log

archived log thread=1 sequence=12

channel ORA_DISK_1: reading from backup piece /tmp/orcl/arch_JIAGULUN_20150409_19_1.bak

channel ORA_DISK_1: piece handle=/tmp/orcl/arch_JIAGULUN_20150409_19_1.bak tag=TAG20150409T162406

channel ORA_DISK_1: restored backup piece 1

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

channel ORA_DISK_1: starting archived log restore to default destination

channel ORA_DISK_1: restoring archived log

archived log thread=1 sequence=13

channel ORA_DISK_1: reading from backup piece /tmp/orcl/arch_JIAGULUN_20150409_20_1.bak

channel ORA_DISK_1: piece handle=/tmp/orcl/arch_JIAGULUN_20150409_20_1.bak tag=TAG20150409T162406

channel ORA_DISK_1: restored backup piece 1

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

Finished restore at 09-APR-15

 

RMAN>

 

 

 

4、 恢复数据文件
 

由于恢复路径不同,所以需要set newname。

 

set pagesize  200 linesize 200

select 'set newname for datafile ' || a.FILE# || ' to "' || a.NAME || '";'

  from v$datafile a

union all

select 'set newname for tempfile ' || a.FILE# || ' to "' || a.NAME || '";'

  from v$tempfile a

union all

SELECT 'SQL "ALTER DATABASE RENAME FILE ''''' || a.MEMBER || '''''  to  ''''' ||

       a.MEMBER || ''''' ";'

  FROM v$logfile a;

 

SQL> set pagesize  200 linesize 200

SQL> select 'set newname for datafile ' || a.FILE# || ' to "' || a.NAME || '";'

  2    from v$datafile a

  3  union all

  4  select 'set newname for tempfile ' || a.FILE# || ' to "' || a.NAME || '";'

  5    from v$tempfile a

  6  union all

  7  SELECT 'SQL "ALTER DATABASE RENAME FILE ''''' || a.MEMBER || '''''  to  ''''' ||

  8         a.MEMBER || ''''' ";'

  9    FROM v$logfile a;

 

'SETNEWNAMEFORDATAFILE'||A.FILE#||'TO"'||A.NAME||'";'

------------------------------------------------------------------------------------------------------------------------------------------------------------

set newname for datafile 1 to "/u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_system_7p5b14xs_.dbf";

set newname for datafile 2 to "/u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_undotbs1_7p5b155m_.dbf";

set newname for datafile 3 to "/u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_sysaux_7p5b14yl_.dbf";

set newname for datafile 4 to "/u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_users_7p5b157q_.dbf";

set newname for datafile 5 to "/u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_example_7p5b3r36_.dbf";

set newname for tempfile 1 to "/u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_temp_7p5b3loz_.tmp";

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_3_7p5b35yp_.log''  to  ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_3_7p5b35yp_.log'' ";

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_3_7p5b36x4_.log''  to  ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_3_7p5b36x4_.log'' "

;

 

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_2_7p5b33sx_.log''  to  ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_2_7p5b33sx_.log'' ";

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_2_7p5b34v6_.log''  to  ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_2_7p5b34v6_.log'' "

;

 

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_1_7p5b30lb_.log''  to  ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_1_7p5b30lb_.log'' ";

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_1_7p5b31mg_.log''  to  ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_1_7p5b31mg_.log'' "

;

 

 

已选择12行。

SQL>

 

 

修改脚本:

RUN

{

  ALLOCATE CHANNEL c1 DEVICE TYPE DISK;

set newname for datafile 1 to "/u01/app/oracle/oradata/jiagulun/system01.dbf";

set newname for datafile 2 to "/u01/app/oracle/oradata/jiagulun/undotbs01.dbf";

set newname for datafile 3 to "/u01/app/oracle/oradata/jiagulun/sysaux01.dbf";

set newname for datafile 4 to "/u01/app/oracle/oradata/jiagulun/users01.dbf";

set newname for datafile 5 to "/u01/app/oracle/oradata/jiagulun/example01.dbf";

set newname for tempfile 1 to "/u01/app/oracle/oradata/jiagulun/temp01.dbf";

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_3_7p5b35yp_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo03.log'' ";

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_3_7p5b36x4_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo03_1.log'' ";

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_2_7p5b33sx_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo02.log'' ";

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_2_7p5b34v6_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo02_1.log'' ";

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_1_7p5b30lb_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo01.log'' ";

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_1_7p5b31mg_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo01_1.log'' ";

 

  SET UNTIL sequence 13 thread 1;

  RESTORE DATABASE;

  SWITCH DATAFILE ALL;

  RECOVER DATABASE;

}

 

 

 

启动数据库到mount状态:

 

 

 

RMAN> shutdown abort;

 

Oracle instance shut down

 

RMAN> startup mount;

 

connected to target database (not started)

Oracle instance started

database mounted

 

Total System Global Area     501059584 bytes

 

Fixed Size                     2229744 bytes

Variable Size                310381072 bytes

Database Buffers             180355072 bytes

Redo Buffers                   8093696 bytes

 

RMAN>

 

RMAN> RUN

2> {

3>   ALLOCATE CHANNEL c1 DEVICE TYPE DISK;

4> set newname for datafile 1 to "/u01/app/oracle/oradata/jiagulun/system01.dbf";

5> set newname for datafile 2 to "/u01/app/oracle/oradata/jiagulun/undotbs01.dbf";

6> set newname for datafile 3 to "/u01/app/oracle/oradata/jiagulun/sysaux01.dbf";

7> set newname for datafile 4 to "/u01/app/oracle/oradata/jiagulun/users01.dbf";

8> set newname for datafile 5 to "/u01/app/oracle/oradata/jiagulun/example01.dbf";

9> set newname for tempfile 1 to "/u01/app/oracle/oradata/jiagulun/temp01.dbf";

10> SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_3_7p5b35yp_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo03.log'' ";

11> SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_3_7p5b36x4_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo03_1.log'' ";

12> SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_2_7p5b33sx_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo02.log'' ";

13> SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_2_7p5b34v6_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo02_1.log'' ";

14> SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_1_7p5b30lb_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo01.log'' ";

15> SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_1_7p5b31mg_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo01_1.log'' ";

16>

17>   SET UNTIL sequence 13 thread 1;

18>   RESTORE DATABASE;

19>   SWITCH DATAFILE ALL;

20>   RECOVER DATABASE;

21> }

 

released channel: ORA_DISK_1

allocated channel: c1

channel c1: SID=133 device type=DISK

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

sql statement: ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_3_7p5b35yp_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo03.log''

 

sql statement: ALTER DATABASE RENAME FILE ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_3_7p5b36x4_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo03_1.log''

 

sql statement: ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_2_7p5b33sx_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo02.log''

 

sql statement: ALTER DATABASE RENAME FILE ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_2_7p5b34v6_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo02_1.log''

 

sql statement: ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_1_7p5b30lb_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo01.log''

 

sql statement: ALTER DATABASE RENAME FILE ''/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_1_7p5b31mg_.log''  to  ''/u01/app/oracle/oradata/jiagulun/redo01_1.log''

 

executing command: SET until clause

 

Starting restore at 09-APR-15

 

channel c1: starting datafile backup set restore

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

channel c1: restoring datafile 00002 to /u01/app/oracle/oradata/jiagulun/undotbs01.dbf

channel c1: restoring datafile 00003 to /u01/app/oracle/oradata/jiagulun/sysaux01.dbf

channel c1: restoring datafile 00005 to /u01/app/oracle/oradata/jiagulun/example01.dbf

channel c1: reading from backup piece /tmp/orcl/full_JIAGULUN_20150409_876586944_15_1.bak

channel c1: piece handle=/tmp/orcl/full_JIAGULUN_20150409_876586944_15_1.bak tag=TAG20150409T162224

channel c1: restored backup piece 1

channel c1: restore complete, elapsed time: 00:00:15

channel c1: starting datafile backup set restore

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

channel c1: restoring datafile 00001 to /u01/app/oracle/oradata/jiagulun/system01.dbf

channel c1: restoring datafile 00004 to /u01/app/oracle/oradata/jiagulun/users01.dbf

channel c1: reading from backup piece /tmp/orcl/full_JIAGULUN_20150409_876586944_14_1.bak

channel c1: piece handle=/tmp/orcl/full_JIAGULUN_20150409_876586944_14_1.bak tag=TAG20150409T162224

channel c1: restored backup piece 1

channel c1: restore complete, elapsed time: 00:00:15

Finished restore at 09-APR-15

 

datafile 1 switched to datafile copy

input datafile copy RECID=7 STAMP=876591796 file name=/u01/app/oracle/oradata/jiagulun/system01.dbf

datafile 2 switched to datafile copy

input datafile copy RECID=8 STAMP=876591796 file name=/u01/app/oracle/oradata/jiagulun/undotbs01.dbf

datafile 3 switched to datafile copy

input datafile copy RECID=9 STAMP=876591796 file name=/u01/app/oracle/oradata/jiagulun/sysaux01.dbf

datafile 4 switched to datafile copy

input datafile copy RECID=10 STAMP=876591796 file name=/u01/app/oracle/oradata/jiagulun/users01.dbf

datafile 5 switched to datafile copy

input datafile copy RECID=11 STAMP=876591796 file name=/u01/app/oracle/oradata/jiagulun/example01.dbf

 

Starting recover at 09-APR-15

 

starting media recovery

 

archived log for thread 1 with sequence 12 is already on disk as file /u01/app/oracle/flash_recovery_area/JIAGULUN/archivelog/2015_04_09/o1_mf_1_12_bldjk2wt_.arc

archived log file name=/u01/app/oracle/flash_recovery_area/JIAGULUN/archivelog/2015_04_09/o1_mf_1_12_bldjk2wt_.arc thread=1 sequence=12

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

Finished recover at 09-APR-15

released channel: c1

 

RMAN>

 

 

 

 

 

 

 

告警日志:

Thu Apr 09 17:42:45 2015

ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_3_7p5b35yp_.log'  to  '/u01/app/oracle/oradata/jiagulun/redo03.log'

Deleted Oracle managed file /u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_3_7p5b35yp_.log

Completed: ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_3_7p5b35yp_.log'  to  '/u01/app/oracle/oradata/jiagulun/redo03.log'

ALTER DATABASE RENAME FILE '/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_3_7p5b36x4_.log'  to  '/u01/app/oracle/oradata/jiagulun/redo03_1.log'

Deleted Oracle managed file /u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_3_7p5b36x4_.log

Completed: ALTER DATABASE RENAME FILE '/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_3_7p5b36x4_.log'  to  '/u01/app/oracle/oradata/jiagulun/redo03_1.log'

ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_2_7p5b33sx_.log'  to  '/u01/app/oracle/oradata/jiagulun/redo02.log'

Deleted Oracle managed file /u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_2_7p5b33sx_.log

Completed: ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_2_7p5b33sx_.log'  to  '/u01/app/oracle/oradata/jiagulun/redo02.log'

ALTER DATABASE RENAME FILE '/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_2_7p5b34v6_.log'  to  '/u01/app/oracle/oradata/jiagulun/redo02_1.log'

Deleted Oracle managed file /u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_2_7p5b34v6_.log

Completed: ALTER DATABASE RENAME FILE '/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_2_7p5b34v6_.log'  to  '/u01/app/oracle/oradata/jiagulun/redo02_1.log'

ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_1_7p5b30lb_.log'  to  '/u01/app/oracle/oradata/jiagulun/redo01.log'

Deleted Oracle managed file /u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_1_7p5b30lb_.log

Completed: ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/JIAGULUN/onlinelog/o1_mf_1_7p5b30lb_.log'  to  '/u01/app/oracle/oradata/jiagulun/redo01.log'

ALTER DATABASE RENAME FILE '/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_1_7p5b31mg_.log'  to  '/u01/app/oracle/oradata/jiagulun/redo01_1.log'

Deleted Oracle managed file /u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_1_7p5b31mg_.log

Completed: ALTER DATABASE RENAME FILE '/u01/app/oracle/flash_recovery_area/JIAGULUN/onlinelog/o1_mf_1_7p5b31mg_.log'  to  '/u01/app/oracle/oradata/jiagulun/redo01_1.log'

Thu Apr 09 17:42:47 2015

Full restore complete of datafile 2 to datafile copy /u01/app/oracle/oradata/jiagulun/undotbs01.dbf.  Elapsed time: 0:00:00

  checkpoint is 694528

Full restore complete of datafile 5 to datafile copy /u01/app/oracle/oradata/jiagulun/example01.dbf.  Elapsed time: 0:00:02

  checkpoint is 694528

Full restore complete of datafile 3 to datafile copy /u01/app/oracle/oradata/jiagulun/sysaux01.dbf.  Elapsed time: 0:00:05

  checkpoint is 694528

Thu Apr 09 17:43:01 2015

Full restore complete of datafile 4 to datafile copy /u01/app/oracle/oradata/jiagulun/users01.dbf.  Elapsed time: 0:00:00

  checkpoint is 694529

Thu Apr 09 17:43:04 2015

Time drift detected. Please check VKTM trace file for more details.

Thu Apr 09 17:43:15 2015

Full restore complete of datafile 1 to datafile copy /u01/app/oracle/oradata/jiagulun/system01.dbf.  Elapsed time: 0:00:13

  checkpoint is 694529

Thu Apr 09 17:43:17 2015

Errors in file /u01/app/oracle/diag/rdbms/jiagulun/jiagulun/trace/jiagulun_ora_13658.trc:

ORA-19625: error identifying file /u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_system_7p5b14xs_.dbf

ORA-27037: unable to obtain file status

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

Switch of datafile 1 complete to datafile copy

  checkpoint is 694529

Errors in file /u01/app/oracle/diag/rdbms/jiagulun/jiagulun/trace/jiagulun_ora_13658.trc:

ORA-19625: error identifying file /u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_undotbs1_7p5b155m_.dbf

ORA-27037: unable to obtain file status

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

Switch of datafile 2 complete to datafile copy

  checkpoint is 694528

Errors in file /u01/app/oracle/diag/rdbms/jiagulun/jiagulun/trace/jiagulun_ora_13658.trc:

ORA-19625: error identifying file /u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_sysaux_7p5b14yl_.dbf

ORA-27037: unable to obtain file status

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

Switch of datafile 3 complete to datafile copy

  checkpoint is 694528

Errors in file /u01/app/oracle/diag/rdbms/jiagulun/jiagulun/trace/jiagulun_ora_13658.trc:

ORA-19625: error identifying file /u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_users_7p5b157q_.dbf

ORA-27037: unable to obtain file status

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

Switch of datafile 4 complete to datafile copy

  checkpoint is 694529

Errors in file /u01/app/oracle/diag/rdbms/jiagulun/jiagulun/trace/jiagulun_ora_13658.trc:

ORA-19625: error identifying file /u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_example_7p5b3r36_.dbf

ORA-27037: unable to obtain file status

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

Switch of datafile 5 complete to datafile copy

  checkpoint is 694528

alter database recover datafile list clear

Completed: alter database recover datafile list clear

alter database recover datafile list

1 , 2 , 3 , 4 , 5

Completed: alter database recover datafile list

1 , 2 , 3 , 4 , 5

alter database recover if needed

start until cancel using backup controlfile

Media Recovery Start

started logmerger process

Parallel Media Recovery started with 2 slaves

ORA-279 signalled during: alter database recover if needed

start until cancel using backup controlfile

...

alter database recover logfile '/u01/app/oracle/flash_recovery_area/JIAGULUN/archivelog/2015_04_09/o1_mf_1_12_bldjk2wt_.arc'

Media Recovery Log /u01/app/oracle/flash_recovery_area/JIAGULUN/archivelog/2015_04_09/o1_mf_1_12_bldjk2wt_.arc

ORA-279 signalled during: alter database recover logfile '/u01/app/oracle/flash_recovery_area/JIAGULUN/archivelog/2015_04_09/o1_mf_1_12_bldjk2wt_.arc'...

alter database recover cancel

Media Recovery Canceled

Completed: alter database recover cancel

 

 

 

5、 startup upgrade打开数据库
注意:startup upgrade打开数据库之前应该首先采用alter database open resetlogs;打开数据库一次,然后执行startup upgrade重新打开数据库,或者直接运行alter database open resetlogs upgrade;。

 

[oracle@testdb dbs]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 9 17:44:46 2015

 

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

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> select open_mode from v$database;

 

OPEN_MODE

--------------------

MOUNTED

 

SQL>  alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-01092: ORACLE instance terminated. Disconnection forced

ORA-00704: bootstrap process failure

ORA-39700: database must be opened with UPGRADE option

Process ID: 11035

Session ID: 59 Serial number: 29

 

 

SQL>

SQL> shutdown abort;

ORA-24324: service handle not initialized

ORA-01041: internal error. hostdef extension doesn't exist

SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

 

 

--因为相同平台的数据库软件版本不一样,所以需要upgrade选项打开。

 

--shutdown数据库用upgrade选项打开数据库:

 

[oracle@testdb orcl]$ sqlplus / as sysdba

 

 

SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 9 17:47:31 2015

 

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

 

Connected to an idle instance.

 

 

SQL> startup upgrade;

ORACLE instance started.

 

Total System Global Area  313159680 bytes

Fixed Size                  2227944 bytes

Variable Size             230687000 bytes

Database Buffers           75497472 bytes

Redo Buffers                4747264 bytes

Database mounted.

Database opened.

SQL> 

 

 

告警日志:

ALTER DATABASE   MOUNT

Successful mount of redo thread 1, with mount id 2792694741

Database mounted in Exclusive Mode

Lost write protection disabled

Completed: ALTER DATABASE   MOUNT

Thu Apr 09 17:48:09 2015

ALTER DATABASE OPEN MIGRATE

Beginning crash recovery of 1 threads

parallel recovery started with 2 processes

Started redo scan

Completed redo scan

read 0 KB redo, 0 data blocks need recovery

Started redo application at

Thread 1: logseq 1, block 2, scn 694587

Recovery of Online Redo Log: Thread 1 Group 1 Seq 1 Reading mem 0

  Mem# 0: /u01/app/oracle/oradata/jiagulun/redo01.log

  Mem# 1: /u01/app/oracle/oradata/jiagulun/redo01_1.log

Completed redo application of 0.00MB

Completed crash recovery at

Thread 1: logseq 1, block 3, scn 714589

0 data blocks read, 0 data blocks written, 0 redo k-bytes read

LGWR: STARTING ARCH PROCESSES

Thu Apr 09 17:48:09 2015

ARC0 started with pid=20, OS id=14074

ARC0: Archival started

LGWR: STARTING ARCH PROCESSES COMPLETE

ARC0: STARTING ARCH PROCESSES

Thu Apr 09 17:48:10 2015

ARC1 started with pid=23, OS id=14076

Thread 1 advanced to log sequence 2 (thread open)

Thu Apr 09 17:48:10 2015

ARC2 started with pid=24, OS id=14078

Thread 1 opened at log sequence 2

  Current log# 2 seq# 2 mem# 0: /u01/app/oracle/oradata/jiagulun/redo02.log

  Current log# 2 seq# 2 mem# 1: /u01/app/oracle/oradata/jiagulun/redo02_1.log

Successful open of redo thread 1

MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set

SMON: enabling cache recovery

Thu Apr 09 17:48:10 2015

ARC1: Archival started

ARC3 started with pid=25, OS id=14080

ARC2: Archival started

ARC2: Becoming the 'no FAL' ARCH

ARC2: Becoming the 'no SRL' ARCH

ARC1: Becoming the heartbeat ARCH

Archived Log entry 9 added for thread 1 sequence 1 ID 0xa67589a0 dest 1:

[14064] Successfully onlined Undo Tablespace 1.

Undo initialization finished serial:0 start:62795144 end:62795464 diff:320 (3 seconds)

Dictionary check beginning

Errors in file /u01/app/oracle/diag/rdbms/jiagulun/jiagulun/trace/jiagulun_dbw0_14007.trc:

ORA-01157: cannot identify/lock data file 201 - see DBWR trace file

ORA-01110: data file 201: '/u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_temp_7p5b3loz_.tmp'

ORA-27037: unable to obtain file status

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

Errors in file /u01/app/oracle/diag/rdbms/jiagulun/jiagulun/trace/jiagulun_dbw0_14007.trc:

ORA-01186: file 201 failed verification tests

ORA-01157: cannot identify/lock data file 201 - see DBWR trace file

ORA-01110: data file 201: '/u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_temp_7p5b3loz_.tmp'

File 201 not verified due to error ORA-01157

Dictionary check complete

SMON: enabling tx recovery

Re-creating tempfile /u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_temp_7p5b3loz_.tmp as /u01/app/oracle/oradata/JIAGULUN/datafile/o1_mf_temp_bldlptwz_.tmp

Database Characterset is ZHS16GBK

Updating 10.2.0.1.0 NLS parameters in sys.props$

-- adding 11.2.0.3.0 NLS parameters.

ARC3: Archival started

ARC0: STARTING ARCH PROCESSES COMPLETE

Stopping background process MMNL

Stopping background process MMON

Starting background process MMON

Thu Apr 09 17:48:15 2015

MMON started with pid=15, OS id=14082

Starting background process MMNL

Thu Apr 09 17:48:15 2015

MMNL started with pid=16, OS id=14084

ALTER SYSTEM enable restricted session;

ALTER SYSTEM SET _system_trig_enabled=FALSE SCOPE=MEMORY;

Autotune of undo retention is turned off.

ALTER SYSTEM SET _undo_autotune=FALSE SCOPE=MEMORY;

ALTER SYSTEM SET undo_retention=900 SCOPE=MEMORY;

ALTER SYSTEM SET aq_tm_processes=0 SCOPE=MEMORY;

ALTER SYSTEM SET enable_ddl_logging=FALSE SCOPE=MEMORY;

Resource Manager disabled during database migration: plan '' not set

ALTER SYSTEM SET resource_manager_plan='' SCOPE=MEMORY;

ALTER SYSTEM SET recyclebin='OFF' DEFERRED SCOPE=MEMORY;

Resource Manager disabled during database migration

replication_dependency_tracking turned off (no async multimaster replication found)

XDB UNINITIALIZED: XDB$SCHEMA not accessible

LOGSTDBY: Validating controlfile with logical metadata

LOGSTDBY: Validation complete

Completed: ALTER DATABASE OPEN MIGRATE

Thu Apr 09 17:48:17 2015

Starting background process CJQ0

Thu Apr 09 17:48:17 2015

CJQ0 started with pid=26, OS id=14087

 

 

 

6、 执行升级脚本catupgrd.sql  并编译失效对象
 

SQL> SELECT d.owner, count(1)

  2    FROM dba_objects d

  3   where status = 'INVALID'

  4   GROUP BY d.owner;

 

OWNER                            COUNT(1)

------------------------------ ----------

PUBLIC                                396

CTXSYS                                  1

SYS                                    93

 

SQL>

 

SQL> select  INSTANCE_NAME,version,status from  v$instance;

 

INSTANCE_NAME    VERSION           STATUS

---------------- ----------------- ------------

jiagulun         11.2.0.3.0       OPEN MIGRATE

 

 

 

$ORACLE_HOME\RDBMS\ADMIN\catupgrd.sql 

--执行这个脚本。这个脚本调用catlog.sql和 catproc.sql来重建字典对象等,在执行完这个脚本之后,我们可以关闭数据库后,正常打开数据库:

 

 

spool /tmp/upgrade.log

set echo on

@$ORACLE_HOME/rdbms/admin/catupgrd.sql;

spool off

Shutdown immediate

 

执行之前可以把以下参数设置大点,否则可能导致升级脚本不能正常执行,如果脚本执行失败可以关闭数据库重新startup upgrade后再重新执行该脚本:

 

Thu Apr 09 14:40:46 2015

Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_11151.trc  (incident=2870):

ORA-04031: unable to allocate 4096 bytes of shared memory ("java pool","unknown object","JOXLE^5e8bb91c",":SGAClass")

Use ADRCI or Support Workbench to package the incident.

See Note 411.1 at My Oracle Support for error and packaging details.

Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_11151.trc  (incident=2871):

ORA-04031: unable to allocate 4096 bytes of shared memory ("java pool","unknown object","JOXLE^5e8bb91c",":SGAClass")

Use ADRCI or Support Workbench to package the incident.

See Note 411.1 at My Oracle Support for error and packaging details.

 

但是这里执行的时候就报错了,不能完整的执行升级脚本,后来网上查了下是因为10.2.0.1不能直接升级到11g的版本,10g的版本必须大于10.2.0.2.,晕死人,╮(╯▽╰)╭,,,,不过回想一下这样的数据库可以作为找回一些由于误操作导致丢失了的数据,其实也是一种办法。

SELECT TO_NUMBER('MUST_HAVE_RUN_PRE-UPGRADE_TOOL_FOR_TIMEZONE') 
   *  ERROR at line 1: 
   ORA-01722: invalid number

 

算了,再找个高版本实验吧,请看下一篇文章。。。。。

 

 

7、 小结
将10g Restore 到11g 的2个关键内容:

1.     必须在10g库上先执行@?/rdbms/admin/utlu112i.sql脚本,然后在备份,否则Restore之后的升级将失败。

2.     10g的版本必须大于10.2.0.2.

 

参考文档:http://blog.csdn.net/tianlesoftware/article/details/7311352#t13

 

 

 

 

 

 

 

 

...........................................................................................................................................................................................

本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

ITPUB BLOG:http://blog.itpub.net/26736162

本文地址:http://blog.itpub.net/26736162/viewspace-1561352/

QQ:642808185 注明:ITPUB的文章标题

...........................................................................................................................................................................................

 

时间: 2024-11-10 11:31:58

【RMAN】RMAN跨版本恢复(中)的相关文章

【RMAN】RMAN跨版本恢复(下)

[RMAN]RMAN跨版本恢复(下)--大版本异机恢复 BLOG文档结构图                     ORACLE_SID=ORA1024G 原机:  OS: RHEL Linux x86 64-bit  IP:192.168.59.130  oracle:10.2.0.4.0 归档模式 异机:  OS: RHEL Linux x86 64-bit  IP:192.168.59.10   oracle:11.2.0.3.0  归档模式 目的:利用原机的rman备份集将原库恢复到异机

【MOS】在不同版本和平台之间进行还原或复制 (文档 ID 1526162.1)--跨版本恢复

[MOS]关于在不同版本和平台之间进行还原或复制的常见问题 (文档 ID 1526162.1)--跨版本恢复 Questions and Answers    1) 我能用更高版本的 Oracle 还原或复制旧版本的数据库吗?    2) 我能在两个不同的补丁程序集之间进行还原或复制吗?    3) 我能在同一操作系统的不同版本之间进行还原或复制吗?    4) Oracle 的位(bit)级别(32 位或 64 位)不匹配时,可以进行还原或复制吗?    5) 可以将更高版本的备份还原到较早版

[20171121]rman使用copy image恢复.txt

[20171121]rman使用copy image恢复.txt --//上个星期做数据文件块头恢复时,提到使用rman备份数据文件时,文件头数据库信息是最后写入备份集文件的,在filesperset=1的情况 --//下写入备份集文件中的倒数第2块就是文件头的备份.参考链接: http://blog.itpub.net/267265/viewspace-2147297/=>[20171115]恢复数据文件块头4补充.txt --//而且我最后还做了测试证明如果resotre数据文件,实际上文件

Access-Control-Allow-Headers 跨域请求中参数的意义?

问题描述 Access-Control-Allow-Headers 跨域请求中参数的意义? response.addHeader("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With"); Access-

安卓开发在版本迭代过程中可否对数据库的属性列进行修改

问题描述 安卓开发在版本迭代过程中可否对数据库的属性列进行修改 就是减少一些原有的属性列,再增加一些属性列,我用的是ContentProvider来创建与操作数据库的 解决方案 这个要看市场上的版本是否有对缺少的属性的容错处理,否则减少属性会出问题. 解决方案二: 增加属性列可以的啊.

关于opencv3.0版本图像增强中的对比度以及亮度的问题

问题描述 关于opencv3.0版本图像增强中的对比度以及亮度的问题 请问.opencv3.0版本的增强对比度除了直方图变换,还有哪些现成的函数吗?还有就是他有没有增强亮度的函数? 解决方案 http://blog.csdn.net/abcjennifer/article/details/7428737

服务器-怎么在git版本库中下载某个版本的代码,而不是整个版本库。

问题描述 怎么在git版本库中下载某个版本的代码,而不是整个版本库. 例如我想下载SVN仓库中的某个版本直接svn co ...就可以了, 如果用git实现相同的用法,在本地没有版本库的情况下仅下载远程服务器上的某个版本库的代码,要使用GIT的什么命令呢? 解决方案 看看这个. 解决方案二: http://segmentfault.com/q/1010000002424900 解决方案三: 这个链接里面的方法是针对本地有版本库的情况可以直接用PULL命令来拉取,如果我的本地没有版本库,我还想只拉

centos 中mysql5.5.37版本 springmvc中的serves 执行没包涵在事物中

问题描述 centos 中mysql5.5.37版本 springmvc中的serves 执行没包涵在事物中 centos 中mysql5.5.37版本 springmvc中的serves 执行DB操作直接成功,为什么没包涵在事物中啊,本地同样版本测试没有问题,本地测试执行 save 方法是等整个事物完成后DB中才有数据,如果中途失败是会回滚的,但是在linux中一执行到save方法DB就已经有这条数据了,不知道怎么回事,求指点 解决方案 http://blog.csdn.net/ufo2910

艾伟也谈项目管理,产品版本改造中的项目管理

近段时间,一直在负责一个产品版本改造(C/S系统进行B/S改造)的研发项目管理,在任务紧.时间短.团队成员又没有相关技术(Silverlight)背景的恶劣情况下,我带领包含我在内只有6个人员(5个研发人员,1个产品经理,产品经理在系统版本改造中主要精力投入到辅助市场部进行产品推广去了)的超小型项目团队,终于在公司给定的时间范围内完成了整个产品的版本改造.这其中经历了需求变更.技术风险.人员变动等诸多问题,项目任然取得了成功,这种使用新技术的试验项目能够取得成功不得不说有几分侥幸,更多的还是团队