编写ALTER DATABASE CONTROLFILE命令时,数据文件会损坏吗?

时间:2018-08-14 21:53:18

标签: database oracle database-administration

实际上,我对这个问题感到困惑,并且在检查中无法轻易解决这个问题:“请考虑您在休假时接到备份DBA的电话。他在玩游戏时损坏了所有数据文件ALTER DATABASE CONTROLFILE命令。您要做什么?解释。”对此合适的答案是什么?

1 个答案:

答案 0 :(得分:0)

首先ALTER DATABASE CONTROLFILE无效,至少可以使用ALTER DATABASE BACKUP CONTROLFILE TO TRACE;,而且我从未见过Oracle数据库被上述命令破坏。

回到您的问题,如果那个人破坏了所有数据文件,那么还原+恢复是唯一的解决方案。

现在您有两种情况:

1):数据库处于归档日志模式并已完全备份(每天),您可以使用set until_time条款(以尽可能接近最后一个事务)还原数据库,然后restore databaserecover database-全部放在run rman块中。

2)否则,您只能通过rman发出restore database命令,以在上次冷(脱机)备份时恢复数据库。

在这些步骤之一的最后,您需要OPEN DATABASE RESETLOGS,因为您来自Oracle所说的“不完全恢复”。

忘记了重要的事情:

如果那个家伙只是破坏了数据文件,那么上述步骤可以挽救您的生命,如果控制文件由于某种奇怪的原因而被破坏,则需要restore controlfile from [backup_name]from autobackup ,然后将其复制到其他位置(如果有),或者您需要从头开始重新创建它。

希望这会有所帮助。

为此,

SQL> alter database controlfile;

ERRORE alla riga 1:
ORA-02231: opzione di ALTER DATABASE mancante o non valida