rac下的备份恢复

rac备份恢复与正常基本一样,但要注意一些常见问题:

  • rac备份恢复要使归档能否被所有节点访问到
  • asm相关的路径问题等等

备份

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;
}


RMAN> list backup;


List of Backup Sets
===================


BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
3       Full    658.77M    DISK        00:01:34     2022-06-07 14:23:28
        BP Key: 3   Status: AVAILABLE  Compressed: NO  Tag: TAG20220607T142153
        Piece Name: /home/oracle/rman_back/full_RAC1xxxx_20220607_1106749314_6_1.bak
  List of Datafiles in backup set 3
  File LV Type Ckp SCN    Ckp Time            Name
  ---- -- ---- ---------- ------------------- ----
  1       Full 2331391    2022-06-07 14:21:54 +DATA/rac1/datafile/system.256.1105719819
  3       Full 2331391    2022-06-07 14:21:54 +DATA/rac1/datafile/undotbs1.258.1105719819
  6       Full 2331391    2022-06-07 14:21:54 +DATA/rac1/datafile/undotbs2.265.1105720401

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
4       Full    813.88M    DISK        00:01:59     2022-06-07 14:23:53
        BP Key: 4   Status: AVAILABLE  Compressed: NO  Tag: TAG20220607T142153
        Piece Name: /home/oracle/rman_back/full_RAC1xxxx_20220607_1106749314_5_1.bak
  List of Datafiles in backup set 4
  File LV Type Ckp SCN    Ckp Time            Name
  ---- -- ---- ---------- ------------------- ----
  2       Full 2331389    2022-06-07 14:21:54 +DATA/rac1/datafile/sysaux.257.1105719819
  4       Full 2331389    2022-06-07 14:21:54 +DATA/rac1/datafile/users.259.1105719819
  5       Full 2331389    2022-06-07 14:21:54 +DATA/rac1/datafile/example.264.1105720057

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
5       Full    80.00K     DISK        00:00:01     2022-06-07 14:23:56
        BP Key: 5   Status: AVAILABLE  Compressed: NO  Tag: TAG20220607T142153
        Piece Name: /home/oracle/rman_back/full_RAC1xxxx_20220607_1106749435_8_1.bak
  SPFILE Included: Modification time: 2022-06-07 14:12:53
  SPFILE db_unique_name: RAC1

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
6       Full    17.67M     DISK        00:00:27     2022-06-07 14:23:58
        BP Key: 6   Status: AVAILABLE  Compressed: NO  Tag: TAG20220607T142153
        Piece Name: /home/oracle/rman_back/full_RAC1xxxx_20220607_1106749411_7_1.bak
  Control File Included: Ckp SCN: 2331444      Ckp time: 2022-06-07 14:23:49

BS Key  Size       Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ -------------------
7       25.03M     DISK        00:00:08     2022-06-07 14:24:15
        BP Key: 7   Status: AVAILABLE  Compressed: NO  Tag: TAG20220607T142407
        Piece Name: /home/oracle/rman_back/arch_RAC1_20220607_9_1.bak

  List of Archived Logs in backup set 7
  Thrd Seq     Low SCN    Low Time            Next SCN   Next Time
  ---- ------- ---------- ------------------- ---------- ---------
  2    29      2309002    2022-06-07 08:18:02 2326827    2022-06-07 14:05:26

BS Key  Size       Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ -------------------
8       5.84M      DISK        00:00:10     2022-06-07 14:24:17
        BP Key: 8   Status: AVAILABLE  Compressed: NO  Tag: TAG20220607T142407
        Piece Name: /home/oracle/rman_back/arch_RAC1_20220607_10_1.bak

  List of Archived Logs in backup set 8
  Thrd Seq     Low SCN    Low Time            Next SCN   Next Time
  ---- ------- ---------- ------------------- ---------- ---------
  1    27      2320530    2022-06-07 11:41:45 2331171    2022-06-07 14:16:52
  1    28      2331171    2022-06-07 14:16:52 2331292    2022-06-07 14:20:02
  2    30      2326965    2022-06-07 14:11:46 2331175    2022-06-07 14:16:53
  2    31      2331175    2022-06-07 14:16:53 2331289    2022-06-07 14:20:01
  2    32      2331289    2022-06-07 14:20:01 2331469    2022-06-07 14:24:02

BS Key  Size       Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ -------------------
9       371.00K    DISK        00:00:01     2022-06-07 14:24:26
        BP Key: 9   Status: AVAILABLE  Compressed: NO  Tag: TAG20220607T142407
        Piece Name: /home/oracle/rman_back/arch_RAC1_20220607_11_1.bak

  List of Archived Logs in backup set 9
  Thrd Seq     Low SCN    Low Time            Next SCN   Next Time
  ---- ------- ---------- ------------------- ---------- ---------
  1    29      2331292    2022-06-07 14:20:02 2331465    2022-06-07 14:24:01
  1    30      2331465    2022-06-07 14:24:01 2331861    2022-06-07 14:24:05
  2    33      2331469    2022-06-07 14:24:02 2331864    2022-06-07 14:24:05

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
10      Full    17.67M     DISK        00:00:07     2022-06-07 14:24:38
        BP Key: 10   Status: AVAILABLE  Compressed: NO  Tag: TAG20220607T142431
        Piece Name: /home/oracle/rman_back/ctl_RAC1_20220607_12_1.bak
  Control File Included: Ckp SCN: 2331895      Ckp time: 2022-06-07 14:24:31


