Pages

Saturday, January 30, 2010

Installation de Postgresql 8.4.1 sur CentOS 5.3

1 - téléchargement des sources de postgresql 8.4.1
wget http://wwwmaster.postgresql.org/download/mirrors-ftp/source/v8.4.1/postgresql-8.4.1.tar.gz
2 - on décompresse le package
gunzip postgresql-8.4.1.tar.gz
tar xf postgresql-8.4.1.tar

Puis on entre dans le dossier créé :
cd postgresql-8.4.1
3 - Installation des modules nécessaires
yum install readline-devel
yum install zlib-devel

4 - On lance la configuration
./configure
5 - Puis la compilation
gmake
6 - et enfin l’installation (sous root, su si vous n’y êtes pas déjà)
gmake install
7 - Configuration de l’utilisateur postrgres et d’une DB :
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/local/pgsql/bin/createdb test

8 - Mise en place du démarrage automatique du service postgresql
cp /source_directory/contrib/start-scripts/linux /etc/rc.d/init.d/postgresql
chmod 755 /etc/rc.d/init.d/postgresql
cd /etc/rc.d/init.d/
chkconfig --add postgresql

Parametrage Postgresql pour usage datawarehouse

Le standard SQL 92 a définit une norme sur les niveaux d’isolation des transactions (source: Second Informal Review Draft ISO/IEC 9075:1992, Database Language SQL- July 30, 1992). Document très coûteux mais certainement dispo quelque part…
Il existe trois phénomènes qui peuvent apparaître durant une lecture des données dans la base: les Dirty read, les Non-repeatable read et enfin les Phantoms. Selon le niveau d’isolation choisi pour la transaction, il se peut que l’un ou plusieurs (voire aucun pour serializable) de ces phénomènes apparaisse (C.f. tableau page 69 pour ceux qui ont le document normatif).
Tout SGBD voulant être conforme avec cette norme se doit donc d’implémenter les 4 niveaux d’isolation suivants:
- READ UNCOMMITTED
- READ COMMITTED
- REPEATABLE READ
- SERIALIZABLE
Mettre en place une solution style Datawarehouse (lecture seule) avec PostgreSQL est très simple: il suffit d’éditer le fichier postgresql.conf et d’y placer les paramètres suivant:
default_transaction_isolation = ‘READ UNCOMMITTED’
default_transaction_read_only = yes
Dans la mesure où les transactions ne poserons pas de verrou exclusif sur les ressources, la lecture sera extrèmement rapide si les index sont correctement définis. On peut également penser qu’une telle base de données serait parfaitement adaptée à une pile de disques en RAID 0. Avec de bons disques et une carte Raid munie d’une bonne quantité de RAM, on devrait obtenir des perfs à faire pâlir mySQL en isam.
Conclusion: tous les bons SGBDR savent remplir ce rôle. J’ajoute qu’avant qu’une base puisse être en lecture seule il faut quand même l’avoir alimentée avec des données…

Information glannée ici

[Oracle] Sauvegardes et restaurations avec exp et imp

Commandes d’export :

Export FULL des objets

C:\> exp userid=system/manager file=c:\backup\export_full.dump
log=c:\control\export_full.log full=y rows=n

Export du schéma SCOTT

C:\> exp userid=system/manager file=c:\backup\export_full.dump
log=c:\control\export_full.log owner=scott

Export de la table ACCOUNT de l’utilisateur SCOTT

C:\> exp userid=system/manager file=c:\backup\export_full.dump
log=c:\control\export_full.log tables=scott.account

Export du tablespace USER

C:\> exp userid=system/manager file=c:\backup\export_full.dump
log=c:\control\export_full.log tablespaces=user

Commandes d’import :

Import du schéma SCOTT

C:\> imp userid=scott/tiger file=c:\backup\export_full.dump
log=c:\control\export_full.log owner=scott

Import du schéma SCOTT dans le schéma TEST

