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 / 230640
Accepted
Learning_DBAdmin
Learning_DBAdmin
Asked: 2019-02-26 00:58:36 +0800 CST2019-02-26 00:58:36 +0800 CST 2019-02-26 00:58:36 +0800 CST

Localizar origem e detalhes da inserção da tabela de heap de APL

  • 772

Eu tenho executado o monitor do sistema (sysmon) no Sybase ASE 15.7 (SP139) no HP-UX (Itanium) com o comando abaixo:

sp_sysmon "00:10:00"
go

Observou que o número de inserções é muito alto a qualquer hora do dia, incapaz de encontrar a fonte e os detalhes, por exemplo, nome da tabela, nome do banco de dados, nome do programa etc. sem carga:

Transaction Profile
-------------------

  Transaction Summary             per sec      per xact       count  % of total
  -------------------------  ------------  ------------  ----------  ---------- 
    Committed Xacts                  10.7           n/a        6390     n/a     

  Transaction Detail              per sec      per xact       count  % of total
  -------------------------  ------------  ------------  ----------  ---------- 
  Inserts
    Fully Logged
      APL Heap Table              58665.7        5508.5    35199448     100.0 %
      APL Clustered Table             0.0           0.0           7       0.0 %
      Data Only Lock Table           13.2           1.2        7918       0.0 %
      Fast Bulk Insert                0.0           0.0           0       0.0 %
      Fast Log Bulk Insert            0.0           0.0           0       0.0 %
    Minimally Logged
      APL Heap Table                  0.0           0.0           0       0.0 %
      APL Clustered Table             0.0           0.0           0       0.0 %
      Data Only Lock Table            0.0           0.0           0       0.0 %
  -------------------------  ------------  ------------  ----------  ---------- 
  Total Rows Inserted             58679.0        5509.8    35207373     100.0 %

Parece que as inserções estão acontecendo no tempdb, no entanto, essas muitas inserções são um pouco incomodas, agradeço ter conselhos de especialistas sobre isso.

sybase monitoring
  • 1 1 respostas
  • 43 Views

