Acabei de começar a estudar Oracle, preciso restaurar o backup do banco de dados. O arquivo de log diz que foi feito no Oracle Database 10g Enterprise. Eu tenho o Oracle XE 18, é possível fazer isso para a versão XE usando RMAN ou alguma outra ferramenta? Abaixo lista de arquivos que tenho em arquivo.
> configFFH.ora
> ffdacs-nfs-backup-2024-06-17.tar.gz
> initFFH.ora
> ffhbackup
> arch_1_56543.arc
> arch_1_56544.arc
> arch_1_56545.arc
> arch_1_56546.arc
> arch_1_56547.arc
> arch_1_56548.arc
> arch_1_56549.arc
> arch_1_56550.arc
> arch_1_56551.arc
> arch_1_56552.arc
> arch_1_56553.arc
> control01.ctl
> dcomm.cache
> ffhactivity01.dbf
> ffhactivity_idx01.dbf
> ffhactivity_idx02.dbf
> ffhbackup2.log
> ffhconfig01.dbf
> ffhconfig02.dbf
> ffhconfig03.dbf
> ffhconfig04.dbf
> ffhdetail01.dbf
> ffhdetail_idx01.dbf
> ffhsummary01.dbf
> ffhsummary_idx01.dbf
> FFH_backup.log
> fsdump
> hot_db_files.lst
> sysaux01.dbf
> sysaux02.dbf
> system01.dbf
> temp01.dbf
> undo.dbf
Existem duas tarefas separadas aqui: restaurar e recuperar o banco de dados e realizar a atualização.
Vamos começar com o primeiro.
Vamos fingir que você tem uma instância 10G instalada.
Primeiro de tudo você deve criar uma instância e iniciá-la no modo nomount. Para fazer isso você deve colocar o arquivo de parâmetro initFFH.ora no local correto ou padrão, criar um arquivo de senha para poder se conectar como sysdba e executar o SQLPLUS
Em seguida, coloque a cópia do seu arquivo de controle no local definido no parâmetro CONTROL_FILES em initFFH.ora e monte seu banco de dados
Agora é hora de restaurar o banco de dados. Se seus arquivos *.dbf forem cópias de arquivos de dados, basta copiá-los para locais armazenados em seu arquivo de controle. Se seus arquivos dbf forem backups RMAN, você precisará do comando RMAN para restaurar o banco de dados, no entanto, com base nos nomes, parece que são cópias de arquivos de dados.
Depois de copiar os arquivos de dados, tente recuperar o banco de dados aplicando logs de arquivo morto. Coloque seus arquivos *.arc em um local que o Oracle possa alcançar (definido em LOG_ARCHIVE_DEST_n) e emita
A Oracle deve aplicar logs arquivados até não conseguir aplicar o próximo arch_1_56554.arc. Neste momento você deve cancelar a inscrição e tentar abrir seu banco de dados.
Então, aqui estão as etapas que você deve concluir
O segundo problema é a atualização. Infelizmente
https://asktom.oracle.com/ords/asktom.search?tag=migration-to-18c-from-version-10g
você não pode atualizar diretamente de 10G para 18, então terá que fazer isso duas vezes. Por exemplo, atualize para a versão 11 ou 12 e atualize para 18
Editar. Em relação à atualização
Existem muitos artigos bons sobre atualização, como https://oracle-base.com/articles/18c/upgrading-to-18c
Em poucas palavras
instale a versão intermitente (11 ou 12) no novo $ORACLE_HOME
inicie a instância antiga com o banco de dados antigo, como de costume
Execute o script de pré-atualização da nova versão. Este script não será atualizado, mas revisará sua instalação e imprimirá suas descobertas
recompilar objetos inválidos via
utlrp.sql
A próxima etapa é iniciar uma nova instância com banco de dados antigo usando um comando especial
Palavra-chave
upgrade
significa ignorar erros causados por inconsistência de versão. A atualização real é feita executando um script de atualização semelhantecatupgrd.sql
ou outros scripts mencionados no guia de atualização do Oracle para sua versão.Depois que o script for concluído, reinicie a instância no modo normal
Verifique alerta.log quanto a erros
recompilar objetos inválidos via
utlrp.sql
Repita o processo com a instância de destino 18