oracle从rac恢复单机,Oracle RAC 到单机恢复测试 RMAN backup

0>环境

RAC to 单机

Linux 5.6

Oracle 10g

RMAN backup 备份数据库

1>Backup of the primary database.

RMAN> run {

allocate channel d1 type disk;

backup  format '/dr/tt/df_t%t_s%s_p%p' database;

sql 'alter system archive log current';

backup  format '/dr/tt/al_t%t_s%s_p%p' archivelog all;

release channel d1;

}

[root@rac2 tt]# ls -al

total 832188

drwxr-xr-x  2 oracle dba       4096 Aug 11 07:23 .

drwxrwxrwx  7 root   root      4096 Aug 11 07:13 ..

-rw-r-----  1 oracle dba  104620032 Aug 11 07:24 al_t758877800_s17_p1

-rw-r-----  1 oracle dba  731316224 Aug 11 07:20 df_t758877301_s15_p1

-rw-r-----  1 oracle dba   15368192 Aug 11 07:20 df_t758877630_s16_p1

2. Determine how much disk space will be required.

SQL> select DF.TOTAL/1048576 "DataFile Size Mb",

2              LOG.TOTAL/1048576 "Redo Log Size Mb",

3              CONTROL.TOTAL/1048576 "Control File Size Mb",

4              (DF.TOTAL + LOG.TOTAL + CONTROL.TOTAL)/1048576 "Total Size Mb" from dual,

5      (select sum(a.bytes) TOTAL from dba_data_files a

6       where tablespace_name in('SYSTEM','UNDOTBS1', 'SYSAUX', 'USERS')) DF,

(select sum(b.bytes) TOTAL from v$log b) LOG,

(select sum((cffsz+1)*cfbsz) TOTAL from x$kcccf c) CONTROL;

7    8

DataFile Size Mb Redo Log Size Mb Control File Size Mb Total Size Mb

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

935              200            14.578125    1149.57813

3. Ensuring you have enough space on your target server.

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/sda1             15480800   4529308  10165112  31% /

none                    352660         0    352660   0% /dev/shm

/dev/sdh1              8254240   1510796   6324152  20% /dr

4. list backup

crosscheck backup;

delete expired backup;

list backup

5. 恢复数据库

--恢复参数文件

SQL>create pfile='/tmp/ntt.ora' from spfile

SQL>shutdown immediate

--修改pfile

SQL>startup nomount pfile='/dr/tmptt.ora'

--恢复控制文件

rman target /

RMAN> restore controlfile to '/dr/reco/controlfile1.dbf' from '/dr/tt/df_t758877630_s16_p1';

Starting restore at 11-AUG-11

using channel ORA_DISK_1

channel ORA_DISK_1: restoring control file

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

Finished restore at 11-AUG-11

RMAN> alter database mount;

RMAN> catalog backuppiece '/dr/tt/al_t758877800_s17_p1';

RMAN> catalog backuppiece '/dr/tt/df_t758877301_s15_p1';

RMAN> catalog backuppiece '/dr/tt/df_t758877630_s16_p1';

RMAN> list backup of archivelog all;

BS Key  Size       Device Type Elapsed Time Completion Time

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

12      99.77M     DISK        00:00:00     11-AUG-11

BP Key: 16   Status: AVAILABLE  Compressed: NO  Tag: TAG20110811T072258

Piece Name: /dr/tt/al_t758877800_s17_p1

List of Archived Logs in backup set 12

Thrd Seq     Low SCN    Low Time  Next SCN   Next Time

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

1    28      353703     08-AUG-11 379686     09-AUG-11

1    29      379686     09-AUG-11 421780     09-AUG-11

1    30      421780     09-AUG-11 466309     09-AUG-11

1    31      466309     09-AUG-11 472785     09-AUG-11

1    32      472785     09-AUG-11 477890     09-AUG-11

1    33      477890     09-AUG-11 504563     11-AUG-11

1    34      504563     11-AUG-11 507216     11-AUG-11

1    35      507216     11-AUG-11 507314     11-AUG-11

2    1       358328     08-AUG-11 445897     09-AUG-11

2    2       445897     09-AUG-11 472790     09-AUG-11

2    3       472790     09-AUG-11 477892     09-AUG-11

2    4       477892     09-AUG-11 507244     11-AUG-11

2    5       507244     11-AUG-11 507312     11-AUG-11

