Recuperação de Dados em Banco de Dados: SQL Server, Oracle, MySQL e PostgreSQL

Recuperação de Dados • Banco de Dados
Banco corrompido, Suspect, Recovery Pending ou storage offline? Preserve arquivos, logs e a infraestrutura antes de executar repair.

A recuperação de banco de dados pode exigir duas competências ao mesmo tempo: reconstruir o storage que contém os arquivos e validar a consistência no SGBD. A SECURITY trabalha com SQL Server, Oracle, MySQL/MariaDB, PostgreSQL, Firebird, VMs, RAID, NAS e storage corporativo, com atendimento remoto para todo o Brasil em casos lógicos compatíveis.

SQL Server MDF/LDFOracle DBF/RedoMySQL InnoDBPostgreSQL PGDATA/WALFirebird FDBRemoto Brasil
Caio Bruno F. Garcia em ambiente técnico da SECURITY para recuperação de dados de banco de dados
Caio Bruno F. Garcia • Recuperação de Dados, RAID Low Level e WinHex | SECURITY
Desde 2005experiência técnica
+170.000 projetosdado institucional SECURITY
PC-3000quando há falha física
Sala limpa ISO-5quando HDD exige intervenção
RAID Low Levelquando o banco depende de array
Remoto Brasil*casos lógicos compatíveis
01Resposta direta

O que é um banco de dados?

Banco de dados é uma estrutura organizada para armazenar e consultar informações por meio de um sistema gerenciador, como SQL Server, Oracle, MySQL, MariaDB, PostgreSQL ou Firebird. Os dados dependem de arquivos, logs, filesystem, VMs e storage físico. Por isso, um banco inacessível pode estar com corrupção lógica ou apenas ter perdido acesso à camada inferior.

A intenção principal desta página é recuperação de dados de banco de dados. RAID e storage aparecem como camadas inferiores quando são a causa ou parte do problema.

Orientação técnica SECURITYSeu banco está Suspect, Recovery Pending, offline ou não inicia?Envie o engine, versão, mensagens de erro e onde os arquivos estão armazenados.
Preservar antes de repararO storage pode ser a causa, mas não presuma que sempre sejaAntes de DBCC, RMAN, innodb_force_recovery, pg_resetwal ou gfix, confirme se o I/O path e as mídias estão estáveis.
SGBD + storageSem servidor completoTodo o Brasil
Iniciar triagem remotaConhecer a SECURITYWhatsApp técnico • (11) 98570-8000
03Arquitetura

Um banco corporativo depende de até seis camadas antes de chegar aos registros

O erro que aparece no SQL Server Management Studio, alert.log do Oracle ou MySQL error log pode ser efeito de uma falha de VM, filesystem, storage ou mídia física.

Da mídia física ao dado da aplicaçãoRecuperação por camadas
Aplicações, ERP, CRM, BI e usuários
SQL Server, Oracle, MySQL, PostgreSQL, Firebird
MDF/NDF/LDF, DBF/redo, IBD/ibdata, PGDATA/WAL, FDB
NTFS, ReFS, EXT4, XFS, VMFS, VMDK, VHDX
Storage, LUN, NAS, SAN, RAID e controladora
HDD, SSD, NVMe, SAS/SATA e mídia física

A recuperação deve identificar a camada mais baixa que ainda entrega dados coerentes antes de reparar o SGBD.

O benchmark acerta ao enfatizar o storage, mas exagera ao afirmar que ele é a causa da esmagadora maioria sem apresentar dados. A SECURITY evita esse percentual implícito: primeiro identificamos a camada da falha. Corrupção estritamente lógica também existe e possui ferramentas nativas importantes.

Orientação técnica SECURITYNão sabe se a falha é do banco, VM, filesystem ou RAID?A causa real define se a prioridade é clone de mídia, restore, repair ou extração de dados.
04Sinais de alerta

Suspect, Recovery Pending, ORA-01578, InnoDB crash e PostgreSQL sem iniciar

MSSQL

SUSPECT / RECOVERY_PENDING

Estados SQL Server com causas diferentes. Recovery Pending pode ser erro de recurso e não prova corrupção.

ORA

ORA-01578

Oracle detectou block corruption em datafile/block específico.

INNO

InnoDB crash loop

Corrupt page, redo/undo, dictionary ou I/O podem impedir startup.

PG

WAL / pg_control

PostgreSQL pode falhar em startup por corrupção de WAL/control files ou data pages.

FB

Firebird validation errors

gfix pode reportar data, index, transaction, BLOB ou database page errors.

I/O

Erros intermitentes

Disk cache, driver, controller ou I/O path podem fazer erros aparecerem e desaparecerem.

