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
ceving
Asked: 2024-04-10 16:48:35 +0800 CST

Como capturar uma exceção específica?

  • 6

É possível capturar uma exceção no plpgsql:

EXCEPTION WHEN unique_violation THEN

Mas como verificar a violação de uma restrição específica?

O exemplo a seguir cria duas chaves: uma for ae outra for b. Como saber qual deles causou a exceção?

create table t (
  a text unique,
  b text unique
);

create procedure insert_t(a text, b text)
language plpgsql
as $$
begin
  insert into t values (a, b);
  exception when unique_violation then
  raise notice 'is it a or b?';
end
$$;

call insert_t('x', 'foo');
call insert_t('x', 'bar');

select * from t;
postgresql
  • 1 respostas
  • 11 Views
Martin Hope
devlin carnate
Asked: 2024-04-10 06:10:21 +0800 CST

Alta CPU, leituras e gravações no logout de auditoria

  • 6

Fundo

Recebi logs de rastreamento do SQL Profiler que foram executados por 15 minutos durante um período em que experimentamos 100% de CPU no servidor que hospeda o SQL. Importei esses arquivos para uma tabela chamada TraceTable. Encontrei algumas causas possíveis que não estão relacionadas ao logout de auditoria, no entanto, o resultado principal é do logout de auditoria e gostaria de entender por que as leituras/gravações/CPU são tão altas por apenas 15 minutos.

Pesquisar

Eu li que a duração do logout de auditoria é algum fator que envolve o culminar do tempo , não apenas o tempo do período de rastreamento.

Mas não consigo encontrar nada que explique a alta leitura/gravação/cpu, além de algumas declarações gerais de que o logout de auditoria geralmente não é a causa de problemas de desempenho . Também encontrei uma resposta que diz que a utilização da CPU é cumulativa como a duração , mas o artigo vinculado na resposta não diz explicitamente o que a resposta diz. Gostaria de verificar se isso não está relacionado aos problemas de desempenho que estamos vendo.

Por que o Audit Logout mostra essas estatísticas preocupantes?

Aqui está a consulta que executei:

SELECT TOP 100
  COUNT(*) AS TotalExecutions,     
  EventClass, 
  CAST(TextData as nvarchar(2000)) AS Query ,
  SUM(Duration) AS DurationTotal ,
  SUM(CPU) AS CPUTotal ,
  SUM(Reads) AS ReadsTotal ,
  SUM(Writes) AS WritesTotal
FROM 
  TraceTable
GROUP BY 
  EventClass, 
  CAST(TextData as nvarchar(2000))
ORDER BY 
  CPUTotal DESC

E aqui está o resultado principal:

resultado

(Desculpe, não tenho acesso à instância SQL, então não sei a versão exata. É seguro assumir que é pelo menos 2014, possivelmente mais recente)

sql-server
  • 1 respostas
  • 36 Views
Martin Hope
Justin Lowen
Asked: 2024-04-10 00:09:17 +0800 CST

PostgreSQL: Como o tipo de dados uuid é classificado?

  • 4

Eu tenho um sistema que usa o formato UUID7 proposto para seus valores uuid. UUID7 tem carimbo de data/hora codificado em seu valor. O PostgreSQL documenta como as cláusulas ORDER BY funcionam com o tipo de dados UUID?

https://www.postgresql.org/docs/current/datatype-uuid.html Não há notas sobre classificação aqui.

lab7=# SELECT resource_id, uuid, created_timestamp from resource where "name" in ('ABC000004',
 'ABC000003') order by uuid, "name" desc;
 resource_id |                 uuid                 |     created_timestamp
      
-------------+--------------------------------------+----------------------
------
    17704701 | 018ec350-6976-79d5-b0f5-41af99b98fa4 | 2024-04-09 14:43:30.6
09909
    17704718 | 018ec353-ee50-7765-9e8b-3ebf22654662 | 2024-04-09 14:47:21.3
78086

Comparando os caracteres mais à esquerda (assumindo que se trata de uma string), esperaria que 018ec353 estivesse no conjunto de resultados antes de 018ec350. Como isso não é armazenado como uma string, essa suposição pode ser ingênua.

Em termos de desempenho, a classificação por resource_id aqui ou create_timestamp tem melhor desempenho, mas eu esperaria que a classificação no resource_id de incremento exclusivo, no uuid globalmente exclusivo e nocreate_timestamp estivessem todos alinhados. (A entrada criada mais recente é classificada primeiro quando ordenada por descrição)

Há algum detalhe sobre como essa classificação é realizada e por que minhas suposições estão erradas?

postgresql
  • 1 respostas
  • 29 Views
Martin Hope
ERJAN
Asked: 2024-04-09 03:58:25 +0800 CST

