AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / 问题

Perguntas[recovery](dba)

Martin Hope
ejtt
Asked: 2023-04-06 23:19:17 +0800 CST

Perguntas gerais sobre logs de gravação antecipada e recuperação

  • 4

Recentemente, aprendi sobre logs de gravação antecipada e recuperação de falhas no contexto de armazenamentos de valor-chave como Cassandra e tenho algumas perguntas de acompanhamento:

  1. Os WALs são persistidos em instantâneos menores para que precisemos apenas recuperar do instantâneo mais recente em vez de todo o histórico de confirmação? Qual é o mecanismo de alto nível para persistir e recuperar desses instantâneos?
  2. Os logs são agrupados ao gravar no disco para desempenho? Isso corre o risco de perder dados permanentemente?
  3. O que acontece quando uma máquina falha durante a recuperação de um WAL? Acabamos com resultados parciais no banco de dados? Como nos recuperamos desse estado na próxima vez que o banco de dados for iniciado?
recovery
  • 1 respostas
  • 32 Views
Martin Hope
Norba
Asked: 2022-08-25 04:34:41 +0800 CST

PostgreSQL interrompe a recuperação contínua sem erro

  • 0

Eu tenho algumas instâncias do Postgresql 10 em execução no Windows Server que estão em modo de recuperação contínua. De vez em quando eles param de se recuperar sem dar nenhum erro, como neste arquivo de log de exemplo (no formato CSV, removi alguns dos campos para maior clareza):

2022-08-23 19:42:02.391,"restored log file ""000000010000029F0000001A"" from archive"
2022-08-23 19:42:07.638,"restored log file ""000000010000029F0000001B"" from archive"
2022-08-23 19:42:13.276,"restored log file ""000000010000029F0000001C"" from archive"
2022-08-23 19:42:18.464,"restored log file ""000000010000029F0000001D"" from archive"
2022-08-23 19:42:18.699,"redo done at 29F/1CFFF7F8"
2022-08-23 19:42:18.708,"last completed transaction was at log time 2022-07-20 12:49:38.247406-03"
2022-08-23 19:42:24.304,"restored log file ""000000010000029F0000001C"" from archive"
2022-08-23 19:42:48.625,"selected new timeline ID: 2"
2022-08-23 19:43:13.718,"archive recovery complete"
2022-08-23 19:43:27.746,"database system is ready to accept connections"

Isso acontece mesmo que o próximo arquivo wal a ser restaurado na sequência (000000010000029F0000001D, 000000010000029F0000001E) esteja presente no diretório de archive. O comando de restauração que estou usando é algo assim:

restore_command = '"C:/program files/postgresql/10/bin/pg_standby.exe" -s 2 D:/archive/127 %f %p %r 2>>D:/archive/127/pg_standby.log'

Minha pergunta é: existe alguma maneira de descobrir o que causou a interrupção da recuperação da instância?

postgresql recovery
  • 1 respostas
  • 30 Views
Martin Hope
Sigmund
Asked: 2021-09-11 06:31:28 +0800 CST

Registros de Log de Compensação (CLR) na Fase de Desfazer da Recuperação do Banco de Dados

  • 3

As informações de redo dos logs de compensação correspondem às informações de undo da entrada de log que tornou necessária sua criação durante a fase de undo.

Isso me parece que as informações de refazer dos CLRs são as mesmas que as informações de desfazer dos logs que os desencadearam.

Mas não deveria ser que eles tenham a informação REDO para cancelar as operações UNDO executadas no caso de um processo de recuperação interrompido?

Aqui está um exemplo:

seja T2 uma transação perdedora:

<#55, T2, P3, J=J+9, J = J-9, #53>

J=J+9 é o redo-op e J = J-9 é o undo-op.

Agora, o CLR anexado ao arquivo de log durante a fase de redo seria:

<#56, T2, J=J-9,__, #53>

Com J=J-9 sendo a operação de desfazer da entrada de log original como as informações de redo no CLR. Caso a recuperação seja interrompida, o log-entry #56 será executado durante a fase de redo.