Orientação técnica SECURITYTem erro específico ou banco que cai durante leitura?Preserve error logs e evite repetir operações pesadas sobre storage instável.
SQL ServerDBCC CHECKDB é diagnóstico e repair, não substituto universal de backupA Microsoft recomenda restore de backup bom como método principal. REPAIR_ALLOW_DATA_LOSS é último recurso e exige validação posterior.
MDF / NDF / LDFCHECKDB com cautelaBackup primeiro
Avaliar SQL ServerConhecer a SECURITYWhatsApp técnico • (11) 98570-8000
05Microsoft SQL Server

MDF, NDF, LDF, SUSPECT, RECOVERY_PENDING e DBCC CHECKDB

Estado / açãoSignificado técnicoPrioridade
RECOVERY_PENDINGerro de recurso durante recovery; banco não necessariamente danificadochecar arquivos, espaço, I/O e logs
SUSPECTstartup recovery falhou; primary filegroup pode estar danificadobackup/restore + CHECKDB em cópia
EMERGENCYmodo manual read-only de troubleshootingextração/diagnóstico controlado
REPAIR_REBUILDrepairs sem possibilidade de perda segundo Microsoftusar quando indicado pelo CHECKDB
REPAIR_ALLOW_DATA_LOSSrepair que pode remover páginas ou reconstruir logúltimo recurso quando restore não é possível

A Microsoft orienta criar cópias físicas dos arquivos antes de repair e sempre tratar a causa do I/O path se os erros forem provocados por hardware, driver, cache ou filesystem. Depois de REPAIR_ALLOW_DATA_LOSS, a base pode ficar fisicamente consistente e ainda logicamente incorreta.

Não use “deletar o .LDF e anexar o MDF” como receita genérica. Emergency repair pode reconstruir log em situações extremas, mas isso pode perder consistência transacional.
Orientação técnica SECURITYSQL Server está Suspect ou Recovery Pending?Envie error log, CHECKDB output se já existir, recovery model e arquivos disponíveis.
06Oracle Database

RMAN, datafiles, tablespaces, redo e block media recovery

Oracle diferencia physical block corruption de logical block corruption. RMAN VALIDATE e V$DATABASE_BLOCK_CORRUPTION ajudam a localizar o dano; block media recovery pode reparar blocos específicos quando existem fontes válidas de backup/redo/standby.

Datafiles / DBF

Contêm blocks de tablespaces. Corrupção pode ser localizada ou ampla.

Redo / archived logs

Participam da recuperação das mudanças após o backup.

RMAN VALIDATE

Detecta physical corruption e, com CHECK LOGICAL, também logical corruption detectável.

RECOVER ... BLOCK

Útil quando um conjunto pequeno e conhecido de blocks está corrompido.

Block media recovery não substitui restore de datafile quando o dano é amplo. Também pode falhar se os redo necessários estão ausentes ou corrompidos.

Orientação técnica SECURITYOracle apresenta ORA-01578 ou datafile offline?Envie alert.log, RMAN output, datafiles/redo disponíveis e topologia do storage.
07MySQL / MariaDB

InnoDB corrompido: innodb_force_recovery serve para extrair, não para “consertar tudo”

MySQL 8.4 documenta níveis de innodb_force_recovery de 1 a 6 para situações emergenciais. A orientação é começar em 1 e aumentar somente quando necessário. Valores 4 ou superiores podem corromper permanentemente os data files e devem ser testados em uma cópia física separada.

ibdata / system tablespace

Pode conter estruturas e dados dependendo da configuração.

.ibd

File-per-table tablespaces usados em muitos ambientes InnoDB.

Redo / undo

Crash recovery depende dessas estruturas para consistência transacional.

force recovery

Objetivo é permitir leitura/dump quando o startup normal falha.

MariaDB não deve ser tratado como uma cópia exata do MySQL. Também usa recovery modes, mas regras de escrita e detalhes mudam conforme versão. A documentação MariaDB afirma que recovery mode não repara a corrupção.
Orientação técnica SECURITYMySQL/MariaDB só inicia com innodb_force_recovery?Preserve datadir, redo/undo e cópias antes de aumentar recovery mode.
08PostgreSQL

PGDATA, WAL, PITR e pg_resetwal: preserve o cluster antes do último recurso

PostgreSQL mantém WAL para crash safety e permite Point-in-Time Recovery quando existe base backup e sequência contínua de WAL arquivado. Isso é diferente de um simple pg_dump, que é backup lógico.

PGDATA

Data directory contém relations, configs e control information.

pg_wal

WAL registra mudanças e pode ser usado para replay/PITR.

PITR

Base backup + WAL pode voltar a um ponto anterior a DROP/DELETE.

pg_resetwal

Último recurso quando WAL/control information impede startup.

A documentação PostgreSQL recomenda, após pg_resetwal em cluster corrompido, iniciar apenas para dump imediato, executar novo initdb e restaurar. A opção --dry-run permite revisar valores antes de alterar.

Orientação técnica SECURITYPostgreSQL não inicia por WAL ou pg_control?Preserve PGDATA e WAL antes de pg_resetwal ou outras alterações de control information.
09Firebird

gfix e gbak: ferramentas oficiais com risco real de perda em mend

