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 / 问题

All perguntas(dba)

Martin Hope
Astora
Asked: 2024-02-23 01:48:59 +0800 CST

Por que um backup consistente ainda requer recuperação no Oracle?

  • 5

Meu banco de dados estava no estado de montagem e realizamos um backup do banco de dados.

backup database format '/backup/db_full%U.bkp';

Então, ao restaurá-lo, não posso simplesmente usar:

Restore database;
alter database open;

Isto mostra

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '+DATA/orcl/datafile/system.257.1161421855'

Por que ainda preciso recuperar o banco de dados? Eu sei que quando o banco de dados está aberto e realizamos algum backup, devemos recuperar porque o backup estava inconsistente, mas neste caso o banco de dados estava em estado de montagem quando o backup foi realizado. Não quero recuperar porque não quero aplicar todas as alterações após o backup.

Editar: encontrei a opção de backup "consistente" na documentação do Oracle 19c.

backup consistent database format '/backup/db_full%U.bkp';

mas ainda solicita a recuperação (e o backup foi executado no estado de montagem).

oracle
  • 1 respostas
  • 24 Views
Martin Hope
James Madison
Asked: 2024-02-23 01:04:29 +0800 CST

Snowflake não permitirá que uma função analítica seja renomeada

  • 7
Esta questão foi migrada do Superusuário porque pode ser respondida no Stack Exchange dos Administradores de Banco de Dados. Migrado há 16 horas .

No código abaixo, posso fazer o LAG e o PARTITION BY sem problemas como consulta. Mas preciso disso como mesa. Se eu fizer CTAS, preciso de um alias na coluna. Mas quando tento colocar um alias nele, ele falha. Eu acho que isso é SQL válido. Mas estou usando Snowflake , então estou perguntando ao superusuário, pois temo que seja um problema do fornecedor.

Como posso criar uma tabela com a saída dessa consulta?

drop table a;

create table a (
    a1 varchar,
    a2 varchar
);

insert into a values ( 'a', 1 );
insert into a values ( 'a', 3 );
insert into a values ( 'a', 5 );
insert into a values ( 'a', 9 );
insert into a values ( 'b', 1 );
insert into a values ( 'b', 3 );
insert into a values ( 'b', 4 );
insert into a values ( 'c', 3 );
insert into a values ( 'c', 4 );
insert into a values ( 'c', 5 );

-- This works fine.
select a1
     , a2
     , lag(a2)
  over (partition by a1 order by a2)
  from a
;

-- This fails.
select a1
     , a2
     , lag(a2) new_col_name
  over (partition by a1 order by a2)
  from a
;

-- But if I can't name the column, I can't CTAS.
create table b as
select a1
     , a2
     , lag(a2)
  over (partition by a1 order by a2)
  from a
;

A saída é:

status
A successfully dropped.
status
Table A successfully created.
number of rows inserted
                      1
number of rows inserted
                      1
number of rows inserted
                      1
number of rows inserted
                      1
number of rows inserted
                      1
number of rows inserted
                      1
number of rows inserted
                      1
number of rows inserted
                      1
number of rows inserted
                      1
number of rows inserted
                      1
A1  A2  LiteralRedacted0
b   1   NULL
b   3   1
b   4   3
c   3   NULL
c   4   3
c   5   4
a   1   NULL
a   3   1
a   5   3
a   9   5
001003 (42000): SQL compilation error:
syntax error line 4 at position 2 unexpected 'over'.
002022 (42601): SQL compilation error:
Missing column specification
query
  • 2 respostas
  • 141 Views
Martin Hope
PTL_SQL
Asked: 2024-02-23 00:03:23 +0800 CST

Encontrando instâncias criptografadas de banco de dados SQL em nosso SQL Server Estate

  • 6

Existe uma maneira rápida de encontrar instâncias do SQL Server em todo o nosso SQL Estate, que contenham bancos de dados inteiros criptografados (SQL TDE) ou colunas de tabelas de banco de dados?