1 respostas

  • Voted
  1. Best Answer
    Learning_DBAdmin
    2019-03-18T23:15:56+08:002019-03-18T23:15:56+08:00

    Encontrei uma maneira indireta de resolver o problema postado na minha pergunta, pois não encontrei nenhuma ferramenta ou script que pudesse monitorar todas as inserções acontecendo no nível do banco de dados, analisei o procedimento (consulta) que é executado 24 horas por dia e está usando recurso máximo no banco de dados de produção. Para simular, executei esse procedimento manualmente no ambiente de Teste com todos os seus parâmetros e mantive o sysmon rodando em segundo plano pelo mesmo período que leva para o procedimento ser executado. E consegui reunir quase o mesmo número de inserções no ambiente de teste.

    Para provar que este é o único procedimento que está fazendo esse número muito alto de inserções a cada segundo, também executei o sysmon antes e depois do procedimento problemático e capturei esse número de inserções também, que está em centenas e nem mesmo em milhares.

    Symon Durante a execução do procedimento:

    Transaction Profile
    -------------------
    
      Transaction Summary             per sec      per xact       count  % of total
      -------------------------  ------------  ------------  ----------  ---------- 
        Committed Xacts                   0.1           n/a           9     n/a     
    
      Transaction Detail              per sec      per xact       count  % of total
      -------------------------  ------------  ------------  ----------  ---------- 
      Inserts
        Fully Logged
          APL Heap Table              89575.5      895754.9     8061794     100.0 %
          APL Clustered Table             0.0           0.0           0       0.0 %
          Data Only Lock Table            0.0           0.0           0       0.0 %
          Fast Bulk Insert                0.0           0.0           0       0.0 %
          Fast Log Bulk Insert            0.0           0.0           0       0.0 %
        Minimally Logged
          APL Heap Table                  0.0           0.0           0       0.0 %
          APL Clustered Table             0.0           0.0           0       0.0 %
          Data Only Lock Table            0.0           0.0           0       0.0 %
      -------------------------  ------------  ------------  ----------  ---------- 
      Total Rows Inserted             89575.5      895754.9     8061794     100.0 %
    

    Sysmon Antes/Depois da execução do procedimento (quando não está em execução):

    Transaction Profile
    -------------------
    
      Transaction Summary             per sec      per xact       count  % of total
      -------------------------  ------------  ------------  ----------  ---------- 
        Committed Xacts                   0.1           n/a          13     n/a     
    
      Transaction Detail              per sec      per xact       count  % of total
      -------------------------  ------------  ------------  ----------  ---------- 
      Inserts
        Fully Logged
          APL Heap Table                127.6         883.7       11488     100.0 %
          APL Clustered Table             0.0           0.0           0       0.0 %
          Data Only Lock Table            0.0           0.0           0       0.0 %
          Fast Bulk Insert                0.0           0.0           0       0.0 %
          Fast Log Bulk Insert            0.0           0.0           0       0.0 %
        Minimally Logged
          APL Heap Table                  0.0           0.0           0       0.0 %
          APL Clustered Table             0.0           0.0           0       0.0 %
          Data Only Lock Table            0.0           0.0           0       0.0 %
      -------------------------  ------------  ------------  ----------  ---------- 
      Total Rows Inserted               127.6         883.7       11488     100.0 %
    

    Dessa forma, consegui encontrar o procedimento que fazia 60k inserções a cada segundo. Além disso, essas inserções foram por causa de junções impróprias da tabela (contendo registros enormes) e o número de inserções estavam na forma de tabela de trabalho como abaixo:

    Table: Worktable1 scan count 1, logical reads: (regular=88517 apf=0 total=88517), physical reads: (regular=52316 apf=0 total=52316), apf IOs used=0
    Table: Worktable1 scan count 0, logical reads: (regular=8092124 apf=0 total=8092124), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable2 scan count 1, logical reads: (regular=11 apf=0 total=11), physical reads: (regular=2 apf=0 total=2), apf IOs used=0
    Table: Worktable2 scan count 0, logical reads: (regular=10 apf=0 total=10), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable33 scan count 1, logical reads: (regular=4 apf=0 total=4), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable9 scan count 1, logical reads: (regular=4 apf=0 total=4), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable7 scan count 1, logical reads: (regular=4 apf=0 total=4), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable4 scan count 1, logical reads: (regular=4 apf=0 total=4), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable1 scan count 0, logical reads: (regular=8180641 apf=0 total=8180641), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable17 scan count 1, logical reads: (regular=4 apf=0 total=4), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable15 scan count 1, logical reads: (regular=4 apf=0 total=4), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable12 scan count 1, logical reads: (regular=4 apf=0 total=4), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable31 scan count 1, logical reads: (regular=4 apf=0 total=4), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable29 scan count 1, logical reads: (regular=4 apf=0 total=4), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable27 scan count 1, logical reads: (regular=4 apf=0 total=4), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable25 scan count 1, logical reads: (regular=4 apf=0 total=4), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable23 scan count 1, logical reads: (regular=4 apf=0 total=4), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable21 scan count 1, logical reads: (regular=4 apf=0 total=4), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable19 scan count 1, logical reads: (regular=4 apf=0 total=4), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    Table: Worktable2 scan count 0, logical reads: (regular=21 apf=0 total=21), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
    

    Espero que acima ajude outras pessoas caso enfrentem problemas semelhantes que eu enfrentei.

    • 0

relate perguntas

  • Por que usar TRUNCATE e DROP?

  • Existe um -w equivalente para isql quando já conectado?

  • Como posso passar parâmetros para um "Script SQL" do isql

  • Como identifico tabelas que possuem uma chave estrangeira para uma tabela específica no Sybase?

  • Como encontrar as instruções SQL mais recentes no banco de dados?

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