A documentação Firebird orienta criar uma cópia do database file antes de recovery. gfix validation identifica problemas; gfix -mend pode ignorar registros corrompidos e levar à perda de dados. Depois, gbak backup/restore pode reconstruir uma base nova a partir do que permanece legível.

FDB

Database file que deve ser preservado antes de qualquer mend.

gfix validate

Detecta e reporta problemas estruturais.

gfix -mend

Pode marcar/ignorar registros corrompidos e perder dados.

gbak

Backup/restore é etapa importante para reconstruir base consistente após recovery.

Orientação técnica SECURITYFirebird apresenta corruption ou gbak falha?Preserve uma cópia antes de gfix -mend e documente o output de validação.
Storage + bancoQuando o I/O path está instável, reparar o SGBD primeiro pode atacar o sintoma erradoMicrosoft recomenda resolver problemas de hardware, driver, firmware e filesystem antes de repair quando eles causam consistency errors.
RAID / LUN / VMDatabase filesCausa antes do repair
Mapear storage e bancoConhecer a SECURITYWhatsApp técnico • (11) 98570-8000
10Storage, RAID e VMs

O banco pode estar saudável internamente e ter perdido apenas a camada de storage

RAID abaixo dos database filesMirror, P e P+Q

RAID 1 / 10

Mirror

RAID 5

Paridade P

RAID 6

Paridade P + Q

Storage / SAN

Pool/LUN antes do banco

VMware

MDF/DBF/PGDATA podem estar dentro de VMDK sobre VMFS/SAN/RAID.

Hyper-V

VHDX/AVHDX e CSV/ReFS podem ser camadas intermediárias.

NAS / SAN

LUN, pool e filesystem podem falhar sem corrupção original do database file.

RAID Low Level

Ordem, stripe, parity, offsets e metadata importam em arrays complexos.

Quando as mídias estão fisicamente instáveis, a etapa correta pode envolver PC-3000, Data Extractor, DeepSpar e, quando HDD exige procedimento mecânico, sala limpa ISO-5. Depois vem a validação no engine de banco.

Orientação técnica SECURITYO banco parou junto com RAID, VM ou storage?Inclua controladora, discos, VM, filesystem e database files para reconstruir a ordem correta.
11DROP, DELETE e point-in-time

Recuperar uma tabela apagada começa pelo backup/log, não por “carving mágico”

O benchmark simplifica DROP TABLE como se a recuperação fosse normalmente uma leitura direta do LDF. O caminho suportado e mais previsível depende do engine e da cadeia de backups/logs.

EngineFonte preferencialPoint-in-timeObservação
SQL Serverfull/diff/log backupsFull recovery model com log chainrestore em base alternativa antes do DROP
OracleRMAN + archived redoDB/tablespace recovery conforme estratégiadepende de backups e redo
MySQLbackup + binary logspossível com log chain adequadaengine/configuração importam
PostgreSQLbase backup + WALPITR nativocluster-level recovery
Orientação técnica SECURITYTabela foi apagada ou banco sobrescrito por uma operação lógica?Preserve backups e logs antes de novas escritas e não restaure sobre a produção sem teste.
12Ransomware

Banco criptografado precisa de recuperação estrutural e validação transacional

Ransomware pode atingir datafiles, logs, backups e VMs. Em arquivos grandes, algumas famílias usam criptografia parcial. Isso pode deixar páginas intactas, mas não garante consistência do database.

SQL Server

MDF/NDF/LDF podem ter regiões intactas e regiões cifradas.

Oracle

DBF/control/redo e backups precisam ser analisados em conjunto.

MySQL/PostgreSQL

Tablespaces, WAL/redo/undo e backups podem oferecer caminhos diferentes.

VMs

VMDK/VHDX pode adicionar uma camada extra antes do database file.

Orientação técnica SECURITYBanco ou backup foi criptografado por ransomware?Preserve os datafiles, logs e backups antes de repair ou attach.
Recuperação remota de banco de dadosAtendimento técnico para todo o BrasilSe o storage está estável, podemos começar por logs, cópias dos database files e topologia sem transportar o servidor.
SQL / Oracle / MySQLPostgreSQL / FirebirdTodo o Brasil
Verificar viabilidade remotaConhecer a SECURITYWhatsApp técnico • (11) 98570-8000
13Remoto

Como funciona a recuperação remota de banco de dados

Triagem.Engine, versão, status, error logs, backups e storage.
Preservação.Cópias dos database files, logs e VMs antes de repair.
Diagnóstico por camada.Storage, filesystem, VM e SGBD são separados.
Recuperação.Restore, extraction, repair em cópia ou reconstrução do storage.
Validação.Tabelas, constraints, bancos e aplicações em ambiente isolado.
Quando remoto não basta: HDD/SSD fisicamente instável, RAID degradado, storage que não consegue ser imageado com segurança ou mídia que exige intervenção física.
Orientação técnica SECURITYVocê está fora de São Paulo?Casos lógicos podem começar por sessão segura e cópias controladas.
14Primeiras ações