#注意的点:
#与普通实例不同的是,rac中的spfile会在backup database时自动备份,因为rac下的spfile默认是被所有节点共享的
RMAN> show all
......
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
......

RMAN> list backup of spfile;


List of Backup Sets
===================


BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
5       Full    80.00K     DISK        00:00:01     2022-06-07 14:23:56
        BP Key: 5   Status: AVAILABLE  Compressed: NO  Tag: TAG20220607T142153
        Piece Name: /home/oracle/rman_back/full_RAC1xxxx_20220607_1106749435_8_1.bak
  SPFILE Included: Modification time: 2022-06-07 14:12:53
  SPFILE db_unique_name: RAC1





RMAN> list backup of controlfile;


List of Backup Sets
===================


BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
6       Full    17.67M     DISK        00:00:27     2022-06-07 14:23:58
        BP Key: 6   Status: AVAILABLE  Compressed: NO  Tag: TAG20220607T142153
        Piece Name: /home/oracle/rman_back/full_RAC1xxxx_20220607_1106749411_7_1.bak
  Control File Included: Ckp SCN: 2331444      Ckp time: 2022-06-07 14:23:49

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
10      Full    17.67M     DISK        00:00:07     2022-06-07 14:24:38
        BP Key: 10   Status: AVAILABLE  Compressed: NO  Tag: TAG20220607T142431
        Piece Name: /home/oracle/rman_back/ctl_RAC1_20220607_12_1.bak
  Control File Included: Ckp SCN: 2331895      Ckp time: 2022-06-07 14:24:31

删库

