Gu!oN@'s Blog

Solaris – Comment limiter la taille d’un coredump

Aujourd’hui un nouveau problème s’est posé à moi, comment limiter la taille d’un coredump afin que celui-ci ne remplisse pas tout mon filesystems?

Mes coredumps sont générés dans le filesystems /var et je souhaite limiter la taille à 80% de l’espace disponible. Il faut savoir que a taille des coredump est définit en blocs de 512 bytes et par défaut leur taille est illimité:

1
2
3
4
5
6
7
8
$ ulimit -a
time(seconds)		 unlimited
file(blocks)		 unlimited
data(kbytes)		 unlimited
stack(kbytes)		 8192
coredump(blocks)	 unlimited
nofiles(descriptors)	 65536
vmemory(kbytes)		 unlimited

On peut figer la taille des coredump avec la commande « ulimit -c XXXXX ». Il faut au préalable calculer 80% de l’espace libre de mon filesystems /var en blocs de 512 bytes. La question est donc: Comment faire tout ça en une ligne de commande?
Voici la réponse:

1
$ ulimit -c $(/usr/xpg4/bin/df -P /var | tail -1 | awk '{printf ("%d\n",$4*0.8)}')

Noter bien le chemin d’accès au binaire df car sinon le paramètre -P ne sera pas reconnu.
Pour vérifier:

1
2
3
4
5
6
7
8
$ ulimit -a
time(seconds)		 unlimited
file(blocks)		 unlimited
data(kbytes)		 unlimited
stack(kbytes)		 8192
coredump(blocks)	 6412156
nofiles(descriptors)	 65536
vmemory(kbytes)		 unlimited

DNS: Google à lancer son service DNS public

Le célèbre moteur de recherche Google a lancé son propre service de DNS public.

Sans trop rentrer dans les détails, le service DNS Domain Name System permet d’établir la relation entre une adresse IP d’un site par exemple et son nom de domaine. Il est donc important de disposer de bons serveurs DNS afin que les résolutions de noms soient correctes et rapides.

Dernièrement j’ai constaté qu’au niveau de mon FAI (je tairai son nom) les résolutions de nom étaient lentes donc j’ai décidé de changer par ceux de Google et ces derniers jours je dois reconnaître que le résultat est probant.
Sans aller trop loin dans le sujet voici les adresses IP:

  • DNS Primaire: 8.8.8.8
  • DNS Secondaire; 8.8.4.4

Les adresses ne sont pas compliquées à retenir vous me l’accorderez.

Mais comment utiliser ses adresses?
Rien de plus simple, il suffit de modifier votre configuration réseau via le fichier « /etc/resolv.conf »

Piqûre de rappel: Penser à faire une sauvegarde de vos fichiers avant toute modification:

1
$ cp -p /myDirectory/myFile /myDirectory/myFile.YYYYMMDD

Pour la modification:

1
2
3
$ sudo vi /etc/resolv.com
nameserver 8.8.8.8
nameserver 8.8.4.4

Si vous utilisez un routeur généralement vous avez accès à la configuration de celui-ci au travers d’une interface Web dans laquelle vous avez la possibilité de modifier les configurations DNS.

DNS_FR114P

Configuration DNS Routeur NETGEAR FR114P

Retrouvez tous les détails du service DNS google à l’adresse suivante http://code.google.com/speed/public-dns/

Linux – Comment dupliquer une arborescence?

Terminal

Qui ne s’est jamais posé la question de comment dupliquer une arborescence en ligne de commande?

La théorie

Cela est trés simple et nous avons seulement besoin de 3 commandes: mkdir, cd et tar:

  • La première étape consiste à créer le répertoire de destination,
  • La deuxième étape consiste à dupliquer notre arborescence.

La pratique:

Prenons l’exemple de « /export/home » que l’on veut dupliquer dans « /local/home » (il est tout a fait possible de réaliser cette procédure avec un montage NFS).

  • Création de répertoire de destination « /local/home »:
  • 1
    
    $ mkdir /local/home
  • Se postionner dans le répertoire à dupliquer « /export/home »:
  • 1
    
    $ cd /export/home
  • Dupliquer l’arborescence:
  • 1
    
    $ tar cvfp - . | (cd /local/home ; tar xvfp -)

Opération terminée avec succès.

Oracle – Comment calculer les statistiques sur un schéma donné

http://blog.guiona.com - Logo Sun Oracle

Mais qu’est ce que c’est que ça les statistiques Oracle?

Les statistiques Oracle sont en fait la récupération de diverses informations concernant la volumétrie des tables, la distribution des différentes valeurs des champs indexés, la taille moyenne des tuples,… . Cet ensemble d’informations génèrera via un algorithme propre à Oracle un coût pour chaque plan d’exécution. En mode CBO (Cost Based Optimization), Oracle choisira, pour une requête donnée, le plan d’exécution le moins coûteux (le plus rapide). Ces différentes données (statistiques) sont stockées dans des tables du dictionnaire de données, et visibles sous les vues dba_tables, dba_indexes, … Ces informations sont donc importantes.

Il existe 3 méthodes pour procéder au calcul des statistiques dans Oracle:

  • La commande ANALYZE,
  • Le package DBMS_UTILITY,
  • Le package DBMS_STATS.

Je vais vous présenter ici la méthode recommandée par Oracle depuis la version 8i: le package DBMS_STATS.
Il est possible d’utiliser le package sur une table, un index ou un schéma.
NB: Je travaille avec le compte applicatif Oracle « system » et un client sqlplus.

Comment récupérer la date de dernière analyze d’un index ou d’une table?

Pour se faire il faut requêter les vues dba_tables et dba_index.
[Lire la suite...]