【RAC】将单实例备份集恢复为rac数据库

时间:2023-01-03 12:30:16

【RAC】将单实例备份集恢复为rac数据库

一.1  BLOG文档结构图

【RAC】将单实例备份集恢复为rac数据库

一.2  前言部分

一.2.1  导读

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

① 单实例环境的备份集如何恢复到rac环境(重点)

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

③ rac环境的简单操作

注意:本篇BLOG中代码部分需要特别关注的地方我都用黄色背景和红色字体来表示,比如下边的例子中,thread 1的最大归档日志号为33,thread 2的最大归档日志号为43是需要特别关注的地方。

List of Archived Logs in backup set 11

Thrd Seq     Low SCN    Low Time            Next SCN   Next Time

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

1    32      1621589    2015-05-29 11:09:52 1625242    2015-05-29 11:15:48

1    33      1625242    2015-05-29 11:15:48 1625293    2015-05-29 11:15:58

2    42      1613951    2015-05-29 10:41:18 1625245    2015-05-29 11:15:49

2    43      1625245    2015-05-29 11:15:49 1625253    2015-05-29 11:15:53

本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力。

 

一.2.2  实验环境介绍

源库:11.2.0.1   RHEL6.5 单实例

目标库:11.2.0.1  RHEL6.5  rac环境

一.2.3  相关参考文章链接

rac安装系列:

【推荐】 一步一步搭建11gR2 rac+dg之结尾篇(十)

http://blog.itpub.net/26736162/viewspace-1328156/

【推荐】 一步一步搭建11gR2 rac+dg之DG SWITCHOVER功能(九)

http://blog.itpub.net/26736162/viewspace-1328050/

一步一步搭建11gR2 rac+dg之配置单实例的DG(八)

http://blog.itpub.net/26736162/viewspace-1298735/

一步一步搭建11gR2 rac+dg之DG 机器配置(七)

http://blog.itpub.net/26736162/viewspace-1298733/

一步一步搭建11gR2 rac+dg之安装rac出现问题解决(六)

http://blog.itpub.net/26736162/viewspace-1297128/

一步一步搭建oracle 11gR2 rac+dg之database安装(五)

http://blog.itpub.net/26736162/viewspace-1297113/

一步一步搭建 oracle 11gR2 rac+dg之grid安装(四)

http://blog.itpub.net/26736162/viewspace-1297101/

【推荐】 一步一步搭建oracle 11gR2 rac+dg之共享磁盘设置(三)

http://blog.itpub.net/26736162/viewspace-1291144/

【推荐】 一步一步搭建oracle 11gR2 rac+dg之环境准备(二)

http://blog.itpub.net/26736162/viewspace-1290416/

【推荐】 一步一步搭建 oracle 11gR2 rac + dg 之前传 (一)

http://blog.itpub.net/26736162/viewspace-1290405/

一.2.4  本文简介

本文基于如何将单实例的数据库备份恢复到rac环境下,至于rac环境的备份集如何恢复到单实例及rac环境的备份集恢复到rac环境的实验请参考相关文章链接部分。

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

项目

source db

target  db

db 类型

单实例

rac环境

db version

11.2.0.1

11.2.0.1

ORACLE_SID

orastrac

orastrac1 和 orastrac2

db_name

orastrac

orastrac

主机IP地址:

192.168.59.129

192.168.1.31

192.168.1.32

先描述下大致步骤:

� 源端创建备份集;

� 目标端安装数据库软件和集群件,并配置好共享存储(安装rac的时候一般已经配置好了);

� 复制源端备份集到目标端;

� 目录端任意节点执行正常恢复,恢复时注意要将 spfile,controlfile,datafile,redofile 等路径改到共享存储上,恢复完后这会儿仍然是个单实例数据库;

� 修改初始化参数、增加 UNDO 表空间、增加 REDOLOG 线程组,重建密钥文件,目标端任意节点执行;

� 目标端各个节点配置监听及网络服务名;

� 将新建的数据库配置到 crs,目标端任意节点执行即可。

一.3  实验部分

一.3.1  实验目标

将单实例的备份集成功的恢复到rac环境下,并添加数据库到crs环境。

一.3.2  源库操作

source库上需要做的操作主要是备份和创建测试用户。

一.3.2.1  静默创建一个单实例的测试库

首先修改归档模式,这样创建的数据库默认为归档模式,然后我们在源库上静默创建一个单实例的库,sid为orastrac,为oracle single instance to rac,关于静默安装数据库参考:

静默安装系列

【推荐】 【DBCA -SILENT】静默方式安装11gR2 oracle数据库软件

http://blog.itpub.net/26736162/viewspace-1589769/

【推荐】 【DBCA -SILENT】静默安装之rac数据库安装

http://blog.itpub.net/26736162/viewspace-1586352/

【推荐】 【DBCA -SILENT】静默安装如何启用归档模式

http://blog.itpub.net/26736162/viewspace-1585925/

【推荐】  DBCA静默方式建库

http://blog.itpub.net/26736162/viewspace-1448220/

[oracle@orcltest ~]$ echo $ORACLE_HOME

/u01/app/oracle/product/11.2.0/dbhome_1

[oracle@orcltest ~]$ sqlplus -v

SQL*Plus: Release 11.2.0.1.0 Production

[oracle@orcltest ~]$ strings $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc | grep -i arch

<archiveLogMode>false</archiveLogMode>

[oracle@orcltest ~]$ vi $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc

<?xml version = '1.0'?>

<DatabaseTemplate name="General_Purpose" description="" version="11.1.0.0.0">

<CommonAttributes>

<option name="OMS" value="false"/>

<option name="JSERVER" value="true"/>

<option name="SPATIAL" value="true"/>

<option name="IMEDIA" value="true"/>

<option name="XDB_PROTOCOLS" value="true">

<tablespace id="SYSAUX"/>

</option>

<option name="ORACLE_TEXT" value="true">

<tablespace id="SYSAUX"/>

</option>

<option name="SAMPLE_SCHEMA" value="false"/>

<option name="CWMLITE" value="true">

<tablespace id="SYSAUX"/>

</option>

<option name="EM_REPOSITORY" value="true">

<tablespace id="SYSAUX"/>

</option>

<option name="APEX" value="true"/>

<option name="OWB" value="true"/>

<option name="DV" value="false"/>

</CommonAttributes>

<Variables/>

<CustomScripts Execute="false"/>

<InitParamAttributes>

<InitParams>

<initParam name="db_name" value=""/>

<initParam name="dispatchers" value="(PROTOCOL=TCP) (SERVICE={SID}XDB)"/>

<initParam name="audit_file_dest" value="{ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump"/>

<initParam name="compatible" value="11.2.0.0.0"/>

<initParam name="remote_login_passwordfile" value="EXCLUSIVE"/>

<initParam name="processes" value="150"/>

<initParam name="undo_tablespace" value="UNDOTBS1"/>

<initParam name="control_files" value="("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/flash_recovery_area/{DB_UNIQUE_NAME}/control02.ctl")"/>

<initParam name="diagnostic_dest" value="{ORACLE_BASE}"/>

<initParam name="db_recovery_file_dest" value="{ORACLE_BASE}/flash_recovery_area"/>

<initParam name="audit_trail" value="db"/>

<initParam name="memory_target" value="250" unit="MB"/>

<initParam name="db_block_size" value="8" unit="KB"/>

<initParam name="open_cursors" value="300"/>

<initParam name="db_recovery_file_dest_size" value="" unit="MB"/>

</InitParams>

<MiscParams>

<databaseType>MULTIPURPOSE</databaseType>

<maxUserConn>20</maxUserConn>

<percentageMemTOSGA>40</percentageMemTOSGA>

<customSGA>false</customSGA>

<archiveLogMode>true</archiveLogMode>