[grid@rac-node1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       rac-node1
               ONLINE  ONLINE       rac-node2
ora.FRA.dg
               ONLINE  ONLINE       rac-node1
               ONLINE  ONLINE       rac-node2
ora.LISTENER.lsnr
               ONLINE  ONLINE       rac-node1
               ONLINE  ONLINE       rac-node2
ora.OCR.dg
               ONLINE  ONLINE       rac-node1
               ONLINE  ONLINE       rac-node2
ora.asm
               ONLINE  ONLINE       rac-node1                Started
               ONLINE  ONLINE       rac-node2                Started
ora.gsd
               OFFLINE OFFLINE      rac-node1
               OFFLINE OFFLINE      rac-node2
ora.net1.network
               ONLINE  ONLINE       rac-node1
               ONLINE  ONLINE       rac-node2
ora.ons
               ONLINE  ONLINE       rac-node1
               ONLINE  ONLINE       rac-node2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rac-node2
ora.cvu
      1        ONLINE  ONLINE       rac-node2
ora.oc4j
      1        ONLINE  ONLINE       rac-node2
ora.rac-node1.vip
      1        ONLINE  ONLINE       rac-node1
ora.rac-node2.vip
      1        ONLINE  ONLINE       rac-node2
ora.rac1.db
      1        ONLINE  ONLINE       rac-node1                Open
      2        ONLINE  ONLINE       rac-node2                Open
ora.scan1.vip
      1        ONLINE  ONLINE       rac-node2

#停止db的service:  srvctl stop database -d rac1
#删库,删除掉asm里的数据文件
[grid@rac-node1 ~]$ srvctl status database -d rac1
实例 rac11 没有在 rac-node1 节点上运行
实例 rac12 没有在 rac-node2 节点上运行

[grid@rac-node1 ~]$ crsctl stat res -t
......
ora.rac1.db
      1        OFFLINE OFFLINE                               Instance Shutdown
      2        OFFLINE OFFLINE                               Instance Shutdown
......

#删除system和sysaux数据文件
ASMCMD> ls DATA/RAC1/DATAFILE
EXAMPLE.264.1105720057
SYSAUX.257.1105719819
SYSTEM.256.1105719819
UNDOTBS1.258.1105719819
UNDOTBS2.265.1105720401
USERS.259.1105719819

ASMCMD> rm -f  DATA/RAC1/DATAFILE/SYS*
ASMCMD> ls DATA/RAC1/DATAFILE
EXAMPLE.264.1105720057
UNDOTBS1.258.1105719819
UNDOTBS2.265.1105720401
USERS.259.1105719819

恢复

SQL> startup
ORACLE instance started.

Total System Global Area 1536602112 bytes
Fixed Size                  2253504 bytes
Variable Size            1023413568 bytes
Database Buffers          503316480 bytes
Redo Buffers                7618560 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '+DATA/rac1/datafile/system.256.1105719819'

asm中如果没有相关的路径,可能需要创建

只是少了数据文件而已,spfile存在,控制文件正确,所以需要恢复的只是数据文件

#Mount,system表空间没有,所以只能mount下恢复

alter database mount;

SQL> select status from gv$instance;

STATUS
------------
MOUNTED


#recover还原
RMAN> restore tablespace system,sysaux;

Starting restore at 2022-06-07 15:18:22
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=8 instance=rac11 device type=DISK

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/rac1/datafile/system.256.1105719819
channel ORA_DISK_1: reading from backup piece /home/oracle/rman_back/full_RAC1xxxx_20220607_1106749314_6_1.bak
channel ORA_DISK_1: piece handle=/home/oracle/rman_back/full_RAC1xxxx_20220607_1106749314_6_1.bak tag=TAG202206                                                     07T142153
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:15
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/rac1/datafile/sysaux.257.1105719819
channel ORA_DISK_1: reading from backup piece /home/oracle/rman_back/full_RAC1xxxx_20220607_1106749314_5_1.bak
channel ORA_DISK_1: piece handle=/home/oracle/rman_back/full_RAC1xxxx_20220607_1106749314_5_1.bak tag=TAG202206                                                     07T142153
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:25
Finished restore at 2022-06-07 15:19:04


#recover恢复
RMAN> recover tablespace system,sysaux;

Starting recover at 2022-06-07 15:19:19
using channel ORA_DISK_1

starting media recovery

archived log for thread 2 with sequence 34 is already on disk as file +FRA/rac1/archivelog/2022_06_07/thread_2_                                                     seq_34.268.1106751415
channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=2 sequence=32
channel ORA_DISK_1: reading from backup piece /home/oracle/rman_back/arch_RAC1_20220607_10_1.bak
channel ORA_DISK_1: piece handle=/home/oracle/rman_back/arch_RAC1_20220607_10_1.bak tag=TAG20220607T142407
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=29
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=30
channel ORA_DISK_1: restoring archived log
archived log thread=2 sequence=33
channel ORA_DISK_1: reading from backup piece /home/oracle/rman_back/arch_RAC1_20220607_11_1.bak
channel ORA_DISK_1: piece handle=/home/oracle/rman_back/arch_RAC1_20220607_11_1.bak tag=TAG20220607T142407
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
archived log file name=+FRA/rac1/archivelog/2022_06_07/thread_1_seq_29.267.1106752763 thread=1 sequence=29
archived log file name=+FRA/rac1/archivelog/2022_06_07/thread_2_seq_32.269.1106752761 thread=2 sequence=32
channel default: deleting archived log(s)
archived log file name=+FRA/rac1/archivelog/2022_06_07/thread_1_seq_29.267.1106752763 RECID=13 STAMP=1106752762
channel default: deleting archived log(s)
archived log file name=+FRA/rac1/archivelog/2022_06_07/thread_1_seq_30.266.1106752763 RECID=12 STAMP=1106752762
channel default: deleting archived log(s)
archived log file name=+FRA/rac1/archivelog/2022_06_07/thread_2_seq_32.269.1106752761 RECID=11 STAMP=1106752761
channel default: deleting archived log(s)
archived log file name=+FRA/rac1/archivelog/2022_06_07/thread_2_seq_33.265.1106752763 RECID=14 STAMP=1106752762
media recovery complete, elapsed time: 00:00:03
Finished recover at 2022-06-07 15:19:26



#open数据库,当前节点成功open
SQL> alter database open;

Database altered.
......
ora.rac1.db
      1        ONLINE  ONLINE       rac-node1                Open
      2        OFFLINE OFFLINE                               Instance Shutdown
......

#启动所有节点
srvctl start database -d rac1

......
ora.rac1.db
      1        ONLINE  ONLINE       rac-node1                Open
      2        ONLINE  ONLINE       rac-node2                Open
......

rac备份脚本参考

#参考脚本
#!/bin/bash
source /home/oracle/.bash_profile
backtime=$(date +%F)
mkdir -p /home/oracle/bak/$backtime
rman  target / <<EOF
run {
allocate channel ch1  type disk;
allocate channel ch2  type disk;
allocate channel ch3  type disk;
allocate channel ch4  type disk;
allocate channel ch5  type disk;
allocate channel ch6  type disk;
sql 'alter system archive log current';

backup as compressed backupset database format '/home/oracle/bak/$backtime/racdb_%T_%U';

sql 'alter system archive log current';

backup as compressed backupset archivelog all format '/home/oracle/bak/$backtime/arch_%T_%U';

backup current controlfile format '/home/oracle/bak/$backtime/cron_%T_%U';

backup spfile format '/home/oracle/bak/$backtime/racdb%d.%s.%p.%T.SPFILE';
release channel ch1;
release channel ch2;
release channel ch3;
release channel ch4;
release channel ch5;
release channel ch6;
}
EOF
posted @ 2022-06-07 15:46  EverEternity  阅读(93)  评论(0编辑  收藏  举报