run {

set until sequence 59 thread 1;

set newname for datafile 1 to '/dr/tt/system01.dbf';

set newname for datafile 2 to '/dr/tt/undotbs01.dbf';

set newname for datafile 3 to '/dr/tt/sysaux01.dbf';

set newname for datafile 4 to '/dr/tt/undotbs02.dbf';

set newname for datafile 5 to '/dr/tt/user.dbf';

restore database;

switch datafile all;

recover database;

}

executing command: SET until clause

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 11-AUG-11

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=142 instance=tt1 devtype=DISK

channel ORA_DISK_1: starting datafile backupset restore

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

restoring datafile 00001 to /dr/tt/system01.dbf

restoring datafile 00002 to /dr/tt/undotbs01.dbf

restoring datafile 00003 to /dr/tt/sysaux01.dbf

restoring datafile 00004 to /dr/tt/undotbs02.dbf

restoring datafile 00005 to /dr/tt/user.dbf

channel ORA_DISK_1: reading from backup piece /dr/tt/df_t758877301_s15_p1

channel ORA_DISK_1: restored backup piece 1

piece handle=/dr/tt/df_t758877301_s15_p1 tag=TAG20110811T071500

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

Finished restore at 11-AUG-11

datafile 1 switched to datafile copy

input datafile copy recid=11 stamp=758880381 filename=/dr/tt/system01.dbf

datafile 2 switched to datafile copy

input datafile copy recid=12 stamp=758880382 filename=/dr/tt/undotbs01.dbf

datafile 3 switched to datafile copy

input datafile copy recid=13 stamp=758880382 filename=/dr/tt/sysaux01.dbf

datafile 4 switched to datafile copy

input datafile copy recid=14 stamp=758880382 filename=/dr/tt/undotbs02.dbf

datafile 5 switched to datafile copy

input datafile copy recid=15 stamp=758880382 filename=/dr/tt/user.dbf

Starting recover at 11-AUG-11

using channel ORA_DISK_1

starting media recovery

archive log thread 1 sequence 35 is already on disk as file +DB/tt/onlinelog/group_1.257.758668823

archive log thread 1 sequence 36 is already on disk as file +DB/tt/onlinelog/group_2.258.758668827

archive log thread 2 sequence 5 is already on disk as file +DB/tt/onlinelog/group_3.265.758672735

archive log thread 2 sequence 6 is already on disk as file +DB/tt/onlinelog/group_4.266.758672751

channel ORA_DISK_1: starting archive log restore to default destination

channel ORA_DISK_1: restoring archive log

archive log thread=1 sequence=34

channel ORA_DISK_1: restoring archive log

archive log thread=2 sequence=4

channel ORA_DISK_1: reading from backup piece /dr/tt/al_t758877800_s17_p1

channel ORA_DISK_1: restored backup piece 1

piece handle=/dr/tt/al_t758877800_s17_p1 tag=TAG20110811T072258

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

archive log filename=/dr/reco/1_34_758668813.dbf thread=1 sequence=34

archive log filename=/dr/reco/2_4_758668813.dbf thread=2 sequence=4

archive log filename=+DB/tt/onlinelog/group_1.257.758668823 thread=1 sequence=35

archive log filename=+DB/tt/onlinelog/group_3.265.758672735 thread=2 sequence=5

archive log filename=+DB/tt/onlinelog/group_4.266.758672751 thread=2 sequence=6

archive log filename=+DB/tt/onlinelog/group_2.258.758668827 thread=1 sequence=36

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

Finished recover at 11-AUG-11

--修改redo

SQL> select member from v$logfile

/

MEMBER

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

+DB/tt/onlinelog/group_1.257.758668823

+DB/tt/onlinelog/group_2.258.758668827

+DB/tt/onlinelog/group_3.265.758672735

+DB/tt/onlinelog/group_4.266.758672751

alter database rename file '+DB/tt/onlinelog/group_1.257.758668823' to '/dr/reco/redo1.log';

alter database rename file '+DB/tt/onlinelog/group_2.258.758668827' to '/dr/reco/redo2.log';

alter database rename file '+DB/tt/onlinelog/group_3.265.758672735' to '/dr/reco/redo3.log';

alter database rename file '+DB/tt/onlinelog/group_4.266.758672751' to '/dr/reco/redo4.log';

SQL> alter database rename file '+DB/tt/onlinelog/group_1.257.758668823' to '/dr/reco/redo1.log';

Database altered.

SQL> alter database rename file '+DB/tt/onlinelog/group_2.258.758668827' to '/dr/reco/redo2.log';

Database altered.