<initParamFileName>{ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/pfile/init.ora</initParamFileName>

</MiscParams>

<SPfile useSPFile="true">{ORACLE_HOME}/dbs/spfile{SID}.ora</SPfile>

</InitParamAttributes>

<StorageAttributes>

<DataFiles>

"/u01/app/oracle/product/11.2.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc" 95L, 4985C written

[oracle@orcltest ~]$ strings $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc | grep -i arch

<archiveLogMode>true</archiveLogMode>

[oracle@orcltest ~]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orastrac -sid orastrac -sysPassword lhr -systemPassword lhr -responseFile NO_VALUE -datafileDestination /u01/app/oracle/oradata -redoLogFileSize 50 -recoveryAreaDestination /u01/app/oracle/flash_recovery_area -storageType FS -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16 -sampleSchema true -memoryPercentage 30 -totalMemory 200 -databaseType OLTP -emConfiguration NONE  -automaticMemoryManagement true

Copying database files

1% complete

3% complete

10% complete

17% complete

24% complete

35% complete

Creating and starting Oracle instance

37% complete

42% complete

47% complete

52% complete

53% complete

56% complete

58% complete

Registering database with Oracle Restart

64% complete

Completing Database Creation

68% complete

71% complete

75% complete

85% complete

86% complete

96% complete

100% complete

Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/orastrac/orastrac.log" for further details.

[oracle@orcltest ~]$

[oracle@orcltest ~]$ ORACLE_SID=orastrac

[oracle@orcltest ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 1 11:09:02 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, 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      orastrac

lock_name_space                      string

log_file_name_convert                string

service_names                        string      orastrac

SQL> create user lhr identified by lhr;

User created.

SQL> grant dba to lhr;

Grant succeeded.

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

Table created.

SQL> select count(1) FROM LHR.TEST_RAC;

COUNT(1)

----------

72468

SQL>

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     3

Next log sequence to archive   5

Current log sequence           5

SQL>

SQL> show parameter spfile

NAME                                 TYPE        VALUE

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

spfile                               string      /u01/app/oracle/product/11.2.0

/dbhome_1/dbs/spfileorastrac.o

ra

SQL>

一.3.2.2  source库执行备份操作

备份脚本如下,注意控制文件需要最后备份:

run

{

allocate channel c1 type disk;

allocate channel c2 type disk;

backup database format  '/home/oracle/rman_back/full_%n_%T_%t_%s_%p.bak';

sql 'alter system archive log current';

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

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

release channel c1;

release channel c2;

}

执行过程如下:

[oracle@orcltest ~]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Mon Jun 1 11:12:15 2015

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

connected to target database: ORASTRAC (DBID=1317814272)

RMAN> run

2> {

3>  allocate channel c1 type disk;

4>  allocate channel c2 type disk;

5>  backup database format  '/home/oracle/rman_back/full_%n_%T_%t_%s_%p.bak';

6>  sql 'alter system archive log current';

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

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

9>  release channel c1;

10>  release channel c2;

11> }

using target database control file instead of recovery catalog

allocated channel: c1

channel c1: SID=142 device type=DISK

allocated channel: c2

channel c2: SID=20 device type=DISK

Starting backup at 2015-06-01 11:12:28

channel c1: starting full datafile backup set

channel c1: specifying datafile(s) in backup set

input datafile file number=00001 name=/u01/app/oracle/oradata/orastrac/system01.dbf

input datafile file number=00004 name=/u01/app/oracle/oradata/orastrac/users01.dbf

channel c1: starting piece 1 at 2015-06-01 11:12:29

channel c2: starting full datafile backup set

channel c2: specifying datafile(s) in backup set

input datafile file number=00002 name=/u01/app/oracle/oradata/orastrac/sysaux01.dbf

input datafile file number=00005 name=/u01/app/oracle/oradata/orastrac/example01.dbf

input datafile file number=00003 name=/u01/app/oracle/oradata/orastrac/undotbs01.dbf

channel c2: starting piece 1 at 2015-06-01 11:12:29

channel c2: finished piece 1 at 2015-06-01 11:15:26

piece handle=/home/oracle/rman_back/full_ORASTRAC_20150601_881233949_2_1.bak tag=TAG20150601T111228 comment=NONE

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

channel c2: starting full datafile backup set

channel c2: specifying datafile(s) in backup set

including current control file in backup set

channel c2: starting piece 1 at 2015-06-01 11:15:48

channel c2: finished piece 1 at 2015-06-01 11:15:49

piece handle=/home/oracle/rman_back/full_ORASTRAC_20150601_881234138_3_1.bak tag=TAG20150601T111228 comment=NONE

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

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 2015-06-01 11:15:50

channel c2: finished piece 1 at 2015-06-01 11:15:51

piece handle=/home/oracle/rman_back/full_ORASTRAC_20150601_881234150_4_1.bak tag=TAG20150601T111228 comment=NONE

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

channel c1: finished piece 1 at 2015-06-01 11:15:53

piece handle=/home/oracle/rman_back/full_ORASTRAC_20150601_881233948_1_1.bak tag=TAG20150601T111228 comment=NONE

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

Finished backup at 2015-06-01 11:15:53

sql statement: alter system archive log current

Starting backup at 2015-06-01 11:16:05

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=5 RECID=1 STAMP=881234164

channel c1: starting piece 1 at 2015-06-01 11:16:05

channel c2: starting archived log backup set

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

input archived log thread=1 sequence=6 RECID=2 STAMP=881234165

channel c2: starting piece 1 at 2015-06-01 11:16:06

channel c1: finished piece 1 at 2015-06-01 11:16:09

piece handle=/home/oracle/rman_back/arch_ORASTRAC_20150601_5_1.bak tag=TAG20150601T111605 comment=NONE

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

channel c1: deleting archived log(s)

archived log file name=/u01/app/oracle/flash_recovery_area/ORASTRAC/archivelog/2015_06_01/o1_mf_1_5_bpqmmhbp_.arc RECID=1 STAMP=881234164

channel c2: finished piece 1 at 2015-06-01 11:16:10

piece handle=/home/oracle/rman_back/arch_ORASTRAC_20150601_6_1.bak tag=TAG20150601T111605 comment=NONE

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

channel c2: deleting archived log(s)

archived log file name=/u01/app/oracle/flash_recovery_area/ORASTRAC/archivelog/2015_06_01/o1_mf_1_6_bpqmmo4t_.arc RECID=2 STAMP=881234165

Finished backup at 2015-06-01 11:16:10

Starting backup at 2015-06-01 11:16:10

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 2015-06-01 11:16:11

channel c1: finished piece 1 at 2015-06-01 11:16:12

piece handle=/home/oracle/rman_back/ctl_ORASTRAC_20150601_7_1.bak tag=TAG20150601T111610 comment=NONE

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

Finished backup at 2015-06-01 11:16:12

released channel: c1

released channel: c2

RMAN> list backupset;

List of Backup Sets

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

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

1       Full    501.84M    DISK        00:02:42     2015-06-01 11:15:11

BP Key: 1   Status: AVAILABLE  Compressed: NO  Tag: TAG20150601T111228

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

List of Datafiles in backup set 1

File LV Type Ckp SCN    Ckp Time            Name

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

2       Full 1027268    2015-06-01 11:12:29 /u01/app/oracle/oradata/orastrac/sysaux01.dbf

3       Full 1027268    2015-06-01 11:12:29 /u01/app/oracle/oradata/orastrac/undotbs01.dbf

5       Full 1027268    2015-06-01 11:12:29 /u01/app/oracle/oradata/orastrac/example01.dbf

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

2       Full    9.33M      DISK        00:00:10     2015-06-01 11:15:48

BP Key: 2   Status: AVAILABLE  Compressed: NO  Tag: TAG20150601T111228

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

Control File Included: Ckp SCN: 1027334      Ckp time: 2015-06-01 11:15:38

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

3       Full    80.00K     DISK        00:00:00     2015-06-01 11:15:50

BP Key: 3   Status: AVAILABLE  Compressed: NO  Tag: TAG20150601T111228

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

SPFILE Included: Modification time: 2015-06-01 11:12:28

SPFILE db_unique_name: ORASTRAC

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

4       Full    599.97M    DISK        00:03:24     2015-06-01 11:15:52

BP Key: 4   Status: AVAILABLE  Compressed: NO  Tag: TAG20150601T111228

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

List of Datafiles in backup set 4

File LV Type Ckp SCN    Ckp Time            Name

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

1       Full 1027267    2015-06-01 11:12:29 /u01/app/oracle/oradata/orastrac/system01.dbf

4       Full 1027267    2015-06-01 11:12:29 /u01/app/oracle/oradata/orastrac/users01.dbf

BS Key  Size       Device Type Elapsed Time Completion Time

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

5       41.16M     DISK        00:00:02     2015-06-01 11:16:07

BP Key: 5   Status: AVAILABLE  Compressed: NO  Tag: TAG20150601T111605

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

List of Archived Logs in backup set 5

Thrd Seq     Low SCN    Low Time            Next SCN   Next Time

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

1    5       1012317    2015-06-01 11:04:50 1027356    2015-06-01 11:15:59

BS Key  Size       Device Type Elapsed Time Completion Time

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

6       2.00K      DISK        00:00:02     2015-06-01 11:16:07

BP Key: 6   Status: AVAILABLE  Compressed: NO  Tag: TAG20150601T111605

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

List of Archived Logs in backup set 6

Thrd Seq     Low SCN    Low Time            Next SCN   Next Time

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

1    6       1027356    2015-06-01 11:15:59 1027365    2015-06-01 11:16:05

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

7       Full    9.33M      DISK        00:00:02     2015-06-01 11:16:12

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

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

Control File Included: Ckp SCN: 1027386      Ckp time: 2015-06-01 11:16:10

RMAN> list backupset summary;

List of Backups

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

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

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

1       B  F  A DISK        2015-06-01 11:15:11 1       1       NO         TAG20150601T111228

2       B  F  A DISK        2015-06-01 11:15:48 1       1       NO         TAG20150601T111228

3       B  F  A DISK        2015-06-01 11:15:50 1       1       NO         TAG20150601T111228

4       B  F  A DISK        2015-06-01 11:15:52 1       1       NO         TAG20150601T111228

5       B  A  A DISK        2015-06-01 11:16:07 1       1       NO         TAG20150601T111605

6       B  A  A DISK        2015-06-01 11:16:07 1       1       NO         TAG20150601T111605

7       B  F  A DISK        2015-06-01 11:16:12 1       1       NO         TAG20150601T111610

RMAN>

一.3.2.3  将备份传递到target库

这个方法就多了,可以采用ftp上传下载,也可以采用NFS网络文件系统,或者scp命令都可以,这里我们采用scp直接传递到rac环境的第一个节点。

源库scp操作:

[oracle@orcltest ~]$ cd rman_back/

[oracle@orcltest rman_back]$ ll

total 1189660

-rw-r----- 1 oracle asmadmin  43154944 Jun  1 11:16 arch_ORASTRAC_20150601_5_1.bak

-rw-r----- 1 oracle asmadmin      2560 Jun  1 11:16 arch_ORASTRAC_20150601_6_1.bak

-rw-r----- 1 oracle asmadmin   9797632 Jun  1 11:16 ctl_ORASTRAC_20150601_7_1.bak

-rw-r----- 1 oracle asmadmin 629121024 Jun  1 11:15 full_ORASTRAC_20150601_881233948_1_1.bak

-rw-r----- 1 oracle asmadmin 526229504 Jun  1 11:14 full_ORASTRAC_20150601_881233949_2_1.bak

-rw-r----- 1 oracle asmadmin   9797632 Jun  1 11:15 full_ORASTRAC_20150601_881234138_3_1.bak

-rw-r----- 1 oracle asmadmin     98304 Jun  1 11:15 full_ORASTRAC_20150601_881234150_4_1.bak

[oracle@orcltest rman_back]$ ll -h

total 1.2G

-rw-r----- 1 oracle asmadmin  42M Jun  1 11:16 arch_ORASTRAC_20150601_5_1.bak

-rw-r----- 1 oracle asmadmin 2.5K Jun  1 11:16 arch_ORASTRAC_20150601_6_1.bak

-rw-r----- 1 oracle asmadmin 9.4M Jun  1 11:16 ctl_ORASTRAC_20150601_7_1.bak

-rw-r----- 1 oracle asmadmin 600M Jun  1 11:15 full_ORASTRAC_20150601_881233948_1_1.bak

-rw-r----- 1 oracle asmadmin 502M Jun  1 11:14 full_ORASTRAC_20150601_881233949_2_1.bak

-rw-r----- 1 oracle asmadmin 9.4M Jun  1 11:15 full_ORASTRAC_20150601_881234138_3_1.bak

-rw-r----- 1 oracle asmadmin  96K Jun  1 11:15 full_ORASTRAC_20150601_881234150_4_1.bak

[oracle@orcltest rman_back]$

[oracle@orcltest rman_back]$ scp -r /home/oracle/rman_back  oracle@192.168.1.31:/home/oracle

oracle@192.168.1.31's password:

ctl_ORASTRAC_20150601_7_1.bak                                                                                                                                                  100%  9.4MB  17.7MB/s   00:01

arch_ORASTRAC_20150601_5_1.bak                                                                                                                                                 100%   42MB  27.0MB/s   00:03

arch_ORASTRAC_20150601_6_1.bak                                                                                                                                                 100%  2.5KB  16.5MB/s   00:02

full_ORASTRAC_20150601_881233948_1_1.bak                                                                                                                                       100%   18MB  17.7MB/s   00:01

full_ORASTRAC_20150601_881233949_2_1.bak                                                                                                                                       100%  618MB  12.4MB/s   00:50

full_ORASTRAC_20150601_881234138_3_1.bak                                                                                                                                       100%  500MB  15.2MB/s   00:33

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

[oracle@node2 rman_back]$

target库查看备份文件:

[oracle@node1 rman_back]$ ll -h

total 1.2G

-rw-r----- 1 oracle oinstall  42M Jun  1 11:19 arch_ORASTRAC_20150601_5_1.bak

-rw-r----- 1 oracle oinstall 2.5K Jun  1 11:23 arch_ORASTRAC_20150601_6_1.bak

-rw-r----- 1 oracle oinstall 9.4M Jun  1 11:21 ctl_ORASTRAC_20150601_7_1.bak

-rw-r----- 1 oracle oinstall 600M Jun  1 11:23 full_ORASTRAC_20150601_881233948_1_1.bak

-rw-r----- 1 oracle oinstall 502M Jun  1 11:21 full_ORASTRAC_20150601_881233949_2_1.bak

-rw-r----- 1 oracle oinstall 9.4M Jun  1 11:21 full_ORASTRAC_20150601_881234138_3_1.bak

-rw-r----- 1 oracle oinstall  96K Jun  1 11:23 full_ORASTRAC_20150601_881234150_4_1.bak

[oracle@node1 rman_back]$

一.3.3  target库操作

以下操作若无特殊说明均在节点一操作。

一.3.3.1  查看rac环境

target库已经有3个库,都处于close状态。

[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 ~]# su - grid

[grid@node2 ~]$ asmcmd

ASMCMD>

ASMCMD> lsdg

State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name

MOUNTED  EXTERN  N         512   4096  1048576      9999     8905                0            8905              0             N  ARCH/

MOUNTED  EXTERN  N         512   4096  1048576     19999    11604                0           11604              0             N  DATA/

MOUNTED  EXTERN  N         512   4096  1048576      3099     2703                0            2703              0             N  OVDISK/

MOUNTED  EXTERN  N         512   4096  1048576      1024      929                0             929              0             N  TEST/

ASMCMD>

[root@node2 ~]# cat /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1       localhost.localdomain localhost

::1             localhost6.localdomain6 localhost6

#public

192.168.1.31     node1

192.168.1.32     node2

#vip

192.168.1.131   node1-vip

192.168.1.132   node2-vip

#priv

9.9.9.31    node1-priv

9.9.9.32    node2-priv

#scan

192.168.1.35     cluster-scan

[root@node2 ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:79:BA:86

inet addr:192.168.1.32 Bcast:192.168.1.255  Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:150190 errors:0 dropped:0 overruns:0 frame:0

TX packets:109804 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:205303912 (195.7 MiB)  TX bytes:20182601 (19.2 MiB)

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:79:BA:86

inet addr:192.168.1.132  Bcast:192.168.1.255  Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1      Link encap:Ethernet  HWaddr 00:0C:29:79:BA:90

inet addr:9.9.9.32  Bcast:9.9.9.255  Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:49075 errors:0 dropped:0 overruns:0 frame:0

TX packets:49811 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:23642469 (22.5 MiB)  TX bytes:31528595 (30.0 MiB)

lo        Link encap:Local Loopback

inet addr:127.0.0.1  Mask:255.0.0.0

UP LOOPBACK RUNNING  MTU:16436  Metric:1

RX packets:16496 errors:0 dropped:0 overruns:0 frame:0

TX packets:16496 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:15118447 (14.4 MiB)  TX bytes:15118447 (14.4 MiB)

[root@node2 ~]#

一.3.3.2  恢复spfile到pfile,修改pfile,创建相关路径:

首先利用rman恢复spfile:

[oracle@node1 rman_back]$ ORACLE_SID=orastrac

[oracle@node1 rman_back]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Mon Jun 1 13:25:33 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

LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorastrac.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                 96469384 bytes

Database Buffers              54525952 bytes

Redo Buffers                   5455872 bytes

RMAN> restore spfile to pfile '?/dbs/initorastrac.ora' from '/home/oracle/rman_back/full_ORASTRAC_20150601_881234150_4_1.bak';

Starting restore at 01-JUN-2015 13:25:59

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=25 device type=DISK

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

channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete

Finished restore at 01-JUN-2015 13:26:00

RMAN>

RMAN> exit

Recovery Manager complete.

[oracle@node1 rman_back]$ ll /u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorastrac.ora

-rw-r--r-- 1 oracle asmadmin 997 Jun  1 13:25 /u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorastrac.ora

[oracle@node1 rman_back]$

[oracle@node1 rman_back]$ more /u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorastrac.ora

orastrac.__db_cache_size=121634816

orastrac.__java_pool_size=4194304

orastrac.__large_pool_size=4194304

orastrac.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment

orastrac.__pga_aggregate_target=167772160

orastrac.__sga_target=243269632

orastrac.__shared_io_pool_size=0

orastrac.__shared_pool_size=100663296

orastrac.__streams_pool_size=0

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

*.audit_trail='db'

*.compatible='11.2.0.0.0'

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

*.db_block_size=8192

*.db_domain=''

*.db_name='orastrac'

*.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=orastracXDB)'

*.log_archive_format='%t_%s_%r.dbf'

*.memory_target=408944640

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.undo_tablespace='UNDOTBS1'

[oracle@node1 rman_back]$

修改与路径相关的参数,修改后如下:

[oracle@node1 dbs]$ more initorastrac.ora

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

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='+DATA/orastrac/controlfile/control01.ctl'

*.db_block_size=8192

*.db_domain=''

*.db_name='orastrac'

*.db_recovery_file_dest='+ARCH'

*.db_recovery_file_dest_size=4070572032

*.diagnostic_dest='/u01/app/oracle'

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

*.log_archive_format='%t_%s_%r.dbf'

*.memory_target=408944640

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.undo_tablespace='UNDOTBS1'

插曲:注意,这里如果想让控制文件的格式为ASM格式,可以这样设置控制文件的路径:

pfile文件中的control_files这样写: *.control_files='+DATA','+ARCH',然后还原的时候就可以直接还原为asm格式的文件了,我这里由于是后边补上的,所以就不采用如下的形式了,如下:

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

Starting restore at 01-JUN-2015 17:59:39

using channel ORA_DISK_1

channel ORA_DISK_1: restoring control file

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

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

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

Finished restore at 01-JUN-2015 17:59:40

RMAN>

创建os文件路径,注意在节点一和节点二都执行:

[oracle@node1 ~]$ mkdir -p /u01/app/oracle/admin/orastrac/adump

[oracle@node1 ~]$

注意哟,创建的 spfile 可是要放到共享存储上去的:

[oracle@node1 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 1 15:49:22 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>  create spfile='+DATA' from pfile;

File created.

SQL>

File created.

SQL> show parameter spfile

NAME                                 TYPE        VALUE

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

spfile                               string

SQL>

查看新创建的spfile的文件名:

ASMCMD> pwd

+DATA/orastrac/PARAMETERFILE

ASMCMD> ls

spfile.335.881250575

ASMCMD>

[oracle@node1 dbs]$ cp initorastrac.ora initorastrac.ora_bk2

[oracle@node1 dbs]$ echo "SPFILE='+DATA/ORASTRAC/PARAMETERFILE/spfile.335.881250575'" > $ORACLE_HOME/dbs/initorastrac.ora

[oracle@node1 dbs]$

[oracle@node1 dbs]$ more initorastrac.ora

SPFILE='+DATA/ORASTRAC/PARAMETERFILE/spfile.335.881250575'

[oracle@node1 dbs]$

一.3.3.3  恢复控制文件

[oracle@node1 dbs]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Mon Jun 1 15:46:55 2015

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

connected to target database (not started)

RMAN> startup nomount force;

Oracle instance started

Total System Global Area     409194496 bytes

Fixed Size                     2213856 bytes

Variable Size                272631840 bytes

Database Buffers             130023424 bytes

Redo Buffers                   4325376 bytes

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

Starting restore at 01-JUN-2015 15:47:14

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=29 device type=DISK

channel ORA_DISK_1: restoring control file

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

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

Finished restore at 01-JUN-2015 15:47:21

RMAN> alter database mount;

database mounted

released channel: ORA_DISK_1

RMAN>

一.3.3.4  还原及恢复数据文件

首先得到运行的脚本:

[oracle@node1 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 1 15:58:47 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 pagesize 9999

SQL> col FILE_NAME format a60

SQL> select 'datafile' file_type, file#,name FILE_NAME,status,enabled from v$datafile

2  union all

3  select 'tempfile',file#,name FILE_NAME,status,enabled from v$tempfile

4  union all

5  select 'logfile',group# file#,member FILE_NAME,status,'' from v$logfile

6  union all

7  select 'controlfile', to_number('') ,name FILE_NAME,status,'' from v$controlfile

8  ;

FILE_TYPE        FILE# FILE_NAME                                                    STATUS  ENABLED

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

datafile             1 /u01/app/oracle/oradata/orastrac/system01.dbf                SYSTEM  READ WRITE

datafile             2 /u01/app/oracle/oradata/orastrac/sysaux01.dbf                ONLINE  READ WRITE

datafile             3 /u01/app/oracle/oradata/orastrac/undotbs01.dbf               ONLINE  READ WRITE

datafile             4 /u01/app/oracle/oradata/orastrac/users01.dbf                 ONLINE  READ WRITE

datafile             5 /u01/app/oracle/oradata/orastrac/example01.dbf               ONLINE  READ WRITE

tempfile             1 /u01/app/oracle/oradata/orastrac/temp01.dbf                  ONLINE  READ WRITE

logfile              3 /u01/app/oracle/oradata/orastrac/redo03.log

logfile              2 /u01/app/oracle/oradata/orastrac/redo02.log

logfile              1 /u01/app/oracle/oradata/orastrac/redo01.log

controlfile            +DATA/orastrac/controlfile/control01.ctl

10 rows selected.

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/orastrac/system01.dbf";

set newname for datafile 2 to "/u01/app/oracle/oradata/orastrac/sysaux01.dbf";

set newname for datafile 3 to "/u01/app/oracle/oradata/orastrac/undotbs01.dbf";

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

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

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

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/orastrac/redo03.log''  to  ''/u01/app/oracle/oradata/orastrac/redo03.log'' ";

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/orastrac/redo02.log''  to  ''/u01/app/oracle/oradata/orastrac/redo02.log'' ";

SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/orastrac/redo01.log''  to  ''/u01/app/oracle/oradata/orastrac/redo01.log'' ";

9 rows selected.

SQL>

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

RMAN> list backupset;

List of Backup Sets

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

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

1       Full    501.84M    DISK        00:02:42     01-JUN-2015 11:15:11

BP Key: 1   Status: AVAILABLE  Compressed: NO  Tag: TAG20150601T111228

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

List of Datafiles in backup set 1

File LV Type Ckp SCN    Ckp Time             Name

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

2       Full 1027268    01-JUN-2015 11:12:29 /u01/app/oracle/oradata/orastrac/sysaux01.dbf

3       Full 1027268    01-JUN-2015 11:12:29 /u01/app/oracle/oradata/orastrac/undotbs01.dbf

5       Full 1027268    01-JUN-2015 11:12:29 /u01/app/oracle/oradata/orastrac/example01.dbf

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

2       Full    9.33M      DISK        00:00:10     01-JUN-2015 11:15:48

BP Key: 2   Status: AVAILABLE  Compressed: NO  Tag: TAG20150601T111228

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

Control File Included: Ckp SCN: 1027334      Ckp time: 01-JUN-2015 11:15:38

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

3       Full    80.00K     DISK        00:00:00     01-JUN-2015 11:15:50

BP Key: 3   Status: AVAILABLE  Compressed: NO  Tag: TAG20150601T111228

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

SPFILE Included: Modification time: 01-JUN-2015 11:12:28

SPFILE db_unique_name: ORASTRAC

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

4       Full    599.97M    DISK        00:03:24     01-JUN-2015 11:15:52

BP Key: 4   Status: AVAILABLE  Compressed: NO  Tag: TAG20150601T111228

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

List of Datafiles in backup set 4

File LV Type Ckp SCN    Ckp Time             Name

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

1       Full 1027267    01-JUN-2015 11:12:29 /u01/app/oracle/oradata/orastrac/system01.dbf

4       Full 1027267    01-JUN-2015 11:12:29 /u01/app/oracle/oradata/orastrac/users01.dbf

BS Key  Size       Device Type Elapsed Time Completion Time

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

5       41.16M     DISK        00:00:02     01-JUN-2015 11:16:07

BP Key: 5   Status: AVAILABLE  Compressed: NO  Tag: TAG20150601T111605

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

List of Archived Logs in backup set 5

Thrd Seq     Low SCN    Low Time             Next SCN   Next Time

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

1    5       1012317    01-JUN-2015 11:04:50 1027356    01-JUN-2015 11:15:59

BS Key  Size       Device Type Elapsed Time Completion Time

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

6       2.00K      DISK        00:00:02     01-JUN-2015 11:16:07

BP Key: 6   Status: AVAILABLE  Compressed: NO  Tag: TAG20150601T111605

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

List of Archived Logs in backup set 6

Thrd Seq     Low SCN    Low Time             Next SCN   Next Time

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

1   6       1027356    01-JUN-2015 11:15:59 1027365    01-JUN-2015 11:16:05

RMAN>

RMAN> run {

2> ALLOCATE CHANNEL c1 DEVICE TYPE DISK;

3> set newname for datafile 1 to "+DATA";

4> set newname for datafile 2 to "+DATA";

5> set newname for datafile 3 to "+DATA";

6> set newname for datafile 4 to "+DATA";

7> set newname for datafile 5 to "+DATA";

8> set newname for tempfile 1 to "+DATA";

9> SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/orastrac/redo03.log''  to  ''+DATA'' ";

10> SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/orastrac/redo02.log''  to  ''+DATA'' ";

11> SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/orastrac/redo01.log''  to  ''+DATA'' ";

12> restore database;

13> SWITCH DATAFILE ALL;

14> SWITCH TEMPFILE ALL;

15> release channel c1;

16> }

allocated channel: c1

channel c1: SID=27 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/orastrac/redo03.log''  to  ''+DATA''

sql statement: ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/orastrac/redo02.log''  to  ''+DATA''

sql statement: ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/orastrac/redo01.log''  to  ''+DATA''

Starting restore at 01-JUN-2015 16:04:19

Starting implicit crosscheck backup at 01-JUN-2015 16:04:19

Crosschecked 6 objects

Finished implicit crosscheck backup at 01-JUN-2015 16:04:19

Starting implicit crosscheck copy at 01-JUN-2015 16:04:19

Finished implicit crosscheck copy at 01-JUN-2015 16:04:19

searching for all files in the recovery area

cataloging files...

no files cataloged

channel c1: starting datafile backup set restore

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

channel c1: restoring datafile 00002 to +DATA

channel c1: restoring datafile 00003 to +DATA

channel c1: restoring datafile 00005 to +DATA

channel c1: reading from backup piece /home/oracle/rman_back/full_ORASTRAC_20150601_881233949_2_1.bak

channel c1: piece handle=/home/oracle/rman_back/full_ORASTRAC_20150601_881233949_2_1.bak tag=TAG20150601T111228

channel c1: restored backup piece 1

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

channel c1: starting datafile backup set restore

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

channel c1: restoring datafile 00001 to +DATA

channel c1: restoring datafile 00004 to +DATA

channel c1: reading from backup piece /home/oracle/rman_back/full_ORASTRAC_20150601_881233948_1_1.bak

channel c1: piece handle=/home/oracle/rman_back/full_ORASTRAC_20150601_881233948_1_1.bak tag=TAG20150601T111228

channel c1: restored backup piece 1

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

Finished restore at 01-JUN-2015 16:05:58

datafile 1 switched to datafile copy

input datafile copy RECID=7 STAMP=881251559 file name=+DATA/orastrac/datafile/system.330.881251509

datafile 2 switched to datafile copy

input datafile copy RECID=8 STAMP=881251559 file name=+DATA/orastrac/datafile/sysaux.331.881251461

datafile 3 switched to datafile copy

input datafile copy RECID=9 STAMP=881251559 file name=+DATA/orastrac/datafile/undotbs1.329.881251463

datafile 4 switched to datafile copy

input datafile copy RECID=10 STAMP=881251559 file name=+DATA/orastrac/datafile/users.327.881251511

datafile 5 switched to datafile copy

input datafile copy RECID=11 STAMP=881251559 file name=+DATA/orastrac/datafile/example.332.881251463

renamed tempfile 1 to +DATA in control file

released channel: c1

RMAN>

RMAN> RUN

2> {

3> set until sequence 6;

4> recover database;

5> }

executing command: SET until clause

Starting recover at 01-JUN-2015 16:08:53

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=27 device type=DISK

starting media recovery

channel ORA_DISK_1: starting archived log restore to default destination

channel ORA_DISK_1: restoring archived log

archived log thread=1 sequence=5

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

channel ORA_DISK_1: piece handle=/home/oracle/rman_back/arch_ORASTRAC_20150601_5_1.bak tag=TAG20150601T111605

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_01/thread_1_seq_5.350.881251737 thread=1 sequence=5

channel default: deleting archived log(s)

archived log file name=+ARCH/orastrac/archivelog/2015_06_01/thread_1_seq_5.350.881251737 RECID=3 STAMP=881251739

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

Finished recover at 01-JUN-2015 16:09:01

RMAN>

告警日志:

ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/orastrac/redo03.log'  to  '+DATA'

Completed: ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/orastrac/redo03.log'  to  '+DATA'

ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/orastrac/redo02.log'  to  '+DATA'

Completed: ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/orastrac/redo02.log'  to  '+DATA'

ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/orastrac/redo01.log'  to  '+DATA'

Completed: ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/orastrac/redo01.log'  to  '+DATA'

SUCCESS: diskgroup ARCH was mounted

Mon Jun 01 16:04:40 2015

Full restore complete of datafile 5 to datafile copy +DATA/orastrac/datafile/example.332.881251463.  Elapsed time: 0:00:14

checkpoint is 1027268

last deallocation scn is 965277

Full restore complete of datafile 3 to datafile copy +DATA/orastrac/datafile/undotbs1.329.881251463.  Elapsed time: 0:00:18

checkpoint is 1027268

last deallocation scn is 983226

Mon Jun 01 16:05:05 2015

Full restore complete of datafile 2 to datafile copy +DATA/orastrac/datafile/sysaux.331.881251461.  Elapsed time: 0:00:43

checkpoint is 1027268

last deallocation scn is 1026156

Full restore complete of datafile 4 to datafile copy +DATA/orastrac/datafile/users.327.881251511.  Elapsed time: 0:00:03

checkpoint is 1027267

Mon Jun 01 16:05:49 2015

Full restore complete of datafile 1 to datafile copy +DATA/orastrac/datafile/system.330.881251509.  Elapsed time: 0:00:39

checkpoint is 1027267

last deallocation scn is 1025383

Mon Jun 01 16:05:59 2015

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

ORA-19625: error identifying file /u01/app/oracle/oradata/orastrac/system01.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 1027267

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

ORA-19625: error identifying file /u01/app/oracle/oradata/orastrac/sysaux01.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 1027268

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

ORA-19625: error identifying file /u01/app/oracle/oradata/orastrac/undotbs01.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 1027268

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

ORA-19625: error identifying file /u01/app/oracle/oradata/orastrac/users01.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 1027267

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

ORA-19625: error identifying file /u01/app/oracle/oradata/orastrac/example01.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 1027268

Mon Jun 01 16:06:02 2015

Signalling error 1152 for datafile 1!

Signalling error 1152 for datafile 2!

Signalling error 1152 for datafile 3!

Signalling error 1152 for datafile 4!

Signalling error 1152 for datafile 5!

Checker run found 5 new persistent data failures

一.3.3.5  RESETLOGS打开数据库并验证数据

RMAN>  alter database open resetlogs;

database opened

RMAN>

告警日志:

Mon Jun 01 16:09:51 2015

alter database open resetlogs

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

ORA-00313: open failed for members of log group 1 of thread 1

ORA-00312: online log 1 thread 1: '+DATA'

ORA-17503: ksfdopn:2 Failed to open file +DATA

ORA-15045: ASM file name '+DATA' is not in reference form

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

ORA-00313: open failed for members of log group 1 of thread 1

ORA-00312: online log 1 thread 1: '+DATA'

ORA-17503: ksfdopn:2 Failed to open file +DATA

ORA-15045: ASM file name '+DATA' is not in reference form

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

ORA-00313: open failed for members of log group 2 of thread 1

ORA-00312: online log 2 thread 1: '+DATA'

ORA-17503: ksfdopn:2 Failed to open file +DATA

ORA-15045: ASM file name '+DATA' is not in reference form

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

ORA-00313: open failed for members of log group 2 of thread 1

ORA-00312: online log 2 thread 1: '+DATA'

ORA-17503: ksfdopn:2 Failed to open file +DATA

ORA-15045: ASM file name '+DATA' is not in reference form

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

ORA-00313: open failed for members of log group 3 of thread 1

ORA-00312: online log 3 thread 1: '+DATA'

ORA-17503: ksfdopn:2 Failed to open file +DATA

ORA-15045: ASM file name '+DATA' is not in reference form

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

ORA-00313: open failed for members of log group 3 of thread 1

ORA-00312: online log 3 thread 1: '+DATA'

ORA-17503: ksfdopn:2 Failed to open file +DATA

ORA-15045: ASM file name '+DATA' is not in reference form

RESETLOGS after incomplete recovery UNTIL CHANGE 1027356

Resetting resetlogs activation ID 1317842432 (0x4e8cae00)

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

ORA-00313: open failed for members of log group 1 of thread 1

ORA-00312: online log 1 thread 1: '+DATA'

ORA-17503: ksfdopn:2 Failed to open file +DATA

ORA-15045: ASM file name '+DATA' is not in reference form

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

ORA-00313: open failed for members of log group 1 of thread 1

ORA-00312: online log 1 thread 1: '+DATA'

ORA-17503: ksfdopn:2 Failed to open file +DATA

ORA-15045: ASM file name '+DATA' is not in reference form

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

ORA-00313: open failed for members of log group 2 of thread 1

ORA-00312: online log 2 thread 1: '+DATA'

ORA-17503: ksfdopn:2 Failed to open file +DATA

ORA-15045: ASM file name '+DATA' is not in reference form

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

ORA-00313: open failed for members of log group 2 of thread 1

ORA-00312: online log 2 thread 1: '+DATA'

ORA-17503: ksfdopn:2 Failed to open file +DATA

ORA-15045: ASM file name '+DATA' is not in reference form

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

ORA-00313: open failed for members of log group 3 of thread 1

ORA-00312: online log 3 thread 1: '+DATA'

ORA-17503: ksfdopn:2 Failed to open file +DATA

ORA-15045: ASM file name '+DATA' is not in reference form

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

ORA-00313: open failed for members of log group 3 of thread 1

ORA-00312: online log 3 thread 1: '+DATA'

ORA-17503: ksfdopn:2 Failed to open file +DATA

ORA-15045: ASM file name '+DATA' is not in reference form

Mon Jun 01 16:09:54 2015

Setting recovery target incarnation to 3

Mon Jun 01 16:09:54 2015

Assigning activation ID 1317780902 (0x4e8bbda6)

LGWR: STARTING ARCH PROCESSES

Mon Jun 01 16:09:54 2015

ARC0 started with pid=33, OS id=20083

ARC0: Archival started

LGWR: STARTING ARCH PROCESSES COMPLETE

ARC0: STARTING ARCH PROCESSES

Thread 1 opened at log sequence 1

Current log# 1 seq# 1 mem# 0: +ARCH/orastrac/onlinelog/group_1.350.881251793

Successful open of redo thread 1

MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set

Mon Jun 01 16:09:57 2015

ARC1 started with pid=34, OS id=20087

Mon Jun 01 16:09:57 2015

SMON: enabling cache recovery

Mon Jun 01 16:09:57 2015

ARC2 started with pid=35, OS id=20091

Mon Jun 01 16:09:57 2015

ARC3 started with pid=36, OS id=20095

ARC1: Archival started

ARC2: Archival started

ARC2: Becoming the 'no FAL' ARCH

ARC2: Becoming the 'no SRL' ARCH

ARC1: Becoming the heartbeat ARCH

ARC3: Archival started

ARC0: STARTING ARCH PROCESSES COMPLETE

Mon Jun 01 16:10:03 2015

Successfully onlined Undo Tablespace 2.

Dictionary check beginning

Mon Jun 01 16:10:03 2015

Errors in file /u01/app/oracle/diag/rdbms/orastrac/orastrac/trace/orastrac_dbw0_19220.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'

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 as +DATA/orastrac/tempfile/temp.333.881251803

Database Characterset is ZHS16GBK

No Resource Manager plan active

replication_dependency_tracking turned off (no async multimaster replication found)

Starting background process QMNC

Mon Jun 01 16:10:12 2015

QMNC started with pid=37, OS id=20118

Mon Jun 01 16:10:13 2015

LOGSTDBY: Validating controlfile with logical metadata

LOGSTDBY: Validation complete

Mon Jun 01 16:10:25 2015

Completed: alter database open resetlogs

Mon Jun 01 16:10:26 2015

db_recovery_file_dest_size of 3882 MB is 3.94% 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.

Mon Jun 01 16:10:28 2015

Starting background process CJQ0

Mon Jun 01 16:10:28 2015

CJQ0 started with pid=41, OS id=20162

此时的数据库还是单实例的,需要启用集群特性来转换为rac数据库。

一.3.3.6  启用集群特性用于转换为RAC环境的数据库

需要修改如下几类参数:

一、 指定实例参数

[oracle@node1 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 1 16:12:03 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> col parameter format a50

SQL> set line 9999

SQL>  select * from v$option where parameter = 'Real Application Clusters';

PARAMETER                                          VALUE

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

Real Application Clusters                          TRUE

SQL> show parameter cluster

NAME                                 TYPE        VALUE

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

cluster_database                     boolean     FALSE

cluster_database_instances           integer     1

cluster_interconnects                string

SQL>

由上述返回结果可知,RAC 特性是支持的,不过尚未启用集群数据库,因此接下来首先要改的,就是 enable CLUSTER DATABASE,操作如下:

SQL> show parameter spfile

NAME                                 TYPE        VALUE

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

spfile                               string      +DATA/orastrac/parameterfile/s

pfile.335.881250575

SQL>  alter system set cluster_database=true scope=spfile;

System altered.

SQL>

SQL> alter system set cluster_database_instances=2 scope=spfile;

System altered.

SQL>  alter system set instance_number=1 scope=spfile sid='orastrac1';

System altered.

SQL>  alter system set instance_number=2 scope=spfile sid='orastrac2';

System altered.

SQL> alter system set thread=1 scope=spfile sid='orastrac1';

System altered.

SQL> alter system set thread=2 scope=spfile sid='orastrac2';

System altered.

SQL>

二、 增加undo

新建一组 UNDO 表空间和线程 2 使用的两组 REDO 文件:

SQL> select * from v$tablespace;

TS# NAME                           INC BIG FLA ENC

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

0 SYSTEM                         YES NO  YES

1 SYSAUX                         YES NO  YES

2 UNDOTBS1                       YES NO  YES

4 USERS                          YES NO  YES

3 TEMP                           NO  NO  YES

6 EXAMPLE                        YES NO  YES

6 rows selected.

SQL>  create undo tablespace undotbs2 datafile '+DATA' SIZE 50m;

Tablespace created.

SQL> alter system set undo_tablespace='undotbs1' scope=spfile sid='orastrac1';

System altered.

SQL> alter system set undo_tablespace='undotbs2' scope=spfile sid='orastrac2';

System altered.

三、 增加redo

SQL> select * from v$log;

GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME

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

1          1          1   52428800        512          1 NO  CURRENT                1027357 01-JUN-15   2.8147E+14

2          1          0   52428800        512          1 YES UNUSED                       0                      0

3          1          0   52428800        512          1 YES UNUSED                       0                      0

SQL>  alter database add logfile thread 2 group 4 '+arch' size 50M;

Database altered.

SQL> alter database add logfile thread 2 group 5 '+arch' size 50M;

Database altered.

SQL> alter database add logfile thread 2 group 6 '+arch' size 50M;

Database altered.

SQL> select * from v$log;

GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME

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

1          1          1   52428800        512          1 NO  CURRENT                1027357 01-JUN-15   2.8147E+14

2          1          0   52428800        512          1 YES UNUSED                       0                      0

3          1          0   52428800        512          1 YES UNUSED                       0                      0

4          2          0   52428800        512          1 YES UNUSED                       0                      0

5          2          0   52428800        512          1 YES UNUSED                       0                      0

6          2          0   52428800        512          1 YES UNUSED                       0                      0

6 rows selected.

SQL> col instance format a8

SQL> select thread#,instance,status,enabled from v$thread;

THREAD# INSTANCE STATUS ENABLED

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

1 orastrac OPEN   PUBLIC

2 UNNAMED_ CLOSED DISABLED

INSTANCE

_2

SQL> alter database enable thread 2 ;

Database altered.

SQL> select thread#,instance,status,enabled from v$thread;

THREAD# INSTANCE STATUS ENABLED

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

1 orastrac OPEN   PUBLIC

2 UNNAMED_ CLOSED PRIVATE

INSTANCE

_2

SQL>

一.3.3.7  重启数据库

重启数据库,在每个节点上修改pfile文件:

一、 节点一

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> exit

Disconnected from 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

[oracle@node1 dbs]$ ORACLE_SID=orastrac1

[oracle@node1 dbs]$ echo "SPFILE='+DATA/ORASTRAC/PARAMETERFILE/spfile.335.881250575'" > $ORACLE_HOME/dbs/initorastrac1.ora

[oracle@node1 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 1 16:32:38 2015

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

Connected to an idle instance.

SQL> startup

ORACLE instance started.

Total System Global Area  409194496 bytes

Fixed Size                  2213856 bytes

Variable Size             314574880 bytes

Database Buffers           88080384 bytes

Redo Buffers                4325376 bytes

Database mounted.

Database opened.

SQL>

SQL> show parameter cluster

NAME                                 TYPE        VALUE

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

cluster_database                     boolean     TRUE

cluster_database_instances           integer     2

cluster_interconnects                string

SQL> set line 9999

col HOST_NAME format a10

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

INSTANCE_NAME    HOST_NAME  VERSION           STARTUP_T STATUS       ACTIVE_ST INSTANCE_ROLE      DATABASE_STATUS

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

orastrac1        node1      11.2.0.1.0        01-JUN-15 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

SQL>

SQL>  select count(1) FROM LHR.TEST_RAC;

COUNT(1)

----------

72468

SQL>

二、 节点二

[oracle@node1 dbs]$ ORACLE_SID=orastrac2

[oracle@node1 dbs]$ echo "SPFILE='+DATA/ORASTRAC/PARAMETERFILE/spfile.335.881250575'" > $ORACLE_HOME/dbs/initorastrac2.ora

[oracle@node1 dbs]$ sqlplus / as sysdba

[oracle@node2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 1 17:14:00 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> startup

ORACLE instance started.

Total System Global Area  409194496 bytes

Fixed Size                  2213856 bytes

Variable Size             314574880 bytes

Database Buffers           88080384 bytes

Redo Buffers                4325376 bytes

Database mounted.

Database opened.

SQL> show parameter spfile

NAME                                 TYPE        VALUE

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

spfile                               string      +DATA/orastrac/parameterfile/s

pfile.335.881250575

SQL>

SQL> show parameter cluster

NAME                                 TYPE        VALUE

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

cluster_database                     boolean     TRUE

cluster_database_instances           integer     2

cluster_interconnects                string

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_T STATUS       ACTIVE_ST INSTANCE_ROLE      DATABASE_STATUS

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

orastrac1        node1      11.2.0.1.0        01-JUN-15 OPEN         NORMAL    PRIMARY_INSTANCE   ACTIVE

orastrac2        node2      11.2.0.1.0        01-JUN-15 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>

SQL>  select count(1) FROM LHR.TEST_RAC;

COUNT(1)

----------

72468

SQL>

数据已经恢复,下边把新恢复的数据库注册到crs。

一.3.3.8  注册到crs服务

[oracle@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          ONLINE     OFFLINE

ora.eons                       ora.eons.type              ONLINE     ONLINE     node1

ora.gsd                        ora.gsd.type               OFFLINE    OFFLINE

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

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

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

[oracle@node2 ~]$ crsstat | grep ora.database.type

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

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

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

[oracle@node2 ~]$

[oracle@node2 ~]$ srvctl add database -d orastrac -h

Adds a database configuration to the Oracle Clusterware.

Usage: srvctl add database -d <db_unique_name> -o <oracle_home> [-m <domain_name>] [-p <spfile>] [-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY}] [-s <start_options>] [-t <stop_options>] [-n <db_name>] [-y {AUTOMATIC | MANUAL}] [-g "<serverpool_list>"] [-x <node_name>] [-a "<diskgroup_list>"]

-d <db_unique_name>      Unique name for the database

-o <oracle_home>         ORACLE_HOME path

-x <node_name>           Node name. -x option is specified for single-instance databases

-m <domain>              Domain for database. Must be set if database has DB_DOMAIN set.

-p <spfile>              Server parameter file path

-r <role>                Role of the database (primary, physical_standby, logical_standby, snapshot_standby)

-s <start_options>       Startup options for the database. Examples of startup options are open, mount, or nomount.

-t <stop_options>        Stop options for the database. Examples of shutdown options are normal, transactional, immediate, or abort.

-n <db_name>        Database name (DB_NAME), if different from the unique name given by the -d option

-y <dbpolicy>            Management policy for the database (AUTOMATIC or MANUAL)

-g "<serverpool_list>"    Comma separated list of database server pool names

-a "<diskgroup_list>"      Comma separated list of disk groups

-h                       Print usage

[oracle@node2 ~]$ srvctl add database -d orastrac -o $ORACLE_HOME -p +DATA/orastrac/parameterfile/spfile.335.881250575

[oracle@node2 ~]$ srvctl config database -d orastrac

Database unique name: orastrac

Database name:

Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1

Oracle user: oracle

Spfile: +DATA/orastrac/parameterfile/spfile.335.881250575

Domain:

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools: orastrac

Database instances:

Disk Groups:

Services:

Database is administrator managed

[oracle@node2 ~]$ srvctl add instance -d orastrac -i orastrac1 -n node1

[oracle@node2 ~]$ srvctl add instance -d orastrac -i orastrac2 -n node2

[oracle@node2 ~]$ srvctl config database -d orastrac

Database unique name: orastrac

Database name:

Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1

Oracle user: oracle

Spfile: +DATA/orastrac/parameterfile/spfile.335.881250575

Domain:

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools: orastrac

Database instances: orastrac1,orastrac2

Disk Groups:

Services:

Database is administrator managed

[oracle@node2 ~]$

[oracle@node2 ~]$ crsstat | grep ora.database.type

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

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

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

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

[oracle@node2 ~]$

[oracle@node2 ~]$ srvctl status database -d orastrac

Instance orastrac1 is not running on node node1

Instance orastrac2 is not running on node node2

[oracle@node2 ~]$ srvctl start database -d orastrac

[oracle@node2 ~]$ srvctl status database -d orastrac

Instance orastrac1 is running on node node1

Instance orastrac2 is running on node node2

[oracle@node2 ~]$

[oracle@node2 ~]$ crsstat | grep ora.database.type

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

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

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

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

[oracle@node2 ~]$

上述 3 条命令分别配置了数据库和两个实例,此时 3 项服务刚刚配置完成,crs 中尚未同步其状态,因此需要执行一下 srvctl start database,然后再通过 crs_stat 即可查看正确的状态了。

OK,现在已经是集群的数据库了,整个恢复工作基本完成。剩下的比如修改监听、配置网络服务名,创建密钥文件等操作相信大家已经熟悉的不能再熟悉,这里不再演示相关操作了(注意密钥文件也是建议创建到共享存储端,否则的话就得在各个节点分别创建一份)。

一.3.4  实验总结

单实例的数据库备份集恢复到rac环境下其实很简单,和一般的恢复步骤都一样的,不过在恢复spfile、control file及datafile的时候需要放在共享存储里边,另外恢复完成后需要修改一些集群相关的参数才可以转换为集群数据库。

一.4  总结

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

一.5  About Me

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

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

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

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

本文pdf版:http://yunpan.cn/QCwUAI9bn7g7w  提取码:af2d

QQ:642808185 若加QQ请注明你所正在读的文章标题

创作时间地点:2015-06-01 10:00~ 2015-06-02 12:00 于外汇交易中心

<版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任!>

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

【RAC】将单实例备份集恢复为rac数据库的更多相关文章

  1. ORACLE11g R2【RAC&plus;ASM&srarr;单实例FS】

    ORACLE11g R2[RAC+ASM→单实例FS] 11g R2 RAC+ASMà单实例FS的DG,建议禁用OMF. 本演示案例所用环境:   primary standby OS Hostnam ...

  2. ORACLE10g R2【RAC&plus;ASM&srarr;单实例FS】

    ORACLE10g R2[RAC+ASM→单实例FS] 10g R2 RAC+ASMà单实例FS的DG,建议禁用OMF. 本演示案例所用环境:   primary standby OS Hostnam ...

  3. 【RAC】将RAC备份集恢复为单实例数据库

    [RAC]将RAC备份集恢复为单实例数据库 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识, ...

  4. Oracle&lowbar;lhr&lowbar;CentOS 7&period;3 ECS上搭建RAC 18c&plus;单实例DG&plus;EMCC&plus;DG的FSFO快速故障转移配置

    Oracle_lhr_CentOS 7.3  ECS上搭建RAC 18c+单实例DG+EMCC+DG的FSFO快速故障转移配置 [大型连续免费公开课]Oracle 18c rac+dg+13.3的em ...

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

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

  6. oracle使用rman备份集恢复方式创建ADG

    一.背景 系统: 主库:rhel 6.4 64bit 备库:rhel 6.4 64bit   内存:2G [oracle@dgdb1 ~]$ free -m total used free share ...

  7. 搭建rac对单实例的MAA

    一:实验环境 系统:redhat 4 三台计算机rac1,rac2,dg. --其中rac为主库,单实例为备库 已在虚拟机里搭建好集群环境(rac1,rac2); dg计算机里还没有建任何数据库(只安 ...

  8. oracle rac搭建单实例DG步骤(阅读全篇后再做)

    环境介绍 主库: 主机名 rac01 rac02 实体IP 10.206.132.232 10.206.132.233 私有IP 192.168.56.12 192.168.56.13 虚拟IP 10 ...

  9. Oracle - 给rac创建单实例dg,并做主从切换

    一.概述 本文将介绍如何给rac搭建单节点的dg,以及如何对其进行角色转换.预先具备的知识(rac搭建,单实例-单实例dg搭建) 二.实验环境介绍 主库rac(已安装rac,并已有数据库orcl)ra ...

随机推荐

  1. There is insufficient system memory to run this query 错误

    服务器环境大致情况如下: 操作系统:   Microsoft Windows Server 2003 R2 Enterprise Edition Service Pack 2 数据库  :   Mic ...

  2. 【Swift学习】Swift编程之旅(二)

    在本节将介绍一些最基础的知识 swift提供自己版本的类型,下面说明几种简单的类型 Int 整型 Double和float 浮点型 String 字符串型 Bool 布尔型 它也提供了3种主要的强大的 ...

  3. 阿里云Ubuntu 14&period;04 &plus; Nginx &plus; let&&num;39&semi;s encrypt 搭建https访问

    参考页面: https://certbot.eff.org/#ubuntutrusty-nginx http://bbs.qcloud.com/thread-12059-1-1.html http:/ ...

  4. 浅析python中socketserver模块使用

    虽然说用python编写简单的网络程序狠方便,但是复杂一点的网络程序还是用现成的框架比较好,这样就可以专心事物逻辑,而不是套接字的各种细节.Socketserver模块简化了编写网络服务程序,同时so ...

  5. Retrofit&plus;MVP框架封装记录篇

    当下最流行的网络请求组合,retrofit2+okhttp+rxjava+mvp 这里是封装记录篇 首先分模块,比如登录 先来说封装后的使用 package com.fragmentapp.login ...

  6. 《Orange&OpenCurlyQuote;s》Loader

    Loader 作用 引导扇区只有512个字节,能做的事情很少,局限性太大.所以需要一个程序,通过引导扇区加载入内存,然后将控制权交给它,这样就突破了512字节的限制.这个程序便是loader. 加载过 ...

  7. WebSocket起航 JavaScript客户端和Server通信

    Message  =>JSON  => Move 客户端发给服务器总是Move  server.send(JSON.stringify({row: row, column: column} ...

  8. hive内group by取第一条数据,Hive中row&lowbar;number的使用

    1.hive的分组和组内排序---语法 语法: row_number() over (partition by 字段a order by 计算项b desc ) rank rank是排序的别名 par ...

  9. 一、SQLite学习

    由于公司业务拓展,需要开发一个基于ASP.NET Core2.0+AdminLTE架构的后台管理系统,数据库选择方面,选择了使用SQLite轻便. SQLite:一个软件库,实现自给自足,无服务器,零 ...

  10. 软工实践-Beta 冲刺 (4&sol;7)

    队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 1.界面的修改与完善 展示GitHub当日代码/文档签入记 ...