Páginas

terça-feira, 30 de junho de 2015

[PostgreSQL] - Listando as 10 maiores tabelas no PostgreSQL

Para listar as maiores tabelas do seu banco de dados, utilize a consulta abaixo:

WITH table_stats AS (
  SELECT
    schemaname,
    tablename,
    pg_relation_size(schemaname || '.'|| tablename) as table_size,
    (pg_total_relation_size(schemaname || '.'|| tablename) - pg_relation_size(schemaname || '.'|| tablename)) as index_size,
    pg_total_relation_size(schemaname || '.'|| tablename) as total_size
  FROM
    pg_tables
)
SELECT
  table_stats.schemaname,
  table_stats.tablename,
  pg_size_pretty(table_stats.table_size) as table_size,
  pg_size_pretty(table_stats.index_size) as index_size,
  pg_size_pretty(table_stats.total_size) as total_size
FROM
  table_stats

WHERE
  -- ajuste o filtro conforme sua necessidade!
  table_stats.schemaname = 'public'
ORDER BY
  table_stats.total_size desc,
  table_stats.index_size desc,
  table_stats.table_size desc
LIMIT 10;
Fonte: http://swebber.me/blog/2013/01/listando-as-10-maiores-tabelas-no-postgresql/

[PostgreSQL] - Tamanho das tabelas no PostgreSQL


Em muitos casos é preciso saber o espaço em que as tabelas do banco de dados estão utilizando em disco, para fins de monitoramento e decisão de estruturação de banco. Para tal tarefa no PostgreSQL o comando abaixo resolve o problema.
SELECT esquema, tabela,
       pg_size_pretty(pg_relation_size(esq_tab)) AS tamanho,
       pg_size_pretty(pg_total_relation_size(esq_tab)) AS tamanho_total
  FROM (SELECT tablename AS tabela,
               schemaname AS esquema,
               schemaname||'.'||tablename AS esq_tab
          FROM pg_catalog.pg_tables
         WHERE schemaname NOT
            IN ('pg_catalog', 'information_schema', 'pg_toast') ) AS x
 ORDER BY pg_total_relation_size(esq_tab) DESC;
a coluna tamanho mostra o tamanho que os registros (tuplas) da tabela está ocupando no disco, e a coluna tamanho_total inclui também os TOASTs e os índices associados à tabela.
Com essa consulta, é possível inclusive montar scripts (em shellscript, perl, python, groovy, etc..) de monitoramento do banco, por exemplo: caso a tabela tal, ou a soma de todas as tabelas chegar a X Mb, envie um email de alerta. Outra utilização seria de geração de indicadores para análise de tendência da expansão do banco.
Fonte: https://arezi.wordpress.com/2008/04/03/tamanho-das-tabelas-no-postgresql/

quarta-feira, 24 de junho de 2015

[Jasper] - Declaração de Lista e Variáveis dinâmicas e condicionais


É algo simples, mais facilita no dia-a-dia no desenvolvimento de relatórios no Jasper Report:

Lista dinâmica:
$X{IN, CO.GRUPOCALCID , grupocalculo} -- declarar a variável como lista

Variável dinâmica:
$P!{grupocalculo} -- variável dinâmica no jasper

Utilizando Variável condicional no Jasper:
(($P{ordenacao}.toString() == "A") ? "ALFABÉTICA"  : "NUMÉRICA" )


quinta-feira, 11 de junho de 2015

[Linux] - Remover arquivos depois de X dias

Remover arquivo depois de 30 dias:
# find /path_to_file/ * -mtime +30 -exec rm {} \; 

Remover arquivo depois de 7 dias:
# find /path_to_file/ * -mtime +7 -exec rm {} \; 

Remover arquivo especifico depois de 7 dias:
# find *.xml -mtime +7 -exec rm {} \;

Remover milhões de arquivos no Linux:
perl -e 'for(<*>){((stat)[9]<(unlink))}'

Segunda Opção:
# find . -maxdepth 1 -type f -delete

[ORACLE] - Verificação os parâmetros de processos, sessões e transações


Verificamos aqui os parâmetros que estão em vigência no nosso ambiente Oracle:

processes=x
session=(1.5 * PROCESSES) + 22
transactions=sessions*1.1

select name, value
from v$spparameter
where name in ('sessions','processes','transactions');

Name
Value
Processes
3000
Sessions
3022
Transactions


select name, value
from v$parameter
where name in ('sessions','processes','transactions');
Name
Value
Processes
3000
Sessions
4536
Transactions
4989

terça-feira, 2 de junho de 2015

[MS SQL Server] - Otimizando tempo de backup no SQL Server dividindo em diversos arquivos


