Ok

En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Ces derniers assurent le bon fonctionnement de nos services. En savoir plus.

RDBMS Expertise - Page 49

  • Compresser les logs

    Voici un scripts en SHELL qui permet de compresser les logs de plus de 7 jours : 

     

    #!/bin/bash

    . /etc/profile
    . ~/.bash_profile

    # this script is used to compress logs having more 7 days.


    if [ -z $LOGS ] ;
    then
    echo "subject:Application " ${DB_CONFIG_TYPE} ${DB_NAME} " : gzip logs postgres FAIL" > /tmp/Mail_gzip_ko
    echo "From:josselin@hotmail.com" >> /tmp/Mail_gzip_ko
    echo "logs are not compressed" >> /tmp/Mail_gzip_ko
    mail josselin@hotmail.com < /tmp/Mail_gzip_ko
    rm /tmp/Mail_gzip_ko
    exit 0
    fi

    if [ -n $LOGS ] ;
    then
    find $LOGS/ -size 0 -type f -name "*.log" -exec rm {} ;
    find $LOGS/ -size 0 -type f -name "*.csv" -exec rm {} ;
    find $LOGS/ -type f -name "*.log*" -mtime +100 -exec rm {} ;
    find $LOGS/ -type f -name "*.csv*" -mtime +100 -exec rm {} ;
    find $LOGS/ -type f -name "*.log" -mtime +1 -exec /usr/bin/gzip {} ;
    find $LOGS/ -type f -name "*.csv" -mtime +1 -exec /usr/bin/gzip {} ;
    fi

  • Vacuum Freeze [ PSQL]

    -<Req:

    pfw_oltp=# SELECT freez

    pfw_oltp-# ,greatest(age(c.relfrozenxid),age(t.relfrozenxid)) as max

    pfw_oltp-# ,ROUND(100*(greatest(age(c.relfrozenxid),age(t.relfrozenxid)))::float/freez::float) AS perc

    pfw_oltp-# FROM pg_class c

    pfw_oltp-# LEFT JOIN pg_class t ON c.reltoastrelid = t.oid

    pfw_oltp-# JOIN (SELECT setting AS freez FROM pg_settings WHERE name = 'autovacuum_freeze_max_age') AS foo ON (true)

    pfw_oltp-# WHERE c.relkind = 'r' order by greatest(age(c.relfrozenxid),age(t.relfrozenxid)) desc limit 1;

    ->Res:

      freez   |    max    | perc

    -----------+-----------+------

    200000000 | 188290452 |   94

    Lire la suite

  • Trouver les tables sans clés primaires [MySQL]

    Fier de moi , voici la requête que j'ai trouvé pour mon équipe...

    La requête suivante permet de trouver toutes les tables MySQL qui ne possèdent pas de clés primaires :

    USE INFORMATION_SCHEMA;

    SELECT

        TABLES.table_name

    FROM TABLES

    LEFT JOIN KEY_COLUMN_USAGE AS c

    ON (

           TABLES.TABLE_NAME = c.TABLE_NAME

       AND c.CONSTRAINT_SCHEMA = TABLES.TABLE_SCHEMA

       AND c.constraint_name = 'PRIMARY'

    )

    WHERE

        TABLES.table_schema <> 'information_schema'

    AND TABLES.table_schema <> 'performance_schema'

    AND TABLES.table_schema <> 'mysql'

    AND c.constraint_name IS NULL;

  • Sécuriser MySQL- supprimer les utilisateurs inutiles

    Pour sécuriser MySQL et supprimer les utilisateurs anonymes qui sont par défaut installés sur MySQL (inutiles) : 

     

    shell> mysql_secure_installation

    Sinon il est possible de faire comme suit :

    select user, host from user;

    +-------------+-------------------------+

    | user           | host                 |

    +-------------+-------------------------+

    | root           | ::1                  |

    |                | localhost            |

    |                |mrs-prd-contibdd-1    |

    Quand la base est mise en service ces 3 users sont détruits :

    delete from user where user='';

    delete from user where host='::1';

     

    source :

    http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/