C:\> imp userid=system/manager file=c:\backup\export_full.dump
log=c:\control\export_full.log fromuser=scott touser=test

Import de la table ACCOUNT de l’utilisateur SCOTT dans TEST

C:\> imp userid=system/manager file=c:\backup\export_full.dump
log=c:\control\export_full.log fromuser=scott touser=test tables=scott.account

Import de tous les schémas inclus dans le DUMP

C:\> imp userid=system/manager file=c:\backup\export_full.dump
log=c:\control\export_full.log

[Cognos 8.2] Enregistrement des rapports sur un filesystem

Cette procédure s’applique à la version 8.2 du portail Cognos
1 - Dans Cognos Configuration / Accès aux données /content Manager
-> basculer la propriété “Enregistrer les versions du rapport dans un système de fichiers” à “Vrai”
2 - Redémarrer le service Cognos
3 - Sur le portail, Dans “Outils / Administration des serveurs / Services / Service du gestionnaire de contenu”
-> Cliquer sur le bouton “Propriété”
-> “En face de Environnement / Paramètres avancés”, cliquer sur “Modifier”
-> Ajouter le paramètre CM.OUTPUTLOCATION et lui attribuer en valeur l’emplacement sur le serveur cognos dans lequel seront générés les rapports.
Les rapports enregistrés sur le portail seront générés également dans le dossier que vous avez défini.
Le nom des rapport est un peu barbare, mais on trouve dans le même dossier un fichier xml portant le même nom que le rapport et qui contient sa description.
Il ne vous reste plus qu’a développer un script qui parse le fichier xml, renomme le rapport, puis le déplace à l’endroit voulu sur votre réseau.
pour un exemple voir le document suivant dans la KB Cognos :
Lien KB
Si vous souhaitez automatiser l’exécution de ce script avec l’exécution du rapport, vous pouvez ajouter, sous la propriété CM.OUTPUTLOCATION, une autre propriété CM.OUTPUTSCRIP en lui attribuant comme valeur le chemin et le nom du script à utiliser.

Framework Manager - Changer le Design Language après le développement

Les Best Practices Cognos préconisent d’utiliser un Design Language différent de l’Active Language dans Framework Manager… Pas de bol … le projet est déjà bien avancé … et le Design Language n’est pas modifiable via Framework Manager. Voici la procédure à suivre pour revenir dans les normes :

Modification du Framework :



  • Faites une copie de votre modèle.
  • Ajoutez dans le Framework Manager (Define Languages) la nouvelle langue de votre choix.
  • Ajoutez cette même langue dans tous les packs que vous allez utiliser (sans quoi vous rencontrerez un message d’erreur lors de leur publication).
  • Exportez un fichier de traduction (Project->Languages->Export Translation File) qui contient votre langue d’origine et la nouvelle langue. Il devrait avoir cette forme (ici id = indonésien) :
fr    id
Libelle1    (id) Libelle1
Libelle2    (id) Libelle2
  • Effacez le code de la nouvelle langue. Votre fichier ressemblera à ceci :
fr    id
Libelle1    Libelle1
Libelle2    Libelle2
  • Importez le fichier modifié.
  • Enregistrez et fermez le Framework Manager.
  • Ouvrez le fichier model.xml qui se situe dans le répertoire de votre modèle. Au début du fichier se trouve une séquence de ce type :

fr
id

fr
  • Remplacez le code de la langue qui se trouve entre les balises defaultLocale (on remplacerait ici fr par id).
  • Sauvegardez et ouvrez à nouveau le Framework : la modification est effective.

Modification des rapports associés :



  • Effectuez la manipulation du message précédent concernant le modèle.
  • Exportez vos rapports depuis le portail Cognos. Une archive zip est créée dans le répertoire Deployment, situé lui-même dans le répertoire d’installation de Cognos.
  • Décompressez votre archive.
  • Ouvrez la totalité des fichiers de type packagen.xml (où n est un nombre).
  • Une variable expressionLocale se trouve à l’intérieur de ces derniers (s’il s’agit bien de rapports). Remplacez toutes les occurences comme suit (on considère que fr est la langue d’origine et id la nouvelle langue) :
