Eu havia iniciado um processo de migrar um banco de dados de filesystem para Automatic Storage Management (ASM). Após migrar Datafiles, Controlfiles e Logfiles para o meu Diskgroup +DATA. Com o banco de dados fechado eu decidi apagar todos os arquivos “obsoletos” referente a este banco de dados do filesystem.
Ao tentar iniciar a instância novamente, com o banco já montado eu tive uma surpresa: o erro “ORA-38760: This database instance failed to turn on flashback database”. Isso ocorreu porque o Oracle tentou ler os arquivos de flasback que não existiam mais.
oracle@srv-wint ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Mon Aug 26 07:34:55 2019
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Area 1895825408 bytes
Fixed Size 2925744 bytes
Variable Size 1191185232 bytes
Database Buffers 687865856 bytes
Redo Buffers 13848576 bytes
Database mounted.
ORA-38760: This database instance failed to turn on flashback database
A primeira coisa opção que me veio em mente foi “resetar” o Flashback, aproveitando para recriá-lo já no ASM.
Para isso, com o parâmetro ” db_recovery_file_dest” já configurado para o diskgroup +FRA, bastou tornar o Flashback Off e em seguida configurar para On novamente. Isso faz com que o Oracle recrie o Flashback na Fast Recovery Area (FRA).
SQL> alter database flashback off;
Database altered.
SQL> alter database flashback on;
Database altered.
SQL> alter database open;
Database altered.
Feito isso, o banco pode ser aberto normalmennte.