【问题标题】:Oracle Database RMAN Backup not Restoring Tables or UsersOracle 数据库 RMAN 备份不恢复表或用户
【发布时间】:2020-02-25 02:07:20
【问题描述】:

我正在尝试使用 RMAN 备份 Oracle 19c 数据库,但我似乎遇到了一些问题。我首先做的是在备份之前在数据库中创建测试表和用户。然后我在 RMAN 中运行

RMAN> BACKUP DATABASE PLUS ARCHIVELOG;

备份数据库后,我删除了我创建的测试表和用户并开始恢复数据库

RMAN> restore controlfile from 'LOCATIN OF CONTROLFILE';
RMAN> ALTER DATABASE MOUNT;
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN RESETLOGS;   

当我连接到数据库时,它丢失了我删除的所有表和用户。我不确定是否需要更新我的数据文件或者我忽略了一个步骤。谢谢

【问题讨论】:

标签: database oracle rman


【解决方案1】:

你必须使用 设置到 SCn 并在删除表和表空间之前提供 SCn。 您还可以在删除表之前创建一个还原点并使用 rman 命令将数据库还原到还原点'rspname'

【讨论】:

    【解决方案2】:

    这是不可能的!首先,rman 使用“PLUS ARCHIVELOG”运行,因此您的数据库当前处于归档日志模式。其次,您恢复控制文件和数据库,然后执行“完成”恢复,因此在完成时 - 您的测试表和用户必须在那里。

    【讨论】:

      【解决方案3】:

      如果您按照这些步骤进行操作,则必须查看表格。为避免混淆,请使用 set until time 或 SCN 或 Time

      SET UNTIL SCN <scn after object creation>;
      SET UNTIL SEQUENCE <seq no after table creation>;
      set until time <time after table creation>;
      

      另外请验证您是否连接到正确的数据库

      这是一个例子

      RMAN> restore controlfile from 'LOCATIN OF CONTROLFILE';
      RMAN> ALTER DATABASE MOUNT;
      RMAN>RUN
       {allocate channel c1 device type disk; 
      allocate channel c2 device type disk; 
       set until time '2020-03-19:15:30:00';
        restore database;
        recover database;
      ALTER DATABASE OPEN RESETLOGS;   
        }
      

      【讨论】:

        猜你喜欢
        • 2010-09-09
        • 2012-07-29
        • 2020-02-12
        • 2020-03-15
        • 2012-04-29
        • 2022-06-16
        • 2017-02-17
        • 2014-05-28
        相关资源
        最近更新 更多