Olá Equipe,
A recuperação do SID deu errado, embora o banco de dados tenha sido aberto com sucesso, pois infelizmente usamos um arquivo de controle antigo e perdemos quase 11 arquivos de dados no arquivo controlfile.sql, o que criou um link simbólico no caminho dbs.
Para superar a situação, foram realizadas as etapas abaixo e o banco de dados se tornou consistente. Se no futuro enfrentarmos o mesmo problema, podemos usar as etapas abaixo com confiança.
1) Encontre os arquivos de dados ausentes:
SQL> set line 250
SQL> col FILE_NAME for a45
SQL> select FILE_NAME, FILE_ID, TABLESPACE_NAME, ONLINE_STATUS from dba_data_files;
/oracle/SID/121/dbs/MISSING00268 268 PSAPSID ONLINE
/oracle/SID/121/dbs/MISSING00269 269 PSAPSID ONLINE
2) Coloque o tablespace ou arquivos de dados offline:
Veio com o erro abaixo porque o arquivo de dados já está offline
SQL> alter database datafile '/oracle/SID/sapdata/sapdata2/gp1_242/gp1.data242' offline;
Database altered.
SQL> alter database datafile '/oracle/SID/sapdata/sapdata2/gp1_243/gp1.data243' offline;
Database altered.
3) Renomeie os arquivos de dados ausentes com os arquivos originais:
SQL> alter database rename file '/oracle/SID/121/dbs/MISSING00268' to '/oracle/SID/sapdata/sapdata2/gp1_242/gp1.data242';
SQL> alter database rename file '/oracle/SID121/dbs/MISSING00269' to '/oracle/SID/sapdata/sapdata2/gp1_243/gp1.data243';
4) Desligue e monte o banco de dados:
SQL> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 6.4425E+10 bytes
Fixed Size 3729840 bytes
Variable Size 7381976656 bytes
Database Buffers 5.6908E+10 bytes
Redo Buffers 130486272 bytes
Database mounted.
5) Execute a recuperação de mídia:
SQL> recover datafile 268;
Recuperação de mídia concluída.
SQL> recover datafile 279;
Recuperação de mídia concluída.
6) Abra o banco de dados:
SQL> alter database open;
Database altered.
7) Verifique o status dos arquivos de dados:
SQL> set line 250
SQL> col FILE_NAME for a45
SQL> select FILE_NAME, FILE_ID, TABLESPACE_NAME, ONLINE_STATUS from dba_data_files; - Após a recuperação, os arquivos de dados mudaram de status online para offline.
?
Traga os arquivos de dados online:
SQL> alter database datafile '/oracle/SID/sapdata/sapdata2/gp1_242/gp1.data242' online;
Database altered.
SQL> alter database datafile '/oracle/SID/sapdata/sapdata2/gp1_243/gp1.data243' online;
Pedro Pascal
Se unió el 07/03/2018