Oracle rac数据库的备份和恢复

0    80    1

👉 本文共约16623个字,系统预计阅读时间或需63分钟。

前言部分

导读

各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:

① rac环境下的数据库备份与还原

② rman恢复数据库的一般步骤

③ rac环境的简单操作

实验环境介绍

目标库:11.2.0.1 RHEL6.5 rac环境

本文简介

实验的一些数据库环境参考如下表格:

项目source dbtarget db
db 类型rac环境rac环境
db version11.2.0.111.2.0.1
ORACLE_SIDorastrac1 和 orastrac2orastrac1 和 orastrac2
db_nameorastracorastrac
主机IP地址:192.168.1.31 192.168.1.32192.168.1.31 192.168.1.32

实验部分

实验目标

验证rac数据库环境下的备份和恢复操作。

查看rac环境

target库已经有4个库,3个rac库处于close状态,orastrac处于online状态。

[root@node2 ~]# crsstat

Name Type Target State Host

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

ora.ARCH.dg ora.diskgroup.type ONLINE ONLINE node1

ora.DATA.dg ora.diskgroup.type ONLINE ONLINE node1

ora.LISTENER.lsnr ora.listener.type ONLINE ONLINE node1

ora.LISTENER_SCAN1.lsnr ora.scan_listener.type ONLINE ONLINE node1

ora.OVDISK.dg ora.diskgroup.type ONLINE ONLINE node1

ora.TEST.dg ora.diskgroup.type ONLINE ONLINE node1

ora.asm ora.asm.type ONLINE ONLINE node1

ora.db.db ora.database.type OFFLINE OFFLINE

ora.eons ora.eons.type ONLINE ONLINE node1

ora.gsd ora.gsd.type OFFLINE OFFLINE

ora.jmrac.db ora.database.type ONLINE ONLINE node1

ora.jmrac.haha.svc ora.service.type ONLINE ONLINE node1

ora.net1.network ora.network.type ONLINE ONLINE node1

ora.node1.ASM1.asm application ONLINE ONLINE node1

ora.node1.LISTENER_NODE1.lsnr application ONLINE ONLINE node1

ora.node1.gsd application OFFLINE OFFLINE

ora.node1.ons application ONLINE ONLINE node1

ora.node1.vip ora.cluster_vip_net1.type ONLINE ONLINE node1

ora.node2.ASM2.asm application ONLINE ONLINE node2

ora.node2.LISTENER_NODE2.lsnr application ONLINE ONLINE node2

ora.node2.gsd application OFFLINE OFFLINE

ora.node2.ons application ONLINE ONLINE node2

ora.node2.vip ora.cluster_vip_net1.type ONLINE ONLINE node2

ora.oc4j ora.oc4j.type OFFLINE OFFLINE

ora.ons ora.ons.type ONLINE ONLINE node1

ora.ora11g.db ora.database.type OFFLINE OFFLINE

ora.registry.acfs ora.registry.acfs.type ONLINE ONLINE node1

ora.scan1.vip ora.scan_vip.type ONLINE ONLINE node1

[root@node2 ~]# crsstat | grep ora.database.type

ora.db.db ora.database.type OFFLINE OFFLINE

ora.jmrac.db ora.database.type OFFLINE OFFLINE

ora.ora11g.db ora.database.type OFFLINE OFFLINE

[root@node2 ~]#

[root@node2 ~]# crsstat | grep ora.database.type

ora.db.db ora.database.type ONLINE OFFLINE

ora.jmrac.db ora.database.type OFFLINE OFFLINE

ora.ora11g.db ora.database.type OFFLINE OFFLINE

ora.orastrac.db ora.database.type ONLINE ONLINE node1

[root@node2 ~]#

创建测试数据

