IBM Maximo: SQL Queries: Difference between revisions
No edit summary |
|||
(35 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
= Performance = | = Performance = | ||
== Maiores tabelas e atualização de estatísticas == | == (Oracle DB) Versão do Oracle == | ||
Verificando as maiores tabelas e a atualização de estatísticas das tabelas. | |||
select banner from v$version where rownum < 2; | |||
resultado: | |||
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production | |||
== (Oracle DB) Maiores tabelas e atualização de estatísticas == | |||
Verificando as maiores tabelas e a atualização de estatísticas das tabelas. | Verificando as maiores tabelas e a atualização de estatísticas das tabelas. | ||
Line 9: | Line 17: | ||
select table_name, round((num_rows*avg_row_len)/1048576) tbsize, num_rows, last_analyzed | select table_name, round((num_rows*avg_row_len)/1048576) tbsize, num_rows, last_analyzed | ||
from all_tables | from all_tables | ||
where owner='MAX' | where owner='MAX' and num_rows>0 | ||
order by num_rows desc | order by num_rows desc | ||
resultado | resultado | ||
TABLE_NAME |TBSIZE|NUM_ROWS |LAST_ANALYZED | | |||
WOSTATUS | -----------------------+------+---------+-----------------------+ | ||
WORKORDER | WOSTATUS | 28639|319467180|2022-02-10 00:50:25.000| | ||
WORKORDER | 65996|226390056|2022-02-10 08:33:14.000| | |||
... | ... | ||
Mesmo que seu ambiente tenha pouca movimentação, atualizar as estatísticas é fundamental pra um funcionamento do ambiente com qualidade. | Mesmo que seu ambiente tenha pouca movimentação, atualizar as estatísticas é fundamental pra um funcionamento do ambiente com qualidade. | ||
== (Oracle DB) Atualização de estatísticas == | |||
Verificando a atualização de estatísticas das tabelas. | |||
select to_char(last_analyzed) as last_a, count(1) as cnt | |||
from all_tables | |||
where owner='MAX' and num_rows>0 | |||
group by to_char(last_analyzed) | |||
order by to_char(last_analyzed) | |||
resultado | |||
LAST_A |CNT| | |||
--------+---+ | |||
09/02/22|171| | |||
10/02/22|395| | |||
11/02/22|218| | |||
... | |||
= Geral= | |||
== Registros por Ano == | |||
select yList.year y, | |||
(select count(*) from workorder where extract(year from reportdate)=yList.year) c_workorder, | |||
(select count(*) from wfinstance where extract(year from starttime)=yList.year) c_wfinstance, | |||
(select count(*) from ticket where extract(year from reportdate)=yList.year) c_ticket, | |||
(select count(*) from po where extract(year from orderdate)=yList.year) c_po, | |||
(select count(*) from matrectrans where extract(year from transdate)=yList.year) c_matrectrans, | |||
(select count(*) from servrectrans where extract(year from transdate)=yList.year) c_servrectrans | |||
from (select column_value as year FROM table(sys.odcivarchar2list('2020','2021'))) yList | |||
group by yList.year | |||
order by yList.year; | |||
= Relatórios= | = Relatórios= | ||
Line 51: | Line 95: | ||
* [[IBM Maximo: Exportando um relatório (BIRT) do banco de dados do Maximo]] | * [[IBM Maximo: Exportando um relatório (BIRT) do banco de dados do Maximo]] | ||
= Crontasks e Escalações= | |||
* [[IBM Maximo: SQL Queries - CRONTASKS & ESCALATIONS]] | |||
* [[IBM Maximo: SQL Queries - tabela ESCREPEATTRACK]] | |||
* [[IBM Maximo: SQL Queries - tabela ESCSTATUS]] | |||
= Workflow = | |||
Migrado para [[IBM Maximo: SQL Queries - WORKFLOW]] | |||
== Arquivamento== | |||
Queries uteis para arquivamento/exclusao de registros em tabelas | |||
select to_char(statusdate, 'YYYY') as YEAR1, count(1) as CONT | |||
from escstatus | |||
group by to_char(statusdate, 'YYYY') | |||
order by to_char(statusdate, 'YYYY') | |||
2019 719.178 | |||
2020 773.078 | |||
2021 799.968 | |||
= | = Login= | ||
Migrado para [[IBM Maximo: SQL Queries - tabela LOGINTRACK]] | |||
Dica de [http://maximobuzz.blogspot.com/2013/07/delete-workflow-history-for-inactive.html Delete Workflow History for Inactive Records] | |||
= Ver também = | = Ver também = | ||
Line 78: | Line 136: | ||
[[Category:IBM Maximo]] | [[Category:IBM Maximo]] | ||
[[Category:ibm-maximo-sql]] | [[Category:ibm-maximo-sql]] | ||
[[Category:ibm-maximo-performance]] |
Latest revision as of 14:40, 28 March 2022
Performance
(Oracle DB) Versão do Oracle
Verificando as maiores tabelas e a atualização de estatísticas das tabelas.
select banner from v$version where rownum < 2;
resultado:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
(Oracle DB) Maiores tabelas e atualização de estatísticas
Verificando as maiores tabelas e a atualização de estatísticas das tabelas.
select table_name, round((num_rows*avg_row_len)/1048576) tbsize, num_rows, last_analyzed from all_tables where owner='MAX' and num_rows>0 order by num_rows desc
resultado
TABLE_NAME |TBSIZE|NUM_ROWS |LAST_ANALYZED | -----------------------+------+---------+-----------------------+ WOSTATUS | 28639|319467180|2022-02-10 00:50:25.000| WORKORDER | 65996|226390056|2022-02-10 08:33:14.000| ...
Mesmo que seu ambiente tenha pouca movimentação, atualizar as estatísticas é fundamental pra um funcionamento do ambiente com qualidade.
(Oracle DB) Atualização de estatísticas
Verificando a atualização de estatísticas das tabelas.
select to_char(last_analyzed) as last_a, count(1) as cnt from all_tables where owner='MAX' and num_rows>0 group by to_char(last_analyzed) order by to_char(last_analyzed)
resultado
LAST_A |CNT| --------+---+ 09/02/22|171| 10/02/22|395| 11/02/22|218| ...
Geral
Registros por Ano
select yList.year y, (select count(*) from workorder where extract(year from reportdate)=yList.year) c_workorder, (select count(*) from wfinstance where extract(year from starttime)=yList.year) c_wfinstance, (select count(*) from ticket where extract(year from reportdate)=yList.year) c_ticket, (select count(*) from po where extract(year from orderdate)=yList.year) c_po, (select count(*) from matrectrans where extract(year from transdate)=yList.year) c_matrectrans, (select count(*) from servrectrans where extract(year from transdate)=yList.year) c_servrectrans from (select column_value as year FROM table(sys.odcivarchar2list('2020','2021'))) yList group by yList.year order by yList.year;
Relatórios
Listar os relatórios executados com maior tempo de duracao nos últimos 30 dias
select reportname, description, appname, lastrunduration, lastrundate from report where lastrunduration is not null and lastrundate > sysdate - 30 order by lastrunduration desc
Listar os relatórios mais executados nos últimos 30 dias
select reportname, appname, sum(runtime)/1000 tot_exec_time, count(*) num_exec, round(avg(runtime)/1000,3) avg_exec_time from reportusagelog where startdate > sysdate - 30 group by reportname, appname order by tot_exec_time desc
Listar os relatórios por hora
select extract(hour from (cast(startdate as timestamp))) exechour, round(sum(enddate-startdate)*24*60*60,3) exec_time from reportusagelog where startdate > sysdate - 30 group by extract(hour from (cast(startdate as timestamp))) order by extract(hour from (cast(startdate as timestamp)))
Outros exemplos
Crontasks e Escalações
Workflow
Migrado para IBM Maximo: SQL Queries - WORKFLOW
Arquivamento
Queries uteis para arquivamento/exclusao de registros em tabelas
select to_char(statusdate, 'YYYY') as YEAR1, count(1) as CONT from escstatus group by to_char(statusdate, 'YYYY') order by to_char(statusdate, 'YYYY') 2019 719.178 2020 773.078 2021 799.968
Login
Migrado para IBM Maximo: SQL Queries - tabela LOGINTRACK
Dica de Delete Workflow History for Inactive Records