RMAN恢复-在归档模式下丢失所有文件恢复

1. 介绍

如果要创建正式库的备份,一般不建议用非归档模式备份,也不建议用很简单的命令来完成。

而是更多的采用脚本实现归档模式备份,这样将可通过 backup+archive log+redo 有效的将数据恢复到最近一次改变的状态, 可以达到数据的丢失最小化。

2. 操作

2.1. 先打开归档模式

startup mount force 
alter database archivelog; 
alter database open 

2.2. 执行备份

(执行备份命令实际上是跟非归档模式备份是一样的)

rman target / 
backup tag hfzcdb_fullbak02 database format '/backup/full/hfzcdb_fullbak02_%s_%p_%t' 
current controlfile format '/backup/full/hfzcdb_ctl02_%s_%p_%t' 
plus archivelog format '/backup/full/hfzcdb_arch02_%s_%p_%t'; 

2.3. 故障模拟

删除数据库的所有文件,仅保留 redo 日志和 archivelog 文件

-- 删除控制文件、数据文件: 
[oracle@hfzcdb56:/oradata/hfzcdb]$rm control0* 
[oracle@hfzcdb56:/oradata/hfzcdb]$rm *.dbf 

[oracle@hfzcdb56:/oradata/hfzcdb]$ls 
redo01.log redo02.log redo03.log 

-- 删除参数文件: 
cd $ORACLE_HOME/dbs 
mv spfilehfzcdb.ora spfilehfzcdb.ora.bak 

-- 数据库关闭 
shutdown abort; 

2.4. 恢复过程

(开启归档,切以下日志,进rman备份数据文件,控制文件,归档日志文件,删除数据文件、控制文件、spfile文件,保留redo日志文件,关闭数据库,进rman,用startup force nomount强制启动到nomount,恢复spfile文件,进入sql,启动到startup nomount force;再到rman,恢复控制文件,恢复数据 restore database; recover database,再进入sqlplus,启动数据库alter database open resetlogs;)

备份数据

SYS@hfzcdb> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     6
Next log sequence to archive   8
Current log sequence           8
SYS@hfzcdb> show parameter recovery

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /archive
db_recovery_file_dest_size           big integer 100G
recovery_parallelism                 integer     0
remote_recovery_file_dest            string
SYS@hfzcdb> alter system switch logfile;

System altered.

SYS@hfzcdb> /

System altered.

SYS@hfzcdb> .
SYS@hfzcdb> /

System altered.

SYS@hfzcdb> alter system switch logfile;

System altered.

SYS@hfzcdb> alter system switch logfile;

System altered.

SYS@hfzcdb> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
[oracle@hfzcdb91:/home/oracle]$rman target /

Recovery Manager: Release 19.0.0.0.0 - Production on Fri Mar 31 19:31:02 2023
Version 19.3.0.0.0

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

connected to target database: HFZCDB (DBID=797496974)

backup tag hfzcdb_fullbak02 database format '/backup/full/hfzcdb_fullbak02_%s_%p_%t'
current controlfile format '/backup/full/hfzcdb_ctl02_%s_%p_%t'
3> plus archivelog format '/backup/full/hfzcdb_arch02_%s_%p_%t';


Starting backup at 2023-03-31 19:31:15
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1152 device type=DISK
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=8 RECID=1 STAMP=1132947040
input archived log thread=1 sequence=9 RECID=2 STAMP=1132947042
input archived log thread=1 sequence=10 R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莳花微语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值