12 passos quando um banco de dados crítico para de abrir

Registre o erro.Suspect, ORA, InnoDB, WAL, Firebird log e horários.
Preserve backups.Não sobrescreva o último full/diff/log/RMAN/base backup.
Identifique o storage.Local disk, RAID, SAN, NAS ou VM.
Cheque I/O antes de repair.Se há erros físicos, estabilize a mídia primeiro.
Copie os arquivos.MDF/NDF/LDF, DBF/redo, datadir, PGDATA, FDB e configs.
Não delete logs por tentativa.Logs participam de recovery e consistência.
Não suba force recovery direto ao máximo.MySQL recomenda incremento gradual.
Não use pg_resetwal como primeira tentativa.É último recurso.
Não execute gfix -mend no único FDB.Faça cópia antes.
Se há RAID/VM, preserve essa camada.Database repair não substitui storage recovery.
Liste tabelas e dados prioritários.Às vezes export parcial é melhor que forçar database online.
Defina remoto x laboratório.Falha lógica estável pode ser atendida remotamente.
Orientação técnica SECURITYQuer segunda avaliação antes do próximo repair?Envie o output das ferramentas já usadas e preserve o estado atual.
15Riscos

O que pode agravar uma recuperação de banco de dados

REPAIR_ALLOW_DATA_LOSS no único original

Pode remover páginas e deixar inconsistências lógicas.

innodb_force_recovery 4-6 em produção

MySQL alerta para possível corrupção permanente de data files.

pg_resetwal por tentativa

PostgreSQL classifica como último recurso e recomenda dump imediato depois.

gfix -mend sem cópia

Pode ignorar registros corrompidos e perder dados.

Rebuild RAID cego

Pode piorar o storage que contém todos os database files.

Restore sobre a produção

Pode sobrescrever um estado que ainda tinha dados recuperáveis.

Orientação técnica SECURITYJá houve DBCC, RMAN, force recovery, pg_resetwal ou gfix?O histórico define quais cópias e estados ainda podem ser usados.
Dados antes do banco onlineRecuperar registros é mais importante do que forçar o SGBD a iniciarEm corrupção grave, pode ser mais seguro extrair tabelas, páginas válidas ou schemas em destino separado do que insistir em repair no original.
Tabelas / registrosLogs / backupsValidação separada
Recuperar meus dadosConhecer a SECURITYWhatsApp técnico • (11) 98570-8000
16Processo SECURITY

Como a SECURITY conduz a recuperação de dados de banco de dados

Inventário.Engine, arquivos, backups, VM, storage e aplicações.
Preservação.Clones/cópias antes de repair quando tecnicamente possível.
Reconstrução da camada inferior.RAID, filesystem, VM, LUN ou volume.
Recuperação do SGBD.Restore, block/page recovery, dump, extraction ou rebuild em cópia.
Validação.Constraints, páginas, tabelas e aplicação em ambiente separado.

Se existe falha física, entram PC-3000, Data Extractor, DeepSpar e, quando necessário, procedimentos em sala limpa ISO-5.

Orientação técnica SECURITYQuer começar pela topologia e pelos dados prioritários?A triagem remota ajuda a definir se a recuperação começa no storage ou no SGBD.
17Baixo nível

Caio Bruno F. Garcia, WinHex e RAID Low Level em bancos de extrema complexidade

WinHex pode auxiliar inspeção hexadecimal de MDF/NDF/LDF, datafiles Oracle, InnoDB files, PGDATA relations, FDB, LUNs e RAID quando o caso exige análise abaixo das ferramentas do engine.

SQL Server

Localizar pages, headers, allocation patterns e regiões legíveis em cópias.

Oracle / MySQL / PostgreSQL

Correlacionar datafiles/tablespaces e signatures com o storage recuperado.

VM / filesystem

Localizar database files dentro de VMDK/VHDX e volumes danificados.

RAID físico

Validar ordem, stripe, paridade e offsets antes da camada database.

WinHex não substitui DBCC, RMAN, MySQL, PostgreSQL ou Firebird. É uma ferramenta de baixo nível que complementa a reconstrução quando as ferramentas normais não conseguem acessar os dados.
Orientação técnica SECURITYO banco está dentro de volume parcialmente corrompido ou RAID complexo?Preserve clones e não faça repair destrutivo na única cópia.
18Ecossistema

Principais engines e infraestruturas encontradas em projetos de banco de dados