qual é a diferença entre mecanismo de data warehouse, data warehouse, mecanismo olap, banco de dados olap, mecanismo de armazenamento de dados e armazenamento de dados?

  • 5

Preciso esclarecer a palavra-chave "mecanismo" e qual funcionalidade está por trás dela. Presumo que o mecanismo seja um componente menor de algo maior - o banco de dados. Como se um 'motor de carro' estivesse dentro de um carro.

Então, o mecanismo dwh pode ser conectado a um datawarehouse maior? O mecanismo Olap pode ser usado como componente do banco de dados olap real?

Encontrei esta imagem de paisagem de dados no Medium.com com 2 categorias diferentes: olap db e olap engine.

olap_db_vs_olap_engine

Qual é a diferença, já que eles têm funcionalidades sobrepostas?

olap
  • 1 respostas
  • 31 Views
Martin Hope
Dimitrios Desyllas
Asked: 2024-04-08 18:21:29 +0800 CST

Como posso ordenar meus resultados por relevância ao usar like?

  • 6

Em uma tabela mysql (ou mariadb):

mytable:
---
id PK Biginteger Autoincrement
name varchar(255)

Eu procuro coisas assim:

select * from mytable where name like "%someval%"; 

O termo de pesquisa também pode estar em grego:

select * from mytable where name like "%οτιδήπ%"; 

Como posso ordenar os resultados retornados por relevância para o valor que procuro? Quero dizer, uma vez que eu procuro, οτιδήπquero que o resultado que corresponda ao namemais próximo οτιδήπseja retornado primeiro.

Como posso fazer isso?

mysql
  • 1 respostas
  • 32 Views
Martin Hope
questionto42
Asked: 2024-04-08 17:42:57 +0800 CST

O depurador pára apenas nos pontos de interrupção do primeiro componente de script. Como depuro mais de um componente de script em uma tarefa de fluxo de dados do SSIS?

  • 5

Isso aborda Como depurar um componente de script no SSIS que foi solicitado para a versão 2008 e agora está desatualizado. É por isso que esta questão precisa ser reavivada para as versões de hoje.

Coloquei um ponto de interrupção em dois componentes de script em uma tarefa de fluxo de dados do SSIS. Apenas o primeiro componente de script é depurado, assim que chego ao segundo, o script é executado até o fim sem parar em nenhum ponto de interrupção.

Como posso depurar o segundo componente de script para que o depurador pare nos pontos de interrupção?

sql-server
  • 1 respostas
  • 11 Views
Martin Hope
Peter
Asked: 2024-04-08 14:29:14 +0800 CST

Postgres: esperas WALWrite e synchronous_commit

  • 5

Parece claro que definir synchronous_commit OFF em sessões - nas quais a desvantagem super rara (transações supostamente confirmadas sendo perdidas em caso de falha do servidor) - é bom, aumenta o desempenho dessas sessões, pois elas não precisam esperar pelo WAL para ser descarregado no disco.

No entanto, o que não consigo entender é como isso afeta todas as sessões que são confirmadas na mesma janela de tempo que possuem arquivos synchronous_commit ON.

Entendo que as sessões que produzem synchronous_commit OFFtanto WAL quanto aquelas que o possuem ON(ou até mais, pois realizam mais tarefas ao mesmo tempo, já que não precisam esperar pelo WALWrite). Então as sessões que possuem ONserão tão lentas como se todas as sessões tivessem ON?

Cenário 1: 10 sessões fazendo DML pesado ONe 10 sessões que o possuem OFF.

Cenário 2: 20 sessões fazendo DML pesado que possui ON.

O que eu acho que acontece: no cenário 1, as 10 sessões OFFproduzem ainda mais WAL do que no cenário 2, portanto as sessões ONaguardam ainda mais no WALWrite do que no cenário 1.

Estou entendendo certo que cada commit sempre espera que TODOS os dados WAL atuais ( xid<= own xid) sejam gravados, não apenas os dados 'ITS OWN' do WAL?

postgresql
  • 1 respostas
  • 37 Views
Martin Hope
questionto42
Asked: 2024-04-08 01:30:57 +0800 CST

O DFT descarta a conexão e sua tabela temporária após deixar qualquer item DFT, testado com dois componentes de script. Como mantenho a tabela temporária ativa?

  • 5

Ligações

Isso ocupa:

  • O uso de tabelas temporárias no fluxo SSIS falha - Stack Overflow

  • É possível usar uma tabela temporária em uma fonte de fluxo de dados? ; a resposta é:

    'Não', pois não pode ser aprovado sem ser descartado imediatamente.

    (Lembre-se de que mesmo a resposta funcional abaixo não pode resolver esse problema do item Fonte de Dados que não lhe dá a opção de fechar ou liberar a conexão, sempre fecha a conexão e, com isso, a tabela temporária é descartada. )

  • Perco minhas tabelas temporárias ao alterar tarefas em um pacote SSIS? - Estouro de pilha

  • Como o SSIS gerencia o fechamento de conexões? Posso forçar? - Estouro de pilha

  • É possível usar OleDbConnections com o componente Script?