[oracle@node2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Tue Jun 2 13:32:34 2015

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

Connected to:

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

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

SQL> show parameter name

NAME TYPE VALUE

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

db_file_name_convert string

db_name string orastrac

db_unique_name string orastrac

global_names boolean FALSE

instance_name string orastrac2

lock_name_space string

log_file_name_convert string

service_names string orastrac

SQL> create table lhr.rac_test as select * from dba_objects;

Table created.

SQL> select count(1) from lhr.rac_test;

COUNT(1)

----------

72469

SQL>

source库执行备份操作

备份脚本如下,注意控制文件需要最后备份,在节点2上执行备份:

run

{

allocate channel c1 type disk;

allocate channel c2 type disk;

backup database format '/home/oracle/rmanback/full%n%T%t%s%p.bak';

sql 'alter system archive log current';

backup archivelog all format '/home/oracle/rmanback/arch%d%T%s_%p.bak' delete input;

backup current controlfile format '/home/oracle/rmanback/ctl%d%T%s_%p.bak';

release channel c1;

release channel c2;

}

执行过程如下:

[oracle@node2 ~]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Tue Jun 2 13:36:21 2015

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

connected to target database: ORASTRAC (DBID=1317814272)

RMAN> list backupset;

using target database control file instead of recovery catalog

specification does not match any backup in the repository

RMAN> run

2> {

3> allocate channel c1 type disk;

4> allocate channel c2 type disk;

5> backup database format '/home/oracle/rmanback/full%n%T%t%s%p.bak';

6> sql 'alter system archive log current';

7> backup archivelog all format '/home/oracle/rmanback/arch%d%T%s_%p.bak' delete input;

8> backup current controlfile format '/home/oracle/rmanback/ctl%d%T%s_%p.bak';

9> release channel c1;

10> release channel c2;

11> }

allocated channel: c1

channel c1: SID=33 instance=orastrac2 device type=DISK

allocated channel: c2

channel c2: SID=51 instance=orastrac2 device type=DISK

Starting backup at 02-JUN-2015 13:36:32

channel c1: starting full datafile backup set

channel c1: specifying datafile(s) in backup set

input datafile file number=00001 name=+DATA/orastrac/datafile/system.330.881251509

input datafile file number=00004 name=+DATA/orastrac/datafile/users.327.881251511

input datafile file number=00006 name=+DATA/orastrac/datafile/undotbs2.351.881252419

channel c1: starting piece 1 at 02-JUN-2015 13:36:33

channel c2: starting full datafile backup set

channel c2: specifying datafile(s) in backup set

input datafile file number=00002 name=+DATA/orastrac/datafile/sysaux.331.881251461

input datafile file number=00005 name=+DATA/orastrac/datafile/example.332.881251463

input datafile file number=00003 name=+DATA/orastrac/datafile/undotbs1.329.881251463

channel c2: starting piece 1 at 02-JUN-2015 13:36:33

channel c1: finished piece 1 at 02-JUN-2015 13:38:38

piece handle=/home/oracle/rman_back/full_ORASTRAC_20150602_881328992_9_1.bak tag=TAG20150602T133632 comment=NONE

channel c1: backup set complete, elapsed time: 00:02:05

channel c1: starting full datafile backup set

channel c1: specifying datafile(s) in backup set

channel c2: finished piece 1 at 02-JUN-2015 13:38:38

piece handle=/home/oracle/rman_back/full_ORASTRAC_20150602_881328993_10_1.bak tag=TAG20150602T133632 comment=NONE

channel c2: backup set complete, elapsed time: 00:02:05

channel c2: starting full datafile backup set

channel c2: specifying datafile(s) in backup set

including current SPFILE in backup set

channel c2: starting piece 1 at 02-JUN-2015 13:38:39

including current control file in backup set

channel c1: starting piece 1 at 02-JUN-2015 13:38:42

channel c2: finished piece 1 at 02-JUN-2015 13:38:42

piece handle=/home/oracle/rman_back/full_ORASTRAC_20150602_881329118_12_1.bak tag=TAG20150602T133632 comment=NONE

channel c2: backup set complete, elapsed time: 00:00:03

channel c1: finished piece 1 at 02-JUN-2015 13:38:43

piece handle=/home/oracle/rman_back/full_ORASTRAC_20150602_881329118_11_1.bak tag=TAG20150602T133632 comment=NONE

channel c1: backup set complete, elapsed time: 00:00:01

Finished backup at 02-JUN-2015 13:38:43

sql statement: alter system archive log current

Starting backup at 02-JUN-2015 13:38:56

current log archived

channel c1: starting archived log backup set

channel c1: specifying archived log(s) in backup set

input archived log thread=1 sequence=1 RECID=5 STAMP=881255375

input archived log thread=2 sequence=1 RECID=4 STAMP=881252641

input archived log thread=1 sequence=2 RECID=7 STAMP=881256606

input archived log thread=3 sequence=1 RECID=6 STAMP=881255612

input archived log thread=2 sequence=2 RECID=8 STAMP=881257349

input archived log thread=1 sequence=3 RECID=9 STAMP=881257704

input archived log thread=2 sequence=3 RECID=12 STAMP=881257709

channel c1: starting piece 1 at 02-JUN-2015 13:39:00

channel c2: starting archived log backup set

channel c2: specifying archived log(s) in backup set

input archived log thread=1 sequence=4 RECID=10 STAMP=881257707

input archived log thread=1 sequence=5 RECID=11 STAMP=881257708

input archived log thread=2 sequence=4 RECID=13 STAMP=881329134

channel c2: starting piece 1 at 02-JUN-2015 13:39:00

channel c2: finished piece 1 at 02-JUN-2015 13:39:01

piece handle=/home/oracle/rman_back/arch_ORASTRAC_20150602_14_1.bak tag=TAG20150602T133859 comment=NONE

channel c2: backup set complete, elapsed time: 00:00:01

channel c2: deleting archived log(s)

archived log file name=+ARCH/orastrac/archivelog/2015_06_01/thread_1_seq_4.366.881257705 RECID=10 STAMP=881257707

archived log file name=+ARCH/orastrac/archivelog/2015_06_01/thread_1_seq_5.368.881257709 RECID=11 STAMP=881257708

archived log file name=+ARCH/orastrac/archivelog/2015_06_02/thread_2_seq_4.360.881329131 RECID=13 STAMP=881329134

channel c2: starting archived log backup set

channel c2: specifying archived log(s) in backup set

input archived log thread=1 sequence=6 RECID=14 STAMP=881329136

input archived log thread=2 sequence=5 RECID=16 STAMP=881329139

input archived log thread=1 sequence=7 RECID=15 STAMP=881329138

channel c2: starting piece 1 at 02-JUN-2015 13:39:03

channel c1: finished piece 1 at 02-JUN-2015 13:39:03

piece handle=/home/oracle/rman_back/arch_ORASTRAC_20150602_13_1.bak tag=TAG20150602T133859 comment=NONE

channel c1: backup set complete, elapsed time: 00:00:03

channel c1: deleting archived log(s)

archived log file name=+ARCH/orastrac/archivelog/2015_06_01/thread_1_seq_1.357.881255367 RECID=5 STAMP=881255375

archived log file name=+ARCH/orastrac/archivelog/2015_06_01/thread_2_seq_1.355.881252641 RECID=4 STAMP=881252641

archived log file name=+ARCH/orastrac/archivelog/2015_06_01/thread_1_seq_2.362.881256605 RECID=7 STAMP=881256606

archived log file name=+ARCH/orastrac/archivelog/2015_06_01/thread_3_seq_1.361.881255613 RECID=6 STAMP=881255612

archived log file name=+ARCH/orastrac/archivelog/2015_06_01/thread_2_seq_2.363.881257349 RECID=8 STAMP=881257349

archived log file name=+ARCH/orastrac/archivelog/2015_06_01/thread_1_seq_3.365.881257705 RECID=9 STAMP=881257704

archived log file name=+ARCH/orastrac/archivelog/2015_06_01/thread_2_seq_3.367.881257709 RECID=12 STAMP=881257709

channel c2: finished piece 1 at 02-JUN-2015 13:39:03

piece handle=/home/oracle/rman_back/arch_ORASTRAC_20150602_15_1.bak tag=TAG20150602T133859 comment=NONE

channel c2: backup set complete, elapsed time: 00:00:00

channel c2: deleting archived log(s)

archived log file name=+ARCH/orastrac/archivelog/2015_06_02/thread_1_seq_6.359.881329131 RECID=14 STAMP=881329136

archived log file name=+ARCH/orastrac/archivelog/2015_06_02/thread_2_seq_5.370.881329139 RECID=16 STAMP=881329139

archived log file name=+ARCH/orastrac/archivelog/2015_06_02/thread_1_seq_7.358.881329137 RECID=15 STAMP=881329138

Finished backup at 02-JUN-2015 13:39:03

Starting backup at 02-JUN-2015 13:39:05

channel c1: starting full datafile backup set

channel c1: specifying datafile(s) in backup set

including current control file in backup set

channel c1: starting piece 1 at 02-JUN-2015 13:39:06

channel c1: finished piece 1 at 02-JUN-2015 13:39:07

piece handle=/home/oracle/rman_back/ctl_ORASTRAC_20150602_16_1.bak tag=TAG20150602T133905 comment=NONE

channel c1: backup set complete, elapsed time: 00:00:01

Finished backup at 02-JUN-2015 13:39:07

released channel: c1

released channel: c2

RMAN>

RMAN> list backupset summary;

List of Backups

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

Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag

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

7 B F A DISK 02-JUN-2015 13:38:30 1 1 NO TAG20150602T133632

8 B F A DISK 02-JUN-2015 13:38:35 1 1 NO TAG20150602T133632

9 B F A DISK 02-JUN-2015 13:38:40 1 1 NO TAG20150602T133632

10 B F A DISK 02-JUN-2015 13:38:42 1 1 NO TAG20150602T133632

11 B A A DISK 02-JUN-2015 13:39:01 1 1 NO TAG20150602T133859

12 B A A DISK 02-JUN-2015 13:39:01 1 1 NO TAG20150602T133859

13 B A A DISK 02-JUN-2015 13:39:03 1 1 NO TAG20150602T133859

14 B F A DISK 02-JUN-2015 13:39:06 1 1 NO TAG20150602T133905

RMAN>

删除spfile、控制文件和数据文件

删除asm文件,毁掉整个数据库:

[root@node2 rman_back]# srvctl stop database -d ORASTRAC

[root@node2 rman_back]# srvctl status database -d ORASTRAC

Instance orastrac1 is not running on node node1

Instance orastrac2 is not running on node node2

[root@node2 rman_back]# su - grid

[grid@node2 ~]$ asmcmd

ASMCMD> cd data

ASMCMD> ls

DB/

DB_UNKNOWN/

JMRAC/

MYRAC/

ORA11G/

ORASTRAC/

ASMCMD> rm -rf ORASTRAC/

ASMCMD> ls

DB/

DB_UNKNOWN/

JMRAC/

MYRAC/

ORA11G/

ASMCMD>

[oracle@node2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Tue Jun 2 13:55:46 2015

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

Connected to an idle instance.

SQL> startup

ORA-01078: failure in processing system parameters

ORA-01565: error in identifying file '+DATA/orastrac/parameterfile/spfile.335.881250575'

ORA-17503: ksfdopn:2 Failed to open file +DATA/orastrac/parameterfile/spfile.335.881250575

ORA-15056: additional error message

ORA-17503: ksfdopn:DGOpenFile05 Failed to open file +DATA/orastrac/parameterfile/spfile.335.881250575

ORA-17503: ksfdopn:2 Failed to open file +DATA/orastrac/parameterfile/spfile.335.881250575

ORA-15173: entry 'orastrac' does not exist in directory '/'

ORA-06512: at line 4

SQL>

恢复数据库过程

恢复spfile

首先利用rman恢复spfile:

[oracle@node2 ~]$ ORACLE_SID=orastrac2

[oracle@node2 dbs]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Tue Jun 2 14:15:52 2015

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

connected to target database (not started)

RMAN> set dbid 1317814272

executing command: SET DBID

RMAN> startup nomount;

startup failed: ORA-01078: failure in processing system parameters

ORA-01565: error in identifying file '+DATA/orastrac/parameterfile/spfile.335.881250575'

ORA-17503: ksfdopn:2 Failed to open file +DATA/orastrac/parameterfile/spfile.335.881250575

ORA-15056: additional error message

ORA-17503: ksfdopn:DGOpenFile05 Failed to open file +DATA/orastrac/parameterfile/spfile.335.881250575

ORA-17503: ksfdopn:2 Failed to open file +DATA/orastrac/parameterfile/spfile.335.881250575

ORA-15173: entry 'orastrac' does not exist in directory '/'

ORA-06512: at line 4

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 96469384 bytes

Database Buffers 54525952 bytes

Redo Buffers 5455872 bytes

RMAN> restore spfile to '+DATA/orastrac/parameterfile/spfileorastrac.ora' from '/home/oracle/rman_back/full_ORASTRAC_20150602_881329118_12_1.bak';

Starting restore at 02-JUN-2015 14:16:47

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=24 device type=DISK

channel ORA_DISK_1: restoring spfile from AUTOBACKUP /home/oracle/rman_back/full_ORASTRAC_20150602_881329118_12_1.bak

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of restore command at 06/02/2015 14:16:49

ORA-19870: error while restoring backup piece /home/oracle/rman_back/full_ORASTRAC_20150602_881329118_12_1.bak

ORA-32015: unable to restore SPFILE

ORA-17502: ksfdcre:4 Failed to create file +DATA/orastrac/parameterfile/spfileorastrac.ora

ORA-15056: additional error message

ORA-17502: ksfdcre:4 Failed to create file +DATA/orastrac/parameterfile/spfileorastrac.ora

ORA-15173: entry 'orastrac' does not exist in directory '/'

创建相关路径后继续执行:

ASMCMD> mkdir orastrac

ASMCMD> cd orastrac

ASMCMD> mkdir parameterfile

ASMCMD> pwd

+data/orastrac

ASMCMD> cd parameterfile

RMAN> restore spfile to '+DATA/orastrac/parameterfile/spfileorastrac.ora' from '/home/oracle/rman_back/full_ORASTRAC_20150602_881329118_12_1.bak';

Starting restore at 02-JUN-2015 14:18:07

using channel ORA_DISK_1

channel ORA_DISK_1: restoring spfile from AUTOBACKUP /home/oracle/rman_back/full_ORASTRAC_20150602_881329118_12_1.bak

channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete

Finished restore at 02-JUN-2015 14:18:08

RMAN>

查看spfile:

ASMCMD> ls

spfileorastrac.ora

ASMCMD>

修改pfile文件后重启数据库:

[oracle@node2 dbs]$ more initorastrac2.ora

SPFILE='+DATA/orastrac/parameterfile/spfileorastrac.ora'

[oracle@node2 dbs]$

[oracle@node2 dbs]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Tue Jun 2 14:21:18 2015

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

connected to target database: DUMMY (not mounted)

RMAN> shutdown abort;

using target database control file instead of recovery catalog

Oracle instance shut down

RMAN> startup nomount;

connected to target database (not started)

Oracle instance started

Total System Global Area 409194496 bytes

Fixed Size 2213856 bytes

Variable Size 360712224 bytes

Database Buffers 41943040 bytes

Redo Buffers 4325376 bytes

RMAN>

恢复控制文件

[oracle@node2 dbs]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Tue Jun 2 14:22:52 2015

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

connected to target database: ORASTRAC (not mounted)

RMAN> startup nomount force;

Oracle instance started

Total System Global Area 409194496 bytes

Fixed Size 2213856 bytes

Variable Size 360712224 bytes

Database Buffers 41943040 bytes

Redo Buffers 4325376 bytes

RMAN> restore controlfile from '/home/oracle/rman_back/ctl_ORASTRAC_20150602_16_1.bak';

Starting restore at 02-JUN-2015 14:23:30

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=33 instance=orastrac2 device type=DISK

channel ORA_DISK_1: restoring control file

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

output file name=+DATA/orastrac/controlfile/control01.ctl

output file name=+DATA/orastrac/controlfile/current.329.881331811

output file name=+ARCH/orastrac/controlfile/current.364.881257391

Finished restore at 02-JUN-2015 14:23:32

RMAN>

RMAN> alter database mount;

database mounted

released channel: ORA_DISK_1

RMAN>

还原及恢复数据文件

查看备份集及还原数据库:

RMAN> list backupset;

List of Backup Sets

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

BS Key Type LV Size Device Type Elapsed Time Completion Time

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

7 Full 440.72M DISK 00:01:57 02-JUN-2015 13:38:30

BP Key: 7 Status: AVAILABLE Compressed: NO Tag: TAG20150602T133632

Piece Name: /home/oracle/rman_back/full_ORASTRAC_20150602_881328993_10_1.bak

List of Datafiles in backup set 7

File LV Type Ckp SCN Ckp Time Name

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

2 Full 1079018 02-JUN-2015 13:36:33 +DATA/orastrac/datafile/sysaux.331.881251461

3 Full 1079018 02-JUN-2015 13:36:33 +DATA/orastrac/datafile/undotbs1.329.881251463

5 Full 1079018 02-JUN-2015 13:36:33 +DATA/orastrac/datafile/example.332.881251463

BS Key Type LV Size Device Type Elapsed Time Completion Time

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

8 Full 610.17M DISK 00:02:03 02-JUN-2015 13:38:35

BP Key: 8 Status: AVAILABLE Compressed: NO Tag: TAG20150602T133632

Piece Name: /home/oracle/rman_back/full_ORASTRAC_20150602_881328992_9_1.bak

List of Datafiles in backup set 8

File LV Type Ckp SCN Ckp Time Name

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

1 Full 1078985 02-JUN-2015 13:36:33 +DATA/orastrac/datafile/system.330.881251509

4 Full 1078985 02-JUN-2015 13:36:33 +DATA/orastrac/datafile/users.327.881251511

6 Full 1078985 02-JUN-2015 13:36:33 +DATA/orastrac/datafile/undotbs2.351.881252419

BS Key Type LV Size Device Type Elapsed Time Completion Time

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

9 Full 80.00K DISK 00:00:02 02-JUN-2015 13:38:40

BP Key: 9 Status: AVAILABLE Compressed: NO Tag: TAG20150602T133632

Piece Name: /home/oracle/rman_back/full_ORASTRAC_20150602_881329118_12_1.bak

SPFILE Included: Modification time: 02-JUN-2015 11:16:55

SPFILE db_unique_name: ORASTRAC

BS Key Type LV Size Device Type Elapsed Time Completion Time

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

10 Full 9.33M DISK 00:00:04 02-JUN-2015 13:38:42

BP Key: 10 Status: AVAILABLE Compressed: NO Tag: TAG20150602T133632

Piece Name: /home/oracle/rman_back/full_ORASTRAC_20150602_881329118_11_1.bak

Control File Included: Ckp SCN: 1079103 Ckp time: 02-JUN-2015 13:38:38

BS Key Size Device Type Elapsed Time Completion Time

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

11 15.97M DISK 00:00:01 02-JUN-2015 13:39:01

BP Key: 11 Status: AVAILABLE Compressed: NO Tag: TAG20150602T133859

Piece Name: /home/oracle/rman_back/arch_ORASTRAC_20150602_14_1.bak

List of Archived Logs in backup set 11

Thrd Seq Low SCN Low Time Next SCN Next Time

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

1 4 1057778 01-JUN-2015 17:48:24 1057780 01-JUN-2015 17:48:24

1 5 1057780 01-JUN-2015 17:48:24 1057786 01-JUN-2015 17:48:25

2 4 1057893 01-JUN-2015 17:48:27 1079126 02-JUN-2015 13:38:49

BS Key Size Device Type Elapsed Time Completion Time

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

12 6.78M DISK 00:00:01 02-JUN-2015 13:39:01

BP Key: 12 Status: AVAILABLE Compressed: NO Tag: TAG20150602T133859

Piece Name: /home/oracle/rman_back/arch_ORASTRAC_20150602_13_1.bak

List of Archived Logs in backup set 12

Thrd Seq Low SCN Low Time Next SCN Next Time

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

1 1 1027357 01-JUN-2015 16:09:51 1049321 01-JUN-2015 17:09:25

1 2 1049321 01-JUN-2015 17:09:25 1056322 01-JUN-2015 17:30:05

1 3 1056520 01-JUN-2015 17:30:48 1057778 01-JUN-2015 17:48:24

2 1 1028434 01-JUN-2015 16:23:50 1028446 01-JUN-2015 16:24:01

2 2 1049792 01-JUN-2015 17:15:06 1057412 01-JUN-2015 17:42:28

2 3 1057776 01-JUN-2015 17:48:24 1057893 01-JUN-2015 17:48:27

3 1 1049702 01-JUN-2015 17:13:10 1049717 01-JUN-2015 17:13:32

BS Key Size Device Type Elapsed Time Completion Time

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

13 5.05M DISK 00:00:00 02-JUN-2015 13:39:03

BP Key: 13 Status: AVAILABLE Compressed: NO Tag: TAG20150602T133859

Piece Name: /home/oracle/rman_back/arch_ORASTRAC_20150602_15_1.bak

List of Archived Logs in backup set 13

Thrd Seq Low SCN Low Time Next SCN Next Time

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

1 6 1060589 02-JUN-2015 10:16:25 1079130 02-JUN-2015 13:38:49

1 7 1079130 02-JUN-2015 13:38:49 1079140 02-JUN-2015 13:38:56

2 5 1079126 02-JUN-2015 13:38:49 1079144 02-JUN-2015 13:38:58

RMAN> restore database;

Starting restore at 02-JUN-2015 14:25:59

Starting implicit crosscheck backup at 02-JUN-2015 14:25:59

allocated channel: ORA_DISK_1

Crosschecked 7 objects

Finished implicit crosscheck backup at 02-JUN-2015 14:25:59

Starting implicit crosscheck copy at 02-JUN-2015 14:25:59

using channel ORA_DISK_1

Finished implicit crosscheck copy at 02-JUN-2015 14:26:00

searching for all files in the recovery area

cataloging files...

cataloging done

List of Cataloged Files

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

File Name: +arch/ORASTRAC/CONTROLFILE/current.369.881258379

File Name: +arch/ORASTRAC/ARCHIVELOG/2015_06_02/thread_2_seq_6.358.881329829

File Name: +arch/ORASTRAC/ARCHIVELOG/2015_06_02/thread_1_seq_8.370.881329829

File Name: +arch/ORASTRAC/ARCHIVELOG/2015_06_02/thread_2_seq_7.359.881329831

using channel ORA_DISK_1

channel 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 00002 to +DATA/orastrac/datafile/sysaux.331.881251461

channel ORA_DISK_1: restoring datafile 00003 to +DATA/orastrac/datafile/undotbs1.329.881251463

channel ORA_DISK_1: restoring datafile 00005 to +DATA/orastrac/datafile/example.332.881251463

channel ORA_DISK_1: reading from backup piece /home/oracle/rman_back/full_ORASTRAC_20150602_881328993_10_1.bak

channel ORA_DISK_1: piece handle=/home/oracle/rman_back/full_ORASTRAC_20150602_881328993_10_1.bak tag=TAG20150602T133632

channel ORA_DISK_1: restored backup piece 1

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

channel 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 +DATA/orastrac/datafile/system.330.881251509

channel ORA_DISK_1: restoring datafile 00004 to +DATA/orastrac/datafile/users.327.881251511

channel ORA_DISK_1: restoring datafile 00006 to +DATA/orastrac/datafile/undotbs2.351.881252419

channel ORA_DISK_1: reading from backup piece /home/oracle/rman_back/full_ORASTRAC_20150602_881328992_9_1.bak

channel ORA_DISK_1: piece handle=/home/oracle/rman_back/full_ORASTRAC_20150602_881328992_9_1.bak tag=TAG20150602T133632

channel ORA_DISK_1: restored backup piece 1

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

Finished restore at 02-JUN-2015 14:27:31

RMAN> RUN

2> {

3> set until sequence 7 thread 1;

set until sequence 5 thread 2;

recover database;

4> 5> 6> }

executing command: SET until clause

executing command: SET until clause

Starting recover at 02-JUN-2015 14:28:42

using channel ORA_DISK_1

starting media recovery

channel ORA_DISK_1: starting archived log restore to default destination

channel ORA_DISK_1: restoring archived log

archived log thread=2 sequence=4

channel ORA_DISK_1: reading from backup piece /home/oracle/rman_back/arch_ORASTRAC_20150602_14_1.bak

channel ORA_DISK_1: piece handle=/home/oracle/rman_back/arch_ORASTRAC_20150602_14_1.bak tag=TAG20150602T133859

channel ORA_DISK_1: restored backup piece 1

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

archived log file name=+ARCH/orastrac/archivelog/2015_06_02/thread_2_seq_4.367.881332133 thread=2 sequence=4

channel ORA_DISK_1: starting archived log restore to default destination

channel ORA_DISK_1: restoring archived log

archived log thread=1 sequence=6

channel ORA_DISK_1: reading from backup piece /home/oracle/rman_back/arch_ORASTRAC_20150602_15_1.bak

channel ORA_DISK_1: piece handle=/home/oracle/rman_back/arch_ORASTRAC_20150602_15_1.bak tag=TAG20150602T133859

channel ORA_DISK_1: restored backup piece 1

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

archived log file name=+ARCH/orastrac/archivelog/2015_06_02/thread_1_seq_6.365.881332137 thread=1 sequence=6

channel default: deleting archived log(s)

archived log file name=+ARCH/orastrac/archivelog/2015_06_02/thread_2_seq_4.367.881332133 RECID=26 STAMP=881332134

channel default: deleting archived log(s)

archived log file name=+ARCH/orastrac/archivelog/2015_06_02/thread_1_seq_6.365.881332137 RECID=27 STAMP=881332137

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

Finished recover at 02-JUN-2015 14:28:58

RMAN>

告警日志:

Tue Jun 02 14:26:14 2015

Full restore complete of datafile 5 +DATA/orastrac/datafile/example.331.881331961. Elapsed time: 0:00:13

checkpoint is 1079018

last deallocation scn is 965277

Full restore complete of datafile 3 +DATA/orastrac/datafile/undotbs1.353.881331961. Elapsed time: 0:00:13

checkpoint is 1079018

last deallocation scn is 1075330

Undo Optimization current scn is 1074104

Tue Jun 02 14:26:40 2015

Full restore complete of datafile 2 +DATA/orastrac/datafile/sysaux.332.881331961. Elapsed time: 0:00:39

checkpoint is 1079018

last deallocation scn is 1026156

Tue Jun 02 14:26:50 2015

Full restore complete of datafile 6 +DATA/orastrac/datafile/undotbs2.335.881332007. Elapsed time: 0:00:04

checkpoint is 1078985

Undo Optimization current scn is 1074104

Full restore complete of datafile 4 +DATA/orastrac/datafile/users.357.881332007. Elapsed time: 0:00:05

checkpoint is 1078985

Tue Jun 02 14:27:28 2015

Full restore complete of datafile 1 +DATA/orastrac/datafile/system.334.881332007. Elapsed time: 0:00:41

checkpoint is 1078985

last deallocation scn is 1025383

Undo Optimization current scn is 1074104

Tue Jun 02 14:28:47 2015

alter database recover datafile list clear

Completed: alter database recover datafile list clear

alter database recover datafile list

1 , 2 , 3 , 4 , 5 , 6

Completed: alter database recover datafile list

1 , 2 , 3 , 4 , 5 , 6

alter database recover if needed

start until cancel using backup controlfile

Media Recovery Start

Serial Media Recovery started

ORA-279 signalled during: alter database recover if needed

start until cancel using backup controlfile

...

alter database recover logfile '+ARCH/orastrac/archivelog/2015_06_02/thread_2_seq_4.367.881332133'

Media Recovery Log +ARCH/orastrac/archivelog/2015_06_02/thread_2_seq_4.367.881332133

ORA-279 signalled during: alter database recover logfile '+ARCH/orastrac/archivelog/2015_06_02/thread_2_seq_4.367.881332133'...

Tue Jun 02 14:28:58 2015

alter database recover logfile '+ARCH/orastrac/archivelog/2015_06_02/thread_1_seq_6.365.881332137'

Media Recovery Log +ARCH/orastrac/archivelog/2015_06_02/thread_1_seq_6.365.881332137

ORA-279 signalled during: alter database recover logfile '+ARCH/orastrac/archivelog/2015_06_02/thread_1_seq_6.365.881332137'...

alter database recover cancel

Media Recovery Canceled

Completed: alter database recover cancel

RESETLOGS打开数据库并验证数据

RMAN> alter database open resetlogs;

database opened

RMAN>

RMAN> exit

Recovery Manager complete.

[oracle@node2 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Tue Jun 2 14:32:25 2015

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

Connected to:

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

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

SQL> select count(1) from lhr.rac_test;

COUNT(1)

----------

72469

SQL>

SQL> set line 9999

SQL> col HOST_NAME format a10

SQL> select INSTANCE_NAME,HOST_NAME,VERSION,STARTUP_TIME,STATUS,ACTIVE_STATE,INSTANCE_ROLE,DATABASE_STATUS from gv$INSTANCE;

INSTANCE_NAME HOST_NAME VERSION STARTUP_TIME STATUS ACTIVE_ST INSTANCE_ROLE DATABASE_STATUS

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

orastrac2 node2 11.2.0.1.0 2015-06-02 14:22:55 OPEN NORMAL PRIMARY_INSTANCE ACTIVE

SQL> select INST_ID,name , open_mode, log_mode,force_logging from gv$database;

INST_ID NAME OPEN_MODE LOG_MODE FOR

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

2 ORASTRAC READ WRITE ARCHIVELOG NO

SQL>

告警日志:

Tue Jun 02 14:30:03 2015

alter database open resetlogs

Archived Log entry 28 added for thread 1 sequence 7 ID 0x4e8bbda6 dest 1:

Expanded controlfile section 11 from 28 to 172 records

Requested to grow by 144 records; added 6 blocks of records

Archived Log entry 29 added for thread 1 sequence 8 ID 0x4e8bbda6 dest 1:

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

ARCH: Archiving disabled thread 2 sequence 7

Archived Log entry 31 added for thread 2 sequence 7 ID 0x4e8bbda6 dest 1:

Archived Log entry 32 added for thread 2 sequence 5 ID 0x4e8bbda6 dest 1:

Archived Log entry 33 added for thread 2 sequence 6 ID 0x4e8bbda6 dest 1:

RESETLOGS after incomplete recovery UNTIL CHANGE 1079126

Resetting resetlogs activation ID 1317780902 (0x4e8bbda6)

Tue Jun 02 14:30:16 2015

Setting recovery target incarnation to 4

Tue Jun 02 14:30:16 2015

This instance was first to open

Picked broadcast on commit scheme to generate SCNs

Tue Jun 02 14:30:17 2015

Assigning activation ID 1317937735 (0x4e8e2247)

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

LGWR: STARTING ARCH PROCESSES

Tue Jun 02 14:30:17 2015

ARC0 started with pid=36, OS id=24160

ARC0: Archival started

LGWR: STARTING ARCH PROCESSES COMPLETE

ARC0: STARTING ARCH PROCESSES

Tue Jun 02 14:30:18 2015

ARC1 started with pid=37, OS id=24164

Tue Jun 02 14:30:18 2015

ARC2 started with pid=38, OS id=24168

ARC1: Archival started

ARC2: Archival started

ARC1: Becoming the 'no FAL' ARCH

ARC1: Becoming the 'no SRL' ARCH

Tue Jun 02 14:30:18 2015

ARC3 started with pid=39, OS id=24172

ARC2: Becoming the heartbeat ARCH

Thread 2 opened at log sequence 1

Current log# 4 seq# 1 mem# 0: +ARCH/orastrac/onlinelog/group_4.352.881252545

Successful open of redo thread 2

MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set

Tue Jun 02 14:30:18 2015

SMON: enabling cache recovery

Instance recovery: looking for dead threads

Instance recovery: lock domain invalid but no dead threads

ARC3: Archival started

ARC0: STARTING ARCH PROCESSES COMPLETE

Redo thread 1 internally disabled at seq 1 (CKPT)

ARC3: Archiving disabled thread 1 sequence 1

Archived Log entry 34 added for thread 1 sequence 1 ID 0x0 dest 1:

Successfully onlined Undo Tablespace 5.

Dictionary check beginning

Tue Jun 02 14:30:22 2015

Errors in file /u01/app/oracle/diag/rdbms/orastrac/orastrac2/trace/orastrac2_dbw0_23597.trc:

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

ORA-01110: data file 201: '+DATA/orastrac/tempfile/temp.333.881251803'

ORA-17503: ksfdopn:2 Failed to open file +DATA/orastrac/tempfile/temp.333.881251803

ORA-15012: ASM file '+DATA/orastrac/tempfile/temp.333.881251803' does not exist

Errors in file /u01/app/oracle/diag/rdbms/orastrac/orastrac2/trace/orastrac2_dbw0_23597.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: '+DATA/orastrac/tempfile/temp.333.881251803'

File 201 not verified due to error ORA-01157

Dictionary check complete

Verifying file header compatibility for 11g tablespace encryption..

Verifying 11g file header compatibility for tablespace encryption completed

SMON: enabling tx recovery

Re-creating tempfile +DATA/orastrac/tempfile/temp.333.881251803 as +DATA/orastrac/tempfile/temp.313.881332223

Database Characterset is ZHS16GBK

No Resource Manager plan active

Starting background process GTX0

Tue Jun 02 14:30:23 2015

GTX0 started with pid=40, OS id=24179

Starting background process RCBG

Tue Jun 02 14:30:23 2015

RCBG started with pid=41, OS id=24183

replication_dependency_tracking turned off (no async multimaster replication found)

Tue Jun 02 14:30:27 2015

Starting background process QMNC

Tue Jun 02 14:30:27 2015

QMNC started with pid=42, OS id=24187

LOGSTDBY: Validating controlfile with logical metadata

LOGSTDBY: Validation complete

Tue Jun 02 14:30:48 2015

Completed: alter database open resetlogs

Tue Jun 02 14:30:50 2015

db_recovery_file_dest_size of 3882 MB is 4.43% used. This is a

user-specified limit on the amount of space that will be used by this

database for recovery-related files, and does not reflect the amount of

space available in the underlying filesystem or ASM diskgroup.

Tue Jun 02 14:30:51 2015

Starting background process CJQ0

Tue Jun 02 14:30:51 2015

CJQ0 started with pid=48, OS id=24265

可以看到数据已经恢复,但是实例只启动了一个,我们来启动第二个实例:

修复另一个节点的pfile

[oracle@node1 dbs]$ more initorastrac1.ora

SPFILE='+DATA/orastrac/parameterfile/spfileorastrac.ora'

[oracle@node1 dbs]$

[oracle@node1 dbs]$ srvctl modify database -d orastrac -p +DATA/orastrac/parameterfile/spfileorastrac.ora

[oracle@node1 dbs]$ srvctl start database -d orastrac

[oracle@node1 dbs]$

[oracle@node1 dbs]$ srvctl status database -d orastrac

Instance orastrac1 is running on node node1

Instance orastrac2 is running on node node2

[oracle@node1 dbs]$

[oracle@node2 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Tue Jun 2 14:45:43 2015

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

Connected to:

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

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

SQL> set line 9999

SQL> col HOST_NAME format a10

SQL> select INSTANCE_NAME,HOST_NAME,VERSION,STARTUP_TIME,STATUS,ACTIVE_STATE,INSTANCE_ROLE,DATABASE_STATUS from gv$INSTANCE;

INSTANCE_NAME HOST_NAME VERSION STARTUP_TIME STATUS ACTIVE_ST INSTANCE_ROLE DATABASE_STATUS

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

orastrac2 node2 11.2.0.1.0 2015-06-02 14:44:30 OPEN NORMAL PRIMARY_INSTANCE ACTIVE

orastrac1 node1 11.2.0.1.0 2015-06-02 14:44:33 OPEN NORMAL PRIMARY_INSTANCE ACTIVE

SQL> select INST_ID,name , open_mode, log_mode,force_logging from gv$database;

INST_ID NAME OPEN_MODE LOG_MODE FOR

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

1 ORASTRAC READ WRITE ARCHIVELOG NO

2 ORASTRAC READ WRITE ARCHIVELOG NO

SQL>

实验总结

采用asm来存储的rac环境下的数据库备份和还原与单实例下os文件系统的备份和还原基本一样,不同的是recover的时候,需要设置2个thread。

总结

到此所有的处理算是基本完毕,过程很简单,但是不同的场景处理方式有很多种,我们应该学会灵活变通。

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

9 + 6 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部