MSSQLSQL Serverengine, servidor ou infraestrutura
ORAOracle Databaseengine, servidor ou infraestrutura
MYSQLMySQLengine, servidor ou infraestrutura
MARIAMariaDBengine, servidor ou infraestrutura
PGPostgreSQLengine, servidor ou infraestrutura
FBFirebirdengine, servidor ou infraestrutura
VMWVMwareengine, servidor ou infraestrutura
HVHyper-Vengine, servidor ou infraestrutura
DELLDellengine, servidor ou infraestrutura
HPEHPEengine, servidor ou infraestrutura
LENLenovoengine, servidor ou infraestrutura
SMCSupermicroengine, servidor ou infraestrutura
QNAPQNAPengine, servidor ou infraestrutura
SYNSynologyengine, servidor ou infraestrutura
SANSAN / Storageengine, servidor ou infraestrutura
RAIDRAIDengine, servidor ou infraestrutura
Marcas: tiles tipográficos, sem inferir parceria ou endosso.
Orientação técnica SECURITYNão encontrou seu SGBD ou storage?A recuperação é orientada pelos arquivos e pela arquitetura real.
19Conteúdo próprio

Vídeos da SECURITY sobre RAID, VMs e banco de dados

Recuperar RAID 5: Como Recuperar Servidor, VMs e Banco de Dados

O vídeo complementa este artigo porque mostra como RAID, VMs e banco de dados podem fazer parte da mesma cadeia de falha.

Orientação técnica SECURITYSeu banco também depende de RAID, VM ou storage?Inclua engine, versão, storage e quais dados são prioritários.
20Estudos de caso

Cenários técnicos de recuperação de banco de dados

Cenário técnico ilustrativo

SQL Server SUSPECT sobre RAID 5 degradado

Clonar membros instáveis, reconstruir array em modo controlado, extrair MDF/NDF/LDF e executar CHECKDB/validação em cópia.

Cenário técnico ilustrativo

Oracle ORA-01578 com corrupção localizada

Identificar blocks/datafiles com RMAN VALIDATE, preservar storage e avaliar block media recovery a partir de backup/redo válido.

Cenário técnico ilustrativo

MySQL InnoDB crash loop após queda

Preservar datadir, trabalhar em cópia, iniciar force recovery no menor nível possível e exportar tabelas legíveis para nova instância.

Cenário técnico ilustrativo

PostgreSQL não inicia por WAL/control corruption

Preservar PGDATA/WAL, procurar base backup/PITR e tratar pg_resetwal somente como último recurso sobre cópia, seguido de dump/rebuild.

Cenário técnico ilustrativo

Firebird FDB corrompido após falha elétrica

Copiar FDB, validar com gfix, documentar erros e usar mend/gbak somente em cópia para reconstruir uma base nova com o máximo de registros legíveis.

Orientação técnica SECURITYSeu caso se parece com algum desses cenários?Conte o que aconteceu, qual SGBD está em uso e quais arquivos ainda existem.
Banco crítico paradoRecuperação remota para todo o BrasilSe o storage está estável, a triagem pode começar remotamente. Falhas físicas recebem orientação para envio apenas das mídias necessárias.
Sem servidor completoDatabase files + logsTodo o Brasil
Iniciar análise remotaConhecer a SECURITYWhatsApp técnico • (11) 98570-8000
21Perguntas frequentes

FAQ sobre recuperação de dados de banco de dados

O que é um banco de dados?

Banco de dados é uma estrutura organizada para armazenar e consultar informações por meio de um sistema gerenciador, como SQL Server, Oracle, MySQL, MariaDB, PostgreSQL ou Firebird. Os dados dependem de arquivos, logs, memória, filesystem e storage físico; por isso, uma falha pode ocorrer em qualquer camada.

O que é recuperação de dados de banco de dados?

É o processo de preservar e reconstruir as camadas necessárias para voltar a acessar tabelas, registros, arquivos e transações quando o banco fica corrompido, Suspect, Recovery Pending, não inicia, perde datafiles, sofre falha de storage ou precisa ser extraído de uma mídia danificada.

Todo banco de dados inacessível está corrompido?

Não. O problema pode estar no storage, RAID, filesystem, VM, permissões, arquivos ausentes, log, configuração ou recursos do sistema. SQL Server, por exemplo, define Recovery Pending como um erro de recurso durante recovery e informa que o banco não está necessariamente danificado.

Banco SQL Server em SUSPECT significa perda total?

Não. SUSPECT significa que o SQL Server não conseguiu recuperar o banco na inicialização e que pelo menos o primary filegroup pode estar danificado. A causa precisa ser investigada antes de escolher restore, repair ou recuperação especializada.

Qual a diferença entre SUSPECT e RECOVERY PENDING no SQL Server?

Segundo a Microsoft, SUSPECT ocorre quando o banco não consegue ser recuperado durante startup e o primary filegroup pode estar danificado. Recovery Pending indica um erro relacionado a recursos durante recovery; o banco pode não estar danificado, mas arquivos ausentes ou limitações de sistema podem impedir a inicialização.

DBCC CHECKDB recupera banco corrompido?

DBCC CHECKDB verifica a integridade lógica e física e possui opções de repair. A Microsoft recomenda restore de um backup bom como método principal. REPAIR_ALLOW_DATA_LOSS é último recurso e pode remover páginas ou deixar inconsistências lógicas.

REPAIR_ALLOW_DATA_LOSS é seguro?

