Tópico anterior: Recuperação manualPróximo tópico: Recuperar de backups completos offline


Recuperação de bancos de dados com arquivos de controle perdidos ou corrompidos

Se um arquivo de controle for perdido ou danificado, primeiro será necessário encerrar o banco de dados e recuperar os arquivos de controle, antes de recuperar esse banco de dados. Para encerrar o banco de dados, recuperar os arquivos de controle e, em seguida, recuperar o banco de dados, siga estas etapas:

Para recuperar o banco de dados com arquivos de controle perdidos ou corrompidos

  1. Encerre o banco de dados digitando o seguinte comando no prompt do SQL*Plus:
    SHUTDOWN;
    
  2. No momento apropriado, inicie e monte o banco de dados e comece o processo de recuperação. No prompt do SQL*Plus, digite o comando a seguir:
    CONNECT SYS/SYS_PASSWORD AS SYSDBA;
    STARTUP MOUNT;
    RECOVER DATABASE USING BACKUP CONTROLFILE;
    
  3. O Oracle solicita os nomes dos arquivos de log. Primeiro, o Oracle procura os arquivos de log arquivados e fornece automaticamente os nomes corretos para os que existem. Se o Oracle não conseguir encontrar os arquivos de log arquivados necessários, será necessário aplicar manualmente os arquivos de redo log online necessários.

    Quando fizer isso, será necessário fornecer o caminho completo e o nome do arquivo. Ao digitar um log incorreto, digite o comando novamente:

    RECOVER DATABASE USING BACKUP CONTROLFILE;
    

    Forneça o nome correto do arquivo de redo log online no prompt. Continue esse procedimento até que o Oracle tenha aplicado todos os logs sucessivamente.

  4. Digite o seguinte comando no prompt do SQL*Plus para colocar o banco de dados de volta no modo online e redefinir os logs:
    ALTER DATABASE OPEN RESETLOGS;
    
  5. Vá para os diretórios em que os redo logs arquivados são armazenados e exclua todos os arquivos de log.
  6. Se ainda houver algum espaço para tabelas offline, digite o seguinte comando no prompt do SQL*Plus para trazê-lo de volta online:
    ALTER TABLESPACE TABLESPACE_NAME ONLINE;
    
  7. Se o RMAN estiver sendo usado para recuperar todo o banco de dados com os arquivos de controle armazenados, sincronize novamente as informações do banco de dados no RMAN para refletir o banco de dados recentemente recuperado. Para sincronizar novamente as informações do banco de dados, siga estas etapas:
    1. Faça logon como oracle.
    2. Digite o comando a seguir para definir o SID do Oracle para o SID do banco de dados recuperado:
      ORACLE_SID=database SID
      
    3. Digite os comandos a seguir para concluir o processo:
      rman target dbuser/ dbuserpassword rcvcat
      catowner/catownerpassword@rman service name
      reset database
      

      onde:

      • dbuser é o usuário com privilégios de dba para o banco de dados recuperado.
      • dbuserpassword é a senha do dbuser.
      • catowner é o nome de usuário do Oracle do dono do catálogo do Gerenciador de recuperação do Oracle.
      • rman service name é o nome do serviço usado para acessar o banco de dados onde o catálogo do rman está instalado.