SQL> alter database rename file '+DB/tt/onlinelog/group_3.265.758672735' to '/dr/reco/redo3.log';

Database altered.

SQL> alter database rename file '+DB/tt/onlinelog/group_4.266.758672751' to '/dr/reco/redo4.log';

Database altered.

--thread

SQL> select THREAD#, STATUS, ENABLED  from v$thread

/

THREAD# STATUS ENABLED

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

1 OPEN   PUBLIC

2 OPEN   PUBLIC

--open

SQL> alter database open resetlogs

/

Database altered.

SQL> select THREAD#, STATUS, ENABLED  from v$thread

/

THREAD# STATUS ENABLED

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

1 OPEN   PUBLIC

2 CLOSED PUBLIC

--disable 2节点的redo thread

SQL> alter database disable thread 2

2  /

Database altered.

--2号节点的group

SQL> select group# from v$log where THREAD#=2

2  /

GROUP#

----------

3

4

--delete 2节点的redo

SQL> alter database drop logfile group 4

/

SQL> alter database drop logfile group 4

/

alter database drop logfile group 4

*

ERROR at line 1:

ORA-00350: log 4 of instance tt2 (thread 2) needs to be archived

ORA-00312: online log 4 thread 2: '/dr/reco/redo4.log'

SQL> alter database clear unarchived logfile group 4

/

SQL> alter database drop logfile group 4

/

SQL> alter database drop logfile group 3

/

SQL> select THREAD#, STATUS, ENABLED from v$thread

/

THREAD# STATUS ENABLED

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

1 OPEN   PUBLIC

--删除undo

SQL> show parameter undo

NAME                                 TYPE        VALUE

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

undo_management                      string      AUTO

undo_retention                       integer     900

undo_tablespace                      string      UNDOTBS1

SQL>

SQL> show parameter undo

NAME                                 TYPE        VALUE

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

undo_management                      string      AUTO

undo_retention                       integer     900

undo_tablespace                      string      UNDOTBS1

SQL> select name from v$tablespace;

NAME

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

SYSTEM

UNDOTBS1

SYSAUX

TEMP

UNDOTBS2

USERS

SQL> drop tablespace UNDOTBS2 including contents and datafiles

/

Tablespace dropped.

--重建temp

SQL> select name from v$tempfile

2  /

NAME

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

+DB/tt/tempfile/temp.262.758668873

SQL> select tablespace_name from dba_tablespaces where contents='TEMPORARY'

/

TABLESPACE_NAME

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

TEMP

SQL> create temporary tablespace TEMP1

tempfile '/dr/tt/tmp1.dbf'  size 50M;

Tablespace created.

SQL> alter database default temporary tablespace TEMP1

/

Database altered.

SQL> drop tablespace TEMP including contents and datafiles

/

Tablespace dropped.

--spfile

修改pfile中相关RAC参数,重建spfile

#tt2.__db_cache_size=88080384

#tt2.__java_pool_size=4194304

#tt2.__large_pool_size=4194304

#tt2.__shared_pool_size=83886080

#tt2.__streams_pool_size=0

#*.cluster_database_instances=2

#*.cluster_database=true

#tt1.instance_number=1

#tt2.instance_number=2

#*.remote_listener='LISTENERS_TT'

#tt2.thread=2

#tt2.undo_tablespace='UNDOTBS2'

SQL>startup nomount pfile='/dr/tmptt.ora'

SQL>create spfile from pfile='/dr/tmptt.ora'

SQL>shutdown immediate;

SQL>startup

[oracle@rac1 dr]$ lsnrctl status

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 11-AUG-2011 09:15:50

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

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

STATUS of the LISTENER

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

Alias                     LISTENER_RAC1

Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production

Start Date                11-AUG-2011 06:52:23

Uptime                    0 days 2 hr. 23 min. 28 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /oracle/app/product/10.2.0/db_1/network/admin/listener.ora

Listener Log File         /oracle/app/product/10.2.0/db_1/network/log/listener_rac1.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.63.31)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.63.30)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

Services Summary...

Service "+ASM" has 1 instance(s).

Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...

Service "+ASM_XPT" has 1 instance(s).

Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...

Service "tt" has 1 instance(s).

Instance "tt1", status READY, has 1 handler(s) for this service...

Service "ttXDB" has 1 instance(s).

Instance "tt1", status READY, has 1 handler(s) for this service...

Service "tt_XPT" has 1 instance(s).

Instance "tt1", status READY, has 1 handler(s) for this service...

The command completed successfully

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值