É uma opção suportada do SQL Server, mas o próprio nome é literal: pode haver perda de dados. A Microsoft recomenda copiar fisicamente MDF, NDF e LDF antes do repair e tratar essa opção como último recurso quando restore não é possível.

Posso apagar o LDF e anexar apenas o MDF?

Não use isso como atalho automático. O transaction log participa da consistência e do recovery. Em situações extremas o SQL Server possui emergency repair que pode reconstruir log, mas a Microsoft alerta que isso pode perder consistência transacional. Preserve MDF/NDF/LDF antes de qualquer tentativa.

MDF e LDF são a mesma coisa?

Não. MDF/NDF são data files do SQL Server; LDF é transaction log. A recuperação pode depender da combinação entre data pages, allocation structures, log chain, backups e recovery model.

É possível recuperar uma tabela apagada com DROP TABLE?

O caminho preferencial é restore para um ponto anterior ao DROP, em uma base alternativa, quando existem backups e transaction log suficientes. No recovery model Full, o SQL Server suporta point-in-time restore com uma cadeia válida de backups de log. Recuperação direta sem backup depende do estado real dos arquivos e não é garantida.

O que é point-in-time recovery no SQL Server?

É restaurar um banco até um horário ou marca anterior ao incidente usando backups compatíveis. No Full recovery model, isso é possível quando a cadeia de backups de log está completa; no Simple, a recuperação normalmente vai até o final de um backup.

Oracle com ORA-01578 pode ser recuperado?

ORA-01578 indica block corruption. Oracle RMAN pode identificar blocos corrompidos e, em cenários compatíveis, executar block media recovery usando backups, redo, flashback logs ou standby. Nem toda corrupção lógica pode ser corrigida por block recovery.

O que é V$DATABASE_BLOCK_CORRUPTION?

É a view Oracle que registra blocos marcados como corrompidos por componentes como RMAN, ANALYZE e queries. Ela ajuda a identificar datafile e block numbers envolvidos em physical ou logical corruption.

RMAN RECOVER BLOCK é indicado para qualquer banco Oracle corrompido?

Não. Block media recovery é mais adequado quando existe um conjunto pequeno e conhecido de blocos corrompidos. Se o dano é amplo ou o datafile inteiro está comprometido, restore/recovery em nível de datafile ou tablespace pode ser mais adequado.

MySQL InnoDB corrompido pode ser recuperado?

Pode existir viabilidade. MySQL oferece innodb_force_recovery para situações emergenciais em que o objetivo é iniciar o InnoDB e extrair tabelas. A documentação recomenda começar no nível 1 e aumentar gradualmente somente quando necessário.

innodb_force_recovery é um repair?

Não exatamente. No MySQL ele permite iniciar InnoDB com operações reduzidas para tentar extrair dados. Valores 4 ou maiores podem corromper permanentemente data files e devem ser testados somente em uma cópia física separada.

O que significa innodb_force_recovery de 1 a 6?

Os níveis progressivamente desabilitam partes do crash recovery e operações internas. Quanto maior o valor, maior o risco e menor a consistência esperada. No MySQL 8.4, valores 4 ou superiores colocam InnoDB read-only e podem causar corrupção permanente.

MariaDB usa o mesmo innodb_force_recovery do MySQL?

MariaDB também oferece recovery modes 1 a 6, mas comportamento e permissões variam conforme versão. A documentação MariaDB enfatiza que recovery mode não repara a corrupção; serve para tentar permitir leitura e dump dos dados.

PostgreSQL com WAL corrompido pode ser recuperado?

Pode existir viabilidade dependendo do PGDATA, pg_control, WAL, base backup e archives. PostgreSQL suporta PITR com base backup + WAL. pg_resetwal existe para casos de WAL/control corruption, mas a documentação o classifica como último recurso.

pg_resetwal é seguro?

Não deve ser usado como primeira tentativa. PostgreSQL alerta que qualquer uso fora de um cluster limpo pode ser perigoso. A opção --dry-run ajuda a inspecionar valores; após um reset em ambiente corrompido, a recomendação é dump imediato, initdb e restore.

PostgreSQL pode voltar a um ponto no tempo?

Sim. Com base backup e sequência contínua de WAL arquivado, PostgreSQL suporta Point-in-Time Recovery e pode parar o replay antes de um erro lógico como DROP, DELETE ou corrupção introduzida em determinado momento.

Firebird corrompido pode ser recuperado?

Pode existir viabilidade. Firebird oferece gfix para validation e mend e gbak para backup/restore. A documentação alerta que gfix -mend pode resultar em perda de dados e recomenda trabalhar primeiro com uma cópia do database file.

gfix -mend é seguro?

É uma ferramenta oficial, mas pode ignorar registros corrompidos e levar à perda silenciosa desses registros em backups posteriores. Por isso, deve ser usado sobre cópia e com validação do resultado.

Falha de storage pode corromper banco de dados?

