ORA-01181: file string created before last known RESETLOGS, cannot recreate

文档解释

ORA-01181: file string created before last known RESETLOGS, cannot recreate

Cause: Attempted to use ALTER DATABASE CREATE DATAFILE to recreate a datafile that existed before the last known RESETLOGS.

Action: Find a backup of the file, and recover it. Do incomplete recovery to time before file was originally created.

ORA-01181是一个错误号,它说明在重新创建一个数据库之前,之前创建的文件已在最后一个已知的RESETLOGS(重启日志)操作之前被创建了。RESETLOGS操作就是重新初始化日志文件,记录数据库重启之后执行的日志记录信息,包括重启之前的所有更改和变化。

官方解释

ORA-01181错误提示的是数据库文件的位置,说明它在最后一次RESETLOGS操作之前被创建了,因此不能再次创建它。这是因为重启日志操作会抹掉之前的所有数据,更改此文件将会毁掉所有数据库记录。

常见案例

可能是由于对以前的数据库文件进行了更改导致这个错误发生,如迁移到新的平台,而新的平台的文件位置和以前的不一样,被认为是在最后一次RESETLOGS操作之前创建的,因此报错。

正常处理方法及步骤

1. 查看数据库的版本,是否是最新的,如果不是,需要先更新数据库版本;

2. 查询导致此错误的数据库文件,备份该文件;

3. 使用SQL*Plus把数据库重置到最后一次RESETLOGS操作之后,使用resetlogs命令;

4. 重新创建报错的文件,创建完成后需要重新启动数据库;

5. 使用RMAN备份数据库,以防万一。

你可能感兴趣的