A partir disso, pensei em testar como manter a conexão entre dois itens DFT para que a tabela temporária não fosse descartada.

O gerenciador de conexões Control Flow não corrige isso

Com um gerenciador de conexões para o banco de dados "tempdb", posso criar tabelas temporárias no Fluxo de Controle que sobrevivem à próxima etapa dentro do Fluxo de Controle, consulte Usar Tabela Temp no SSIS? . Embora você possa pensar que como criar uma tabela temporária na tarefa de fluxo de controle do SSIS e depois usá-la na tarefa de fluxo de dados? já responde a esta pergunta, descobri que a resposta não resolve o problema de tabelas temporárias descartadas após uma etapa no DFT.

O gerenciador de conexões ADO.NET não corrige isso

Testei o DFT com um gerenciador de conexões ADO.NET e a tabela temporária ainda foi descartada após o componente Script.

insira a descrição da imagem aqui

Configuração de teste

Testei em um Script Component que coloquei depois do outro:

insira a descrição da imagem aqui

Definir RetainSameConnectioncomo Truenão resolve

Eu configurei RetainSameConnectioncomo Truenos outros links, mas isso não resolveu.

Truques de código

Tentei não fazer uma nova conexão no segundo Componente Script, mas apenas adquiri-lo, sem sucesso:

  • No componente de script 1, ambos base.PostExecute();e conn.Close();são comentados, o código é retirado de Como criar e preencher uma tabela temporária com dados recebidos de um item de fonte de dados sem sair do componente de script C# da tarefa de fluxo de dados do SSIS? :
    public override void PostExecute()
    {
        //base.PostExecute();
        // here we would bulk copy data into the temp table
        // you may need to batch this operation or handle it differently based on your situation
        using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conn))
        {
            // Now write that DataTable to the database 
            bulkCopy.DestinationTableName = "##tmpTable";
            bulkCopy.WriteToServer(dt);
            bulkCopy.Close();
        }
        //conn.Close();
    }
  • No Script Component 2, a mesma conexão é buscada novamente com (SqlConnection)Connections.Connection.AcquireConnection(Transaction);:
    public override void AcquireConnections(object Transaction)
    {
        base.AcquireConnections(Transaction);
        conn = (SqlConnection)Connections.Connection.AcquireConnection(Transaction);
    }

A tabela temporária é descartada já após o término do primeiro componente de script, pois a conexão parece ter sido perdida por padrão, mesmo que eu não a feche.

Busca por um truque que me permita trabalhar com tabelas temporárias em muitos itens DFT e em todo o pacote/projeto

Espero encontrar uma resposta que mantenha viva a tabela temporária com algum tipo de truque. Tudo deve funcionar apenas no SSIS, não posso simplesmente criar a tabela temporária no SSMS apenas para mantê-la ativa para o SSIS.

Se o DFT eliminar tabelas temporárias após deixar qualquer item DFT, como posso manter a tabela temporária ativa no gerenciador de conexões em funcionamento ou qual é a solução alternativa para isso?

sql-server
  • 2 respostas
  • 18 Views
Martin Hope
wasfy mohammed
Asked: 2024-04-07 14:32:45 +0800 CST

PostgreSQL - Selecionando diferentes esquemas no mesmo banco de dados

  • 5

A criação de uma visualização Table no esquema 2 que extrai dados de Table no esquema 1 afetará o banco de dados ou causará outros problemas? meu código:

CREATE VIEW "test"."Excavation" AS
SELECT *
FROM "public"."Distribution_UG";
postgresql
  • 1 respostas
  • 30 Views
Martin Hope
Tony Sepia
Asked: 2024-04-06 19:58:16 +0800 CST

A utilização da rede atingiu o máximo durante o backup. É ruim por si só?

  • 5

Temos um cluster de dois bancos de dados Oracle. O agente de software de monitoramento é instalado em ambas as máquinas e durante a noite, quando os backups estão acontecendo, recebemos avisos de que a utilização da interface de rede nos servidores está acima de 90% - tenho certeza de que ela atinge o limite máximo.

insira a descrição da imagem aqui

Isso é um problema ou vocês, DBAs experientes, permitem que os servidores de banco de dados ocasionalmente maximizem a largura de banda da interface de rede? Caso contrário, quais são os problemas conhecidos que isso pode causar?

Agradeço antecipadamente!

oracle
  • 1 respostas
  • 16 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