Sim. Erros de I/O, cache, filesystem, RAID, mídia ou controladora podem impedir leitura e escrita corretas. A Microsoft orienta tratar problemas do I/O path antes de repetir repair/restore quando eles estão causando consistência intermitente.

DBCC CHECKDB em disco fisicamente instável é recomendado?

O primeiro passo deve ser estabilizar o storage quando existem erros físicos ou de I/O. Microsoft orienta resolver problemas de hardware, driver, firmware e I/O path antes de repair/restore. Em mídia instável, preservar/clonar antes de leituras intensivas reduz risco operacional.

Banco dentro de VM pode ser recuperado?

Pode. A recuperação pode exigir RAID ou storage, depois VMFS/VMDK ou VHDX/QCOW2, depois filesystem do guest e finalmente os arquivos do banco. O processo precisa respeitar a ordem das camadas.

SQL Server dentro de VMware ou Hyper-V muda a recuperação?

Sim. MDF/LDF podem estar dentro de VMDK/VHDX que dependem de datastore, SAN ou RAID. Recuperar apenas o database file não resolve se a camada virtual ou física continua inconsistente.

Ransomware em banco de dados pode ser recuperado?

Depende da cobertura da criptografia, backups, logs, snapshots e regiões intactas. Bancos grandes podem ter partial encryption, mas recuperar bytes não garante consistência transacional; a validação precisa ocorrer no próprio engine.

RAID e recuperação de banco de dados são a mesma coisa?

Não. RAID é uma camada de storage. Esta página tem intenção principal em recuperação de dados de banco de dados. RAID Low Level entra quando MDF, DBF, IBD, PGDATA ou outros arquivos estão sobre um array com falha.

Preciso levar o servidor inteiro?

Na maioria dos casos lógicos, não. Logs, cópias dos arquivos de banco, VMs, images de volume ou LUN e backups podem ser suficientes. Se há falha física em HDD/SSD/RAID, normalmente enviam-se apenas as mídias necessárias e informações de ordem/serial.

É possível recuperar banco de dados remotamente?

Sim, em muitos casos lógicos. Se o storage está estável, a análise pode começar remotamente com cópias de MDF/LDF, datafiles Oracle, MySQL data directory, PGDATA, FDB e logs.

Quanto custa recuperar banco de dados?

O custo depende do engine, volume, quantidade de files, corrupção, backups, RAID/storage, VMs, falhas físicas e tentativas anteriores. Não existe preço único sem diagnóstico.

Quanto tempo leva?

Depende da camada da falha. Recriar uma configuração com arquivos íntegros é diferente de reconstruir RAID, recuperar VM, extrair páginas válidas e validar milhões de registros.

A SECURITY atende recuperação de banco de dados em todo o Brasil?

Sim. Casos lógicos compatíveis podem começar por recuperação remota para todo o Brasil. Quando há falha física, a SECURITY orienta o envio das mídias necessárias.

Orientação técnica SECURITYNão encontrou seu cenário?Envie engine, versão, arquivos, logs e o estado do storage.
22Logística

Sem necessidade de levar o equipamento em muitos casos

Remoto

Database files, logs, VMs e backups podem ser analisados por sessão segura.

Mídias físicas

Se HDD/SSD/RAID falha, enviam-se as mídias afetadas.

Servidor completo

Normalmente não é necessário em falha lógica.

Todo o Brasil

Triagem lógica pode começar independentemente da localização.

Orientação técnica SECURITYQuer confirmar se seu caso pode ser 100% remoto?Casos lógicos estáveis costumam dispensar o transporte do equipamento.
23Atendimento presencial

Alphaville, São Paulo e Campinas quando o caso exige laboratório

Alphaville / BarueriEdifício Stadium Corporate
Alameda Rio Negro, 1030, Conj. 206
Barueri, SP, CEP 06454-000
(11) 98570-8000
Paulista / ConsolaçãoEdifício Crystal Tower
Rua Frei Caneca, 1380, Conj. 11
São Paulo, SP, CEP 01307-002
(11) 98570-8000
Campinas / CentroEdifício Arcadas
Rua José Paulino, 1399, Andar 10
Campinas, SP, CEP 13013-001
(19) 99971-7987
Caio Bruno F. Garcia, especialista em recuperação de dados, banco de dados, RAID Low Level e WinHex
Autoria técnica

Caio Bruno F. Garcia

Especialista em Recuperação de Dados e liderança técnica e estratégica da SECURITY. Atua desde 2005 e, em projetos de banco de dados de alta complexidade, relaciona database files, VMs e storage às camadas de RAID Low Level e análise hexadecimal com WinHex, além de PC-3000 e Data Extractor quando existe falha física.

24Guia técnico avançado
Guia técnico completo

Banco de dados por dentro: datafiles, logs, storage e recuperação

1. SGBD

Sistema gerenciador coordena datafiles, logs, cache, recovery e transações.

2. Storage x database

Erro no SGBD pode ser efeito de falha no I/O path.

3. SQL Server MDF

Primary data file.