Obrigado

sql-server
  • 2 respostas
  • 67 Views
Martin Hope
ijustlovemath
Asked: 2024-02-22 22:50:46 +0800 CST

Existe uma maneira de calcular uma coluna com base na expressão de outras colunas?

  • 6

Estou procurando selecionar uma coluna baseada no valor de outras colunas. O caso de uso é que estou interessado em valores intermediários de uma expressão complicada.

Algo como:

SELECT 1.0 as avg, 2.0 as stdev, 100.0*stdev/avg as cv;

A maneira "certa" de fazer isso usando um CTE?

postgresql
  • 2 respostas
  • 28 Views
Martin Hope
L.Moy
Asked: 2024-02-22 11:13:05 +0800 CST

Mapeamento de usuário SSMS lento para carregar ou não responde

  • 7

Tenho enfrentado um problema nas versões 14, 18 e 19 do SSMS, em que o carregamento do mapeamento de usuário de qualquer login demora muito para carregar, às vezes até uma hora, ou simplesmente nunca carrega e não responde.

Alguém já passou por isso antes e/ou pode dar alguma orientação sobre como resolver isso?

Eu tentei o seguinte:

  • Confirmado que não importa se é um login AD ou login SQL
  • Atualizando a versão do SQL Server de 2016 para 2022
  • Atualizando a versão do SSMS de 14 para 18 e para 19
  • Verificado se há algum bloco SQL (não há nenhum)
  • Tentei vários logins diferentes (todos parecem passar por isso)

Existem 25 bancos de dados nesta instância SQL e aproximadamente 50 logins no total.

Infelizmente, esse problema está tornando incrivelmente difícil gerenciar a segurança do usuário e os mapeamentos para bancos de dados sem escrever alguma consulta SQL.

Qualquer apoio ou orientação seria muito apreciado!

Saúde,

EDIT - executei um rastreamento SQL e identifiquei a seguinte consulta como o infrator:

USE [database_name]
SELECT
u.name AS [Name],
CAST(CASE dp.state WHEN N'G' THEN 1 WHEN 'W' THEN 1 ELSE 0 END AS bit) AS [HasDBAccess],
ISNULL(u.default_schema_name,N'') AS [DefaultSchema]
FROM
sys.database_principals AS u
LEFT OUTER JOIN sys.database_permissions AS dp ON dp.grantee_principal_id = u.principal_id 
and dp.type = @_msparam_0
WHERE
(u.type in ('U', 'S', 'G', 'C', 'K' ,'E', 'X'))
and
(ISNULL(suser_sname(u.sid),N'')=@_msparam_1)

Ele é executado após a seleção de um banco de dados para execução e é a quarta consulta a ser executada.

EDIT 2 - É especificamente esta parte que está causando o problema e não tenho ideia do porquê:

    and