expressionLocale="fr"
devient
expressionLocale="id"
  • Enregistrez les fichiers, replacez-les dans une archive zip (sans omettre content.xml et exportRecord.xml, tirés de l’archives d’origine), et réimportez-la dans le portail Cognos.
  • La modification est effective (n’oubliez pas de republier vos packs puisque vous avez modifié la langue dans le Framework Manager).
Note : Lorsque vous ouvrirez les rapports en mode “design” les libellés de l’ancienne langue apparaîtront dans vos tableaux, mais ce sont les nouveaux libellés qui apparaîtront lorsque vous les exécuterez.

Source : www.developpez.net

Report Studio - Dans un rapport, si requete vide afficher “Pas de données ce mois ci”

- construisez votre rapport normalement
- ajoutez une requête ramenant le nombre de ligne rammené par votre requête principale
- utiliser ce compteur dans une variable booléene :
si compteur > 0 alors vrai sinon faux
- Utiliser cette variable dans un style conditionnel pour afficher en fonction de la variable votre tableau ou un bloc de texte…

Convertir une image virtuelle VMWARE (vmdk) Windows au format Virtual Box (vdi)

1 - Démarrer l’image vmdk dans VMWare
2 - Télécharger dans la VM, mergeide. Cet utilitaire efface chaque références aux controlleurs SCSI actuellement présent. Au prochain redémarrage, les disques surs seront vu comme étant en IDE.
3 - Désinstaller les VMWare Tools
4 - Decompresser l’archive “mergeide”, et executer le fichier .bat
5 - Renommer les drivers suivants, situés dans C:\Windows\System32\drivers :
- agp440.sys
- intelppm.sys
6 - Vous pouvez arrêter la machine virtuelle.
7 - Aller en console dans le dossier contenant le fichier .vmdk, et taper la commande suivante :
vboxmanage clonehd .vmdk .vdi -format VDI
Le fichier .vdi produit peut désormais être utilisée sans problème par Virtual Box.
8 - Démarrer VirtualBox, créer une nouvelle machine virtuelle, et importer le fichier vdi.
9 - Editer les préférences de la machine virtuelle. Dans la section “Général”, clicker sur l’onglet “Avancé”. Cocher la case “Activer l’IO APIC”.
Source : www.artiflo.net

Démarrage du service Cognos8 / Mise à jour Windows KB956572

La mise à jour Windows KB956572 est susceptible d’empêcher le démarrage du service Cognos8 (pb rencontré en production)
La solution a été de désisntaller cette mise à jour.
Cette mise à jour impactant le fonctionnement de Java, d’autres applications que Cognos peuvent êtres impactées par ce problème.

Utilisation des prompts dans un bloc SQL dans Report Studio

Pour utiliser un prompt dans un bloc SQL dans Report Studio, il faut utiliser la syntaxe suivante :
#prompt(’’)#
#promptmany(’’)#

Cloner un disque virtuel virtualbox

La commande suivante permet de cloner “Proprement” un fichier .vdi :
VBoxManage Clonehd hd.vdi hd-clone.vdi

Copie d’un disque Virtual Box - Changer l’uuid du disque après copie

Un fichier .vdi qui a seulement été copié ne peut pas être utilisé directement par VirtualBox si le fichier original est déjà utilisé par une  machine virtuelle : Vrtual Box détecte que les deux disques ont le même uuid.
L’uuid du disque copié peut être changé de la manière suivante :
1 - lancer une invite de commandes
2 - Se positionner dans le dossier contenant l’image disque copiée
3 - exécuter la commande suyivante :
 C:\Program Files\Sun\xVM VirtualBox\VBoxManage” internalcommands setvdiuuid .vdi
Le disque peut maintenant être importé dans VirtualBox