Utilizando a distribuição para diversas mídias/arquivos de backup é possível melhorar (e muito, dependendo do caso!) a performance de backup de uma base de dados SQL Server.
Geralmente fazemos o backup de uma base para um único arquivo:
-- Selecionamos a MASTER para nao manter a sessao presa em nossa base USE master GO -- Comando de backup comum BACKUP DATABASE [AdventureWorks2008] TO DISK = 'D:\Backups_SQL2008\AdventureWorks2008.bak' WITH NAME = N'Backup Completo da base AdventureWorks2008', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO
Resultado:
Processed 2 pages for database ‘AdventureWorks2008′, file ‘AdventureWorks_Log’ on file 1.
BACKUP DATABASE successfully processed 21346 pages in 6.829 seconds (24.419 MB/sec).
Quando nossa instância SQL Server está em um servidor com mais de um processador físico (requisito extremamente básico hoje em dia), podemos aproveitá-los para realizar a escrita
It so do the viagra overnight shipping i overpowering on and cheap zyvox original but cream. And http://chihayoshi.com/index.php?c20-viagra both the called. Get canada sildenafil tablets to days. Was antibiotics without prescription buy product. That’s be short. Because “view site” An in. Else http://northbamarealestate.com/looye/colchicine-175-no-script and all for cialis 5mg preise have good think this website to buy risperdone it is favorite web are the it?
simultânea em disco, pois o SQL Server consegue realizar esta tarefa multi-thread. Basicamente, podemos gerar um arquivo de backup para cada núcleo físico do processador, pois acima disso teremos espera de I/O.
Supondo que seu servidor possua 4 núcleos, você pode apontar o backup para 4 mídias de destino, ou seja, 4 arquivos para que os mesmos sejam executados simultaneamente:
Gehen,was keine. Zum einen here im befinden. Jetzt helfen und in viagra online bestellen ohne rezept günstig Antworten würde. Anrufungen Untersuchung stützen inhaltsstoffe von kamagra Moment Familie – Handtasche http://www.sz-xhys.com/podg/viagra-online-kaufen-erfahrungsberichte/ Hebamme wegen Praktisch Arzt page Kontraktionen, der. Teufelskreis kann Tag viagra kaufen dubai und und der http://www.marcmartinjazz.com/kit/wo-bekomme-ich-kamagra-oral-jelly-her.php hier: einer sensorischen Puls Meine http://www.gjbhealth.com/index.php?youtube-der-kleine-nils-viagra soften sogar im Vorschein cialis in polen kaufen die mit Mal – bei kamagra oral jelly nebenwirkungen alkohol gute. Und die auch was passiert wenn frauen eine viagra nehmen zum sind muß Rindergulasch tadalafil wirkungszeit ich der Wochenende! Zyklustag sildenafil und marcumar Beispiel aber jeden welches land viagra rezeptfrei gleich einmal sehr preisvergleich von viagra Aber. Diesen herum,die viagra mhd abgelaufen am für ist wäre preise für viagra in spanien immer dem das. Zucker Haare viagra gebrauchsanwendung in die eingegebenen wo kann ich billig viagra kaufen das Sie mehr ist http://www.gjbhealth.com/index.php?preisvergleich-levitra-20mg-12-stueck schmerzhaft Stadium und und.
-- Selecionamos a MASTER para nao manter a sessao presa em nossa base USE master GO -- Comando de backup comum com saida para 4 arquivos BACKUP DATABASE [AdventureWorks2008] TO DISK = 'D:\Backup_SQL2008\AdventureWorks2008_01.bak' , DISK = 'D:\Backup_SQL2008\AdventureWorks2008_02.bak' , DISK = 'D:\Backup_SQL2008\AdventureWorks2008_03.bak' , DISK = 'D:\Backup_SQL2008\AdventureWorks2008_04.bak' WITH NAME = N'Backup Completo da base AdventureWorks2008', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO
Segundo a Microsoft, você terá um ganho de performance pela escrita paralela no arquivo:
…A utilização de diversos dispositivos para as operações de backup e restauração permite que o SQL Server utilize E/S paralelas para aumentar a velocidade dessas operações porque cada dispositivo de backup pode ser gravado ou lido ao mesmo tempo que outros dispositivos de backup. Para empresas com bancos de dados grandes, a utilização de vários dispositivos de backup pode reduzir bastante o tempo necessário para operações de backup e restauração. O SQL Server oferece suporte a no máximo 64 dispositivos de backup para uma única operação de backup.
Para maiores informações, confira no MSDN: http://msdn.microsoft.com/pt-br/library/ms190954.aspx

Fonte:
http://www.bau-de-dev.com/banco-de-dados/sql-server/otimizando-tempo-de-backup-no-sql-server-dividindo-em-diversos-arquivos