(ISNULL(suser_sname(u.sid),N'''')=@_msparam_1)

EDIT 3 - Tenho certeza de que é a função "suser_sname", tendo-a testado em diferentes bancos de dados e logins diferentes. Ele simplesmente trava e nunca é concluído, forçando-me a fechar o SQL.

Qualquer orientação adicional seria apreciada, obrigado.

EDIT 4 - Contexto adicional, desculpas pela omissão original desta informação.

Esse problema está ocorrendo em um domínio separado , nosso ambiente DEV. É onde nossos bancos de dados de produção são restaurados e, como parte dessa restauração, os logins SQL associados são atualizados para funcionar no domínio DEV quando necessário.

Gostaria de saber se talvez alguns logins SQL órfãos estivessem causando esse problema com alguma incompatibilidade do SID em sys.database_principals. Sim, houve alguns logins órfãos, mas após corrigi-los com sp_change_users_login, esse problema ainda ocorre.

sql-server
  • 1 respostas
  • 123 Views
Martin Hope
J. Mini
Asked: 2024-02-22 08:08:40 +0800 CST

O cache do plano pode ser usado para diagnosticar falta de RAM?

  • 5

Aprendi algumas boas maneiras de diagnosticar falta de RAM em um SQL Server e estou pensando se devo adicionar o cache do plano a esta caixa de ferramentas.

Um sinal de falta de RAM é que o cache do plano não dura muito. Você pode encontrar facilmente os planos em cache mais antigos sys.dm_exec_query_statse a quantidade de RAM que o cache do plano está usando SELECT * FROM sys.dm_os_memory_clerks WHERE TYPE = 'CACHESTORE_SQLCP'. Qualquer um deles pode ser transformado em informações acionáveis ​​sobre o seu sistema sem RAM?

Minha suspeita é que nenhuma das visualizações fornece métricas úteis. Se 2% ou 20% da memória do meu servidor for ocupada pelo cache do plano, e daí? Da mesma forma, se meu plano em cache mais antigo tiver um mês, e daí? Pelo que sei, pode ser apenas um plano usado com muita frequência.

sql-server
  • 1 respostas
  • 42 Views
Martin Hope
tkmagnet
Asked: 2024-02-22 05:42:25 +0800 CST

Consulta para retorno único que atende a vários critérios e valores

  • 7

Estou tentando descobrir uma maneira de contar um ID uma vez quando vários critérios são atendidos em uma coluna e, ao mesmo tempo, exibir um total dos mesmos critérios em outra coluna. Os critérios da primeira coluna podem ser usados ​​mais de uma vez para o mesmo ID, mas precisam ser contados apenas uma vez. Existem 2 valores subGrp diferentes (1 e 2), mas focaremos apenas em um. Aqui estão os dados de exemplo para as 2 tabelas que estou usando:

create table vendor (
    subGrp char(1),
    subID varchar(10),
    subStatus char(1),
    subCat char(1) );

insert into vendor (
    subGrp, subID, subStatus, subCat)
values ('1','101','A','E'),
    ('1','105','A','F'),
    ('1','127','A','F'),
    ('1','132','A','F'),
    ('1','133','D','F'),
    ('1','154','A','F'),
    ('1','162','A','F'),
    ('1','167','W','E'),
    ('1','178','A','F'),
    ('1','196','A','F'),
    ('1','200','A','E'),
    ('1','205','A','F'),
    ('1','230','A','F'),
    ('1','231','A','F'),
    ('1','237','A','F'),
    ('1','259','A','F'),
    ('1','260','A','F'),
    ('1','271','A','F');

create table customer (
    cusID varchar(10),
    prodType char(1) );

insert into customer (
    cusID, prodType
values ('101','Y'),
    ('105','H'),
    ('105','Y'),
    ('127','H'),
    ('132','H'),
    ('132','Y'),
    ('132','Y'),
    ('132','F'),
    ('132','Y'),
    ('133','H'),
    ('133','S'),
    ('154','H'),
    ('154','Y'),
    ('154','Y'),
    ('154','Y'),
    ('154','Y'),
    ('162','H'),
    ('162','Y'),
    ('162','Y'),
    ('167','J'),
    ('178','H'),
    ('196','H'),
    ('200','Y'),
    ('205','H'),
    ('205','Y'),
    ('230','H'),
    ('230','Y'),
    ('230','Y'),
    ('230','Y'),
    ('230','Y'),
    ('231','H'),
    ('237','H'),
    ('259','H'),
    ('259','Y'),
    ('260','H'),
    ('271','H');

O subGrp estará na primeira coluna. Na próxima coluna, preciso contar quantos cusIDs têm um prodType Y, F ou J, embora tenham um subStatus de A e subCat de F. Os únicos valores usados ​​várias vezes são encontrados em prodType.

Quero os seguintes resultados:

subGrp prodTypeTotal subGrpTotal
1 7 14

Portanto, no subGrp 1, existem 7 IDs contados apenas uma vez se o ID contiver qualquer combinação de Y, F ou J, e tendo um total de 14 IDs que possuem um subStatus A e um subCat F.

É um aplicativo e banco de dados de terceiros, então estou um pouco limitado no que posso fazer (ex: gera erro ao usar distinto: função escalar não encontrada). Eles me disseram que é MS SQL.

Além disso, não tenho certeza sobre os tipos de dados, pois não tenho conhecimento disso, mas é isso que estou assumindo. Espero que isso faça sentido. Desde já, obrigado.

query
  • 1 respostas
  • 35 Views
Martin Hope
J. Mini
Asked: 2024-02-22 04:13:35 +0800 CST

As visualizações são logicamente redundantes?

  • 8

Hoje cedo, percebi que cometi um erro muito estúpido. Em vez de escrever uma visualização, escrevi uma função com valor de tabela embutida sem parâmetros. Isso me fez pensar: Interface à parte, existe alguma diferença entre os dois? Pelo que eu sei, eles são logicamente iguais e têm desempenho idêntico.

Então, para reformular, o que as visualizações oferecem que as funções com valor de tabela embutidas e sem parâmetros não oferecem? Tudo o que me veio à mente foram visualizações indexadas, mas nunca vi ninguém realmente usá-las.

sql-server
  • 2 respostas
  • 1593 Views
Martin Hope
Student
Asked: 2024-02-21 22:48:58 +0800 CST

PostgreSQL16 no Windows - Limpe o local do arquivo pg_wal

  • 5

O pg_wal local está limpando como deveria. E pg_wal\archive_status tem todo o arquivo com .done (Exemplo: 0000000100000004000000DE.done). Archive_mode está ativado e archive_command está copiando para um domínio de dados. Também estou executando o pg_basebackup todas as noites às 23h (ainda preciso gravar em lote para limpar qualquer coisa com mais de x dias). O requisito é poder restaurar a qualquer momento desde o último backup; que no meu caso será ontem à noite.

O problema que estou tentando resolver agora é limpar o domínio de dados archive_command. Não parece que os arquivos foram limpos desde que eu os configurei em 11/01/2024 (por recomendação da pasta PostgreSQL 16 pg_wal vs pg_wal\archive_status ). O PostgreSQL limpará automaticamente os arquivos compactados do domínio de dados? Os arquivos que tenho têm 16,0 MB (exemplo: 000000010000000000000F9) com um (0000000100000000000000F9.00000380.backup) durante o horário pg_basebackup às 23h.

Terei que escrever um .bat para excluir esses arquivos?

Obrigado

postgresql
  • 2 respostas
  • 27 Views
Martin Hope
KaliTheGreat
Asked: 2024-02-21 16:00:03 +0800 CST

Encontrando todas as corrupções de índice em todo o banco de dados Postgres

  • 8

Há um DB com uma quantidade desconhecida de índices exclusivos corrompidos. Atualmente, eu os descubro um por um quando tento REINDEX DATABASE CONCURRENTLY <db_name>, lidar com a violação de duplicação específica (manipulação de dados, principalmente exclusão de duplicações usando scripts), reindexar a tabela ou índice específico e continuar para o próximo índice (novamente, apenas logo após descobri-lo usando REINDEX DATABASE CONCURRENTLY).

Sem mencionar que cada vez que recebo índices com o sufixo '_ccnew', que AFAIK são índices que tentaram ser criados por uma reindexação anterior simultaneamente, mas não puderam ser feitos, geralmente porque estão violando uma verificação de exclusividade. As tentativas fracassadas de reindexação simultânea ficarão lá e devem ser descartadas manualmente.

A reindexação simultânea é usada para evitar um desligamento.

Quero reduzir essas "viagens de ida e volta" de busca pela próxima violação e me pergunto se há uma maneira mais eficiente de obter dados gerais sobre o status de todas as corrupções de índice ou violações exclusivas que um banco de dados Postgres possui.

postgresql
  • 1 respostas
  • 832 Views
Prev
Próximo

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