4. SQL Server NDF

Secondary data files.

5. SQL Server LDF

Transaction log.

6. SQL Server data pages

Páginas são a unidade básica de storage do engine.

7. RECOVERY_PENDING

Erro de recurso durante recovery; banco não necessariamente danificado.

8. SUSPECT

Startup recovery falhou e primary filegroup pode estar danificado.

9. EMERGENCY

Modo manual read-only de troubleshooting.

10. DBCC CHECKDB

Verifica integridade lógica/física e recomenda repair level.

11. REPAIR_REBUILD

Repairs sem possibilidade de perda segundo Microsoft.

12. REPAIR_ALLOW_DATA_LOSS

Último recurso; pode remover páginas e inconsistências permanecem possíveis.

13. SQL point-in-time

Full recovery model + log chain podem voltar a um momento específico.

14. Tail-log backup

Quando possível, ajuda a reduzir perda antes de restore.

15. Oracle datafile

Contém database blocks e tablespaces.

16. Oracle redo

Registra mudanças necessárias para recovery.

17. RMAN VALIDATE

Identifica physical e logical corruption detectável.

18. V$DATABASE_BLOCK_CORRUPTION

Lista blocks marcados como corruptos.

19. RMAN block recovery

Recupera blocks específicos com backup/redo/standby em cenários compatíveis.

20. MySQL InnoDB

Transactional engine com data files, redo e undo.

21. ibdata

System tablespace em configurações InnoDB.

22. .ibd

File-per-table tablespace comum.

23. innodb_force_recovery 1-3

Modos emergenciais progressivos para tentar extrair dados.

24. innodb_force_recovery 4-6

Níveis perigosos que podem corromper data files.

25. MariaDB recovery mode

Serve para permitir leitura; não repara a corrupção.

26. PostgreSQL PGDATA

Data directory do cluster.

27. PostgreSQL WAL

Write-ahead log usado em crash recovery e PITR.

28. PostgreSQL PITR

Base backup + WAL contínuo permitem voltar a um ponto no tempo.

29. pg_resetwal

Último recurso; dry-run disponível; depois dump/rebuild.

30. PostgreSQL timelines

Permitem múltiplos ramos de recuperação PITR.

31. Firebird FDB

Database file que deve ser copiado antes de mend.

32. gfix validate

Verifica corruption e pode alterar housekeeping por padrão.

33. gfix -mend

Pode ignorar registros danificados e provocar perda.

34. gbak

Backup/restore usado para reconstruir uma nova base Firebird.

35. VMware

Database files podem estar em VMDK/VMFS.

36. Hyper-V

Database files podem estar em VHDX/CSV.

37. Proxmox

Database pode depender de ZFS/LVM-thin/Ceph/QCOW2.

38. NAS / SAN

Pool, LUN, filesystem e RAID podem ser a causa inferior.

39. RAID 1/10

Mirror.

40. RAID 5

Paridade P.

41. RAID 6

Dupla paridade P+Q.

42. RAID Low Level

Ordem, stripe, parity, offsets e metadata.

43. PC-3000

Usado quando mídia suportada tem falha física/firmware.

44. Sala limpa ISO-5

Usada em HDD mecânico quando intervenção física é necessária.

45. WinHex

Auxilia análise hexadecimal em cópias, não substitui SGBD.

46. Ransomware

Partial encryption pode deixar regiões intactas, sem garantir consistência.

47. Backup

Restore testado é preferível a repair destrutivo.

48. Remote recovery

Casos lógicos estáveis podem começar remotamente.

49. Second opinion

Documentar tentativas anteriores é essencial.

51. Matriz técnica de decisão

SintomaCamadaPrioridadeEvitar
SQL SUSPECTdatabase/storagebackup + CHECKDB + I/O healthrepair destrutivo no único original
ORA-01578Oracle blockVALIDATE + backup/redoignorar storage instável
InnoDB crashdata/redo/undocopy + recovery mode mínimosubir direto para 6
PostgreSQL WAL failureWAL/controlbackup/PITR/copypg_resetwal por tentativa
Firebird corruptionFDB pagescopy + validatemend no único original
RAID/storage degradedcamada físicadiagnosticar/clonarrebuild repetido

52. Conclusão técnica

Recuperação de banco de dados exige separar corrupção lógica de falha de storage e escolher a ferramenta correta para cada engine. Restore a partir de backup bom é preferível quando existe. Quando não existe, a preservação do original e a reconstrução por camadas aumentam as opções técnicas. Muitos casos lógicos podem começar remotamente em qualquer região do Brasil.

Recuperação de dados de banco de dadosSQL Server, Oracle, MySQL, PostgreSQL ou Firebird inacessível?Preserve database files, logs, backups e o storage antes de repair. Casos lógicos podem começar remotamente em todo o Brasil.
Database filesStorage / VM / RAIDRemoto Brasil
Iniciar recuperação do bancoConhecer a SECURITYWhatsApp técnico • (11) 98570-8000