O objetivo do CLR é garantir que reiniciar o processo de recuperação e executá-lo novamente sempre leve ao mesmo resultado. Como a execução da operação J=J-9 durante a fase de refazer da reexecução garante isso?

Alguém por favor pode me explicar isso?

database-theory recovery
  • 1 respostas
  • 214 Views
Martin Hope
Yimin Rong
Asked: 2021-01-31 15:42:36 +0800 CST

Como configurar o contêiner do docker mysql com arquivos ib * existentes?

  • 0

Relacionado a um problema anterior , estou tentando recuperar alguns dados de ib*arquivos existentes de um servidor travado. A versão do banco de dados é 5.1.69, então bastante antiga. Uma das respostas foi instalar o MySQL 5.5, porque ele ainda deveria ser capaz de importar o 5.1, mas mesmo isso é muito antigo nos sistemas atuais, e apenas se depara com problemas de compatibilidade cada vez mais profundos.

“NBK” no mesmo problema sugerido em um comentário para usar um arquivo docker com uma versão mais antiga do MySQL. Resolvi tentar essa abordagem. Consegui instalar o docker e extrair a vsamov/mysql-5.1.73imagem, mas agora estou preso em como colocar os ib*arquivos no contêiner do docker.

Acho que preciso que a imagem seja executada para que ela tenha um ID de contêiner, mas se estiver em execução, os ib*arquivos estarão bloqueados, então não tenho certeza de como proceder. Se alguém tiver experiência nisso, ou puder fornecer uma referência, seria muito apreciado.

mysql recovery
  • 1 respostas
  • 131 Views
Martin Hope
hunterex
Asked: 2021-01-08 03:54:02 +0800 CST

Como usar wal_level no Postgres para definir o modo de recuperação como simples para um banco de dados como o Microsoft SQL Server faz?

  • 0

No Microsoft SQL Server, ALTER DATABASE CURRENT SET RECOVERY SIMPLE WITH NO_WAIT;o modo de recuperação de um banco de dados será definido como simples, para que o espaço do arquivo de log de transações possa ser reutilizado.

No Postgres, wal_levelestá disponível para esse fim.

  1. É equivalente ao wal_leveldo minimalSQL Server RECOVERY SIMPLE?
  2. Como definir wal_levelno comando Postgres? - até agora, a Pesquisa do Google me diz que wal_levelestá definido em um arquivo de configuração.
  3. É possível definir wal_levelpara minimalum banco de dados? Se sim, como?

Obrigada.

postgresql recovery
  • 1 respostas
  • 300 Views
Martin Hope
Yimin Rong
Asked: 2020-10-26 06:12:30 +0800 CST

Versão mais recente para suportar arquivos MySQL 5.1.69 ib*

  • 1

Gostaria de recuperar dados do InnoDB de um servidor travado. O último backup indicou que estava executando o servidor MySQL 5.1.69. Ao fazer uma recuperação, os arquivos de log mostram que o MySQL atual não suportará ib*arquivos tão antigos.

Eu tentei instalar o 5.1.69 de arquivos e compilar a partir de fontes, mas não deu certo, toca de coelho de problemas.

Alguém sabe a versão mais recente do MySQL para suportar ib*arquivos 5.1.69? Vou tentar isso como último recurso. Caso não funcione, irá com o último backup e alguns dados auxiliares para tentar reconstruir o máximo possível.

mysql recovery
  • 1 respostas
  • 28 Views
Martin Hope
Rauf Asadov
Asked: 2020-08-26 02:03:30 +0800 CST

Qual é a diferença entre iniciar a instância com -T3608 e com -f?

  • 0

Simulei uma corrupção do banco de dados do modelo no ambiente de teste apenas para fins de aprendizado. Ao ler outros blogs e artigos sobre isso, fiquei na pergunta: qual é a diferença entre iniciar o SQL Server Service com sinalizadores -T3608 e -f não documentados?

Quando tentei iniciar o serviço com -f, recebi uma mensagem de erro e o serviço não foi iniciado. No entanto, no caso de -T3608, começou sem problemas. Para o sinalizador -T3608, li que -T3608 inicia todos os bancos de dados sem executar a recuperação e -f inicia a instância com configurações mínimas. O que é configuração mínima, não consigo encontrar informações sobre isso.

sql-server recovery
  • 1 respostas
  • 689 Views
Martin Hope
Felix
Asked: 2020-08-19 19:57:44 +0800 CST

O banco de dados do SQL Server tenta se restaurar automaticamente (e fica preso)

  • 0

Atualmente, me deparo com um problema, que um banco de dados SQL Server tem o estado 'recuperação pendente' todas as manhãs. Ninguém iniciou uma recuperação de banco de dados, o próprio servidor decide fazê-lo.

O processo de recuperação fica travado e o SQL Server para de funcionar, pois seu limite de memória é atingido.

Temporariamente, posso resolvê-lo reiniciando o MSSQLSERVERprocesso e colocando o banco de dados offline e novamente online. No entanto, como isso parece estar acontecendo todos os dias agora, essa é uma solução inaceitável.

Estou ansioso para saber:

  • Quais são os possíveis motivos pelos quais um SQL Server inicia automaticamente esse processo de restauração automatizado
  • Existem logs/eventos que eu possa procurar, para encontrar o motivo.
  • Como posso resolver :)

Qualquer ajuda ou dica será muito apreciada.


Atualização: o banco de dados estava no recovery pending, não no restore pending. O SSMS está instalado no idioma alemão e não me mostrou o status em inglês.

sql-server recovery
  • 1 respostas
  • 303 Views
Martin Hope
Zoinky
Asked: 2019-09-13 05:02:11 +0800 CST

Dados perdidos, como recuperar (servidor sql)

  • 1

Atualmente temos um db que o backup foi definido como Simples que está sendo copiado todas as noites (temos backups nos últimos 7 dias), é possível encontrar registros que foram excluídos em junho?

O banco de dados é totalmente funcional, portanto, não há corrupção nem nada, só queremos ver se podemos encontrar registros excluídos no arquivo de log atual. Eu usei o log do apexsql, mas isso mostra que não há nada, supondo que quando um backup é feito no modo simples, ele praticamente descarta o log.

Outra pergunta é, digamos que eu queira ter a capacidade de obter registros excluídos no futuro, devo configurar meu backup como "completo" e isso é bom o suficiente ou preciso também fazer backups de log em massa?

Eu acho que existe uma maneira simples de explicar o que significa o modo e que tipo de recuperação eu recebo. O artigo ms https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/recovery-models-sql-server?view=sql-server-2017 fala sobre isso, mas não ficou claro para mim o que precisa acontecer em cenários de diferenças quando é necessário obter registros específicos excluídos/alterados.

sql-server recovery
  • 3 respostas
  • 629 Views
Martin Hope
SevenFivePE
Asked: 2019-09-01 07:10:24 +0800 CST

Como faço para recuperar linhas excluídas de uma tabela enquanto tenho o Recovery SIMPLE Model? Estou usando o Microsoft SQL Server 2014 [duplicado]

  • 0
Essa pergunta já tem respostas aqui :
Como faço para recuperar alguns registros excluídos? (3 respostas)
Fechado há 3 anos .

Como faço para recuperar linhas excluídas de uma tabela enquanto tenho o Recovery SIMPLE Model? O banco de dados está no Microsoft SQL Server 2014. Consegui encontrá-los na fn_dblogtabela antes que os dados sejam substituídos por um novo. Posso fazer alguma coisa com ele?

SELECT * FROM fn_dblog(NULL, NULL) WHERE Operation = 'LOP_DELETE_ROWS'

Também descubro a hora específica em que as linhas foram excluídas.

USE Databasename
GO
SELECT
[Current LSN],  Operation, [Transaction ID], [Begin Time], [Transaction Name], [Transaction SID]
FROM
fn_dblog(NULL, NULL)
WHERE
[Transaction ID] = ‘000:000001f3'
AND
[Operation] = 'LOP_BEGIN_XACT'

Eu li o SIMPLE Recovery não suporta backup de log de transações. Mas não há realmente nenhuma maneira de restaurar esses dados?

sql-server recovery
  • 1 respostas
  • 386 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve