繁体   English   中英

如何使用 RMAN 完全恢复 Oracle DB

[英]How to completely restore Oracle DB using RMAN

我有一个 oracle 19C 数据库,我需要为测试应用程序升级。 在运行数据库升级脚本之前,我使用 RMAN 使用以下步骤进行备份:

shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
BACKUP DATABASE PLUS ARCHIVELOG;

这是 output:

piece handle=C:\USERS\ADMINISTRATOR\DOWNLOADS\WINDOWS.X64_193000_DB_HOME\DATABASE\04VFR0AS_1_1   
tag=TAG20201118T115123 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 18-NOV-20

现在我想恢复我的备份,因为升级不成功,我使用了这些命令:

shutdown immediate;
startup mount;
restore database;
recover database;
alter database open;

恢复和恢复过程都成功完成,但我认为数据库没有完全恢复到备份前的 state。 例如,一些来自失败升级脚本的新创建的表和更改的表空间等仍然存在。 如何将我的数据库恢复到尝试升级之前的状态? 我希望所有新表对表空间、设置等的任何新更改都重置为以前的 state。 我做错了什么?

您正在执行完整的恢复和恢复,这将包括最新的存档日志,因此您最终将进入您已经在其中的相同 position。您想要的是执行数据库时间点恢复https://docs.ZA189C6303D9995E1B1ECBFZ6。 com/en/database/oracle/oracle-database/19/bradv/user-managed-flashback-dbpitr.html#GUID-2BF2BE5E-3D1B-4F0C-9F10-25D5342F6DB3 本质上,您需要使用recover语句的until子句。

rman> shutdown immediate;
rman> startup mount;
rman> restore database;
rman> run {
set until SCN <specify_your_desired_SCN_here>;
recover database;}
rman> alter database open resetlogs;

注意:要获取 SCN,请运行 rman>list backup of database;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM