5.19.2009

Linux oui mais...

Même si j'aime Linux, je dois admettre que l'article paru sur slashdot m'a rendu perplexe quant au réel avenir de l'OS pour les utilisateurs moyens. Oui, Linux a sa place dans le marché des serveurs mais quelles conclusions pouvons-nous porter devant la maigre part de marché de Linux parmis les autres OS? Il existe une multitude de distribution pour Linux. C'est peut être là un des problèmes. Chacun fait son développement et fait ses choix. Par le fait même, chaque distribution se sépare d'une ligne de pensée maitresse qui aurait pu vraiment compétitionner Windows sur PC. L'article prend l'exemple de la façon d'installer un produit/logiciel. Sur une distribution, on retrouve des RPM (red hat, mandrake) et sous une autre ce sont des DEB (ubuntu, debian). Difficile de se former (et de former les autres) quand on change de façon de faire à même la communauté...

5.14.2009

Les têtes à claques présentent: Édouard le dba Sql Server 2008

C'est sur le blog de Dominic Arpin que j'ai découvert ce vidéo rigolo sur la job d'administrateur de bases de données. Le plus étonnant dans tout ça, c'est que le vidéo est sur le site Technet de Microsoft France pour faire la promotion de Sql Server 2008. Je ne savais pas que Microsoft aimait l'humour à ce point. On nous présente Édouard, un DBA (tout comme moi), qui travaille pour une boîte informatique dont la vie a changé dernièrement. Toutefois, à aucun moment dans la vidéo, on ne parle du produit Sql Server 2008. Bravo aux têtes à claques.

Très drôle. À voir pour tous les gens qui travaillent avec les TI.

5.01.2009

Accents français avec apache, linux et oracle

Au boulot, on a cherché longtemps avant de trouver la solution à notre problème sur les accents français qui ne s'affichaient pas dans les sites web roulant sur apache sur un OS linux. Selon le site d'Oracle:

"If you don't set the NLS_LANG on the client it uses the NLS_LANG of the server. This is also NOT true! For example, if the Oracle Installer does not populate NLS_LANG, and it is not otherwise set then its value by default is AMERICAN_AMERICA.US7ASCII. The language is AMERICAN, the territory is AMERICA, and the character set is US7ASCII."

Donc, par défaut, voilà pourquoi on avait les lettres sans l'accent (e au lieu de é et ainsi de suite). Je me doutais bien que la solution tournait autour de la variable d'environnement NLS_LANG (la valeur à mettre étant "
nls_lang = 'CANADIAN RENCH_CANADA.WE8MSWIN1252'"). Ayant essayé d'exporter la variable sur Linux sans succès, nous avions conclu que la solution n'était pas là. Or, nous étions dans l'erreur.

Comme notre charset de la bd est en win1252, on croyait que le problème venait de là. J'avais un doute puisque linux supporte l'installation d'une bd Oracle avec ce même charset. J'ai donc essayé une bd Oracle Xe avec un charset en UTF8 et, surprise, nous avons eu le même problème. Les accents n'apparaissaient pas encore.

C'est alors que j'ai parlé à mon collègue de la porté (l'étendue) de la variable d'environnement qu'il avait appliqué. Il l'avait exporter dans son compte utilisateur seulement. Or, Apache roule avec un compte implicite et avec ses propres variables d'environnement! Misère lol

Voici les étapes pour permettre l'affiche des accents français (cela s'applique aux autres langues également) sur Apache:
1. Ouvrir le fichier en root: /etc/apache2/envvars
2. Ajouté la ligne: export NLS_LANG="CANADIAN FRENCH_CANADA.WE8MSWIN1252"
3. Redémarrer apache avec: /etc/init.d/apache2 restart

En espérant que la solution en aide plus d'un.

La switch /userva avec /3gb pour windows server 2003

Dernièrement, j'ai dû ajouter la switch /3gb dans le boot.ini de mon serveur de bases de données Oracle monté sur windows server 2003 enterprise. Le but de cette opération étant de faire passer l'espace adressable de 2go à 3go pour les programmes utilisateurs (laissant seulement 1go pour le kernel). Oracle peut ainsi bénéficier de plus de 2go pour son SGA et PGA combiné. Tout avait l'air de bien fonctionner.

C'est environ 4-5 jours plus tard que j'ai remarqué que ma prise de copie avec le programme natif xcopy ne se terminait pas bien. J'ai alors cherché et j'ai trouvé qu'en cas de manque de mémoire adressable pour le kernel, les programmes systèmes tels que xcopy pouvaient se terminer anormalement. Un collègue à moi m'a parlé d'une autre switch qu'on peut ajouter au boot.ini pour diminuer cet espace adressable de 3go pour les programmes utilisateurs. Le paramètre en question est /userva=XXXX où XXXX est une valeur entre 2800 et 3030 que Microsoft recommande. La différence entre 3072 (1024M*3) et la valeur XXXX est automatiquement attribuée à l'espace adressable du noyau. Par exemple, si je mets 2800 comme valeur pour XXXX, le noyau se verra augmenter de 272M d'espace adressable pour le porter à un total de 1296M (1024M+272M). Quant à l'espace adressable par programme utilisateur, il est égal à la valeur attribuée à la switch /userva.

Grâce à cela, ma prise de copie avec xcopy fonctionne très bien maintenant. Mon nombre d'entrées libres en table des pages système est passé d'environ 3000 à 73 000. Microsoft soutenait qu'un nombre plus petit que 7000 était beaucoup trop faible. Il recommende d'avoir un nombre de plus de 20 000 d'entrées libres en table des pages système.
*Utiliser performance monitor (perfmon.exe) pour trouver cette valeur.

N.B. Ces opérations se font sur un serveur windows 2003 enterprise. La version standard ne permet pas l'ajout de ces switchs spéciales.

Références:
http://support.microsoft.com/kb/316739/
http://support.microsoft.com/kb/297812
http://support.microsoft.com/?scid=kb%3Bfr%3B833721&x=10&y=14
http://support.microsoft.com/kb/810371/fr

Mes items partagés de Google Reader