samedi 23 août 2014

Le Block Change Tracking dans Oracle 11g


Le Block Change Tracking est une nouvelle fonctionnalité de la base de données Oracle 11g qui permet d’accroître les performances dans les sauvegardes de bases de données.

En effet, RMAN scrute minutieusement tous les blocs qui ont changé dans les incrémental backups pour identifier les blocs qui ont changé depuis la dernière sauvegarde effectuée.

En activant le Block Change Tracking, RMAN reconnaît quels sont les blocs qui ont changés dans un datafile en utilisant un fichier particulier : block change tracking file.

Une fois le fichier block change tracking file créé, la maintenance de ce dernier est automatique et transparent pour le DBA.

Nous allons montrer par des petits exemples comment mettre en oeuvre le Block Change Tracking.

Exemple 1: Activons et désactivons le Block Change Tracking dans notre base de données.

SQL> alter database enable block change tracking;
Database altered.
SQL>


Cette commande va activer le Block Change Tracking et créé un fichier dans le répertoire dont le nom est mentionnée dans le paramètre DB_CREATE_FILE_DEST.

SQL> alter database enable block change tracking using file '+DATA';
Database altered.
SQL>

Cette commande va activer le Block Change Tracking et créé un fichier dans le répertoire CHANGETRACKING de notre instance ASM.


SQL> alter database disable block change tracking;
Database altered.
SQL>

Cette commande va désactiver le Block Change Tracking.

Exemple 2: Identifions le block change tracking file dans notre serveur de bases de donnée et changeons son répertoire d'origine.

1) Retrouvons le fichier block change tracking file.

SQL> select filename from v$block_change_tracking;
FILENAME
----------------------------------------------------------
/u01/app/oracle/oradata/db_block_trk.chg
SQL>

2) Arrêtons la base de données et redémarrons là en mode MOUNT
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
Database mounted.
SQL>

3) Changeons le répertoire de sauvegarde du fichier block change tracking file.
SQL> ! mv /u01/app/oracle/oradata/db_block_trk.chg /u04/app/oracle/oradata/db_block_trk.chg
SQL>

4) informons la base de données de la nouvelle destination du fichier de tracking.

SQL> alter database rename file '/u01/app/oracle/oradata/db_block_trk.chg' to '/u04/app/oracle/oradata/db_block_trk.chg'
Database altered.
SQL>

5) Démarrons la base de données pour la rendre de nouveau opérationnelle.
SQL> alter database open;
Database altered.
SQL>

6) Vérifions bien que le nouveau fichier de tracking a change de répertoire.
SQL> select filename from v$block_change_tracking;
FILENAME
--------------------------------------------------------------
/u04/app/oracle/oradata/db_block_trk.chg
SQL>

Bonne Lecture :) :) :)

dimanche 4 mai 2014

MapReduce : Une explication très simple

En 2004, Google a publié son document sur MapReduce. Vous avez surement entendu parler soit ici, ou ailleurs de ce modèle de programmation. Si vous l'avez considéré comme un buzzword, ou comme un mystère alors sachez que ce n'est pas le cas. Le concept de base est très simple. Dans cet article, je l'explique en de termes très simple et compréhensible par tous. C'est intentionnellement que j'ai évité d'utiliser les termes très complexes qui pourraient dérouter les débutants.

Le travail que votre patron vous donne.

Supposez que vous travaillez dans une grande entreprise. Votre hiérarchie souhaite lancer un projet d'étude de refonte d'une grande plateforme de blogs en ligne. Et le lendemain matin, au bureau vous recevez un mail de votre directeur concernant ce projet.

Cher <votre nom>,
 
Comme vous savez, nous sommes entrain de vouloir mettre en place un projet 
de blog en ligne blogger2.com. J'ai besoin de certaines statistiques, en 
parcourant l'ensemble des blogs de l'ancien site, combien de fois un mots d'un
caractère apparait (comme 'a', 'I'), combien de fois un mot de deux caractères 
apparait (comme 'be', 'is')... et ainsi de suite jusqu'à combien de fois de mots 
de 10 caractères apparaissent.

Je sais pertinemment que c'est un travail très difficile. Je te demande de 
travailler avec les 50000 employés de notre entreprise pendant une semaine. Je me
déplace le weekend et c'est très important que j'ai des résultats à mon retour.

NB: Très important, tout doit être fait manuellement, des copier-coller sur les
blogs sont permis dans Notepad. J'ai lu quelque part que si vous écrivez des
programmes, Google permettra de retrouver.
 
Cordialement.
 
Le Directeur général.

Imaginez-vous dans cette position pour le moment. Vous avez 50000 collègues pour vous aider pendant une semaine. Vous devez rechercher le nombre de mots d'un caractère, le nombre de mots de deux caractères, etc., et ce en parcourant un grand nombre de blogs dans le portail. Et à la fin, vous devez donner un rapport à votre directeur.
  • Nombre d’occurrences de mots d'un caractère : approx. 937688399933
  • Nombre d'occurrences de mots de deux caractères : approx. 23388383830753434
  • ... jusqu'à nombre d’occurrences de mots de 10 caractères.
Si vous n'avez pas le choix entre un homicide, un suicide ou alors une démission, comment allez vous résoudre le problème ? Comment allez-vous éviter le chaos avec un nombre d'employés aussi grand ?
Comment allez-vous coordonner pour répartir les taches ? Vous décidez alors de prendre une journée pour réfléchir, et le jour suivant vous arrivez avec une idée géniale. (En riant, vous dites : "j'ai perdu déjà une journée.")

La bonne idée de génie

Le jour suivant, vous réunissez les 50000 employés et vous annoncez. Pendant une semaine, vous serez divisés en plusieurs groupes :
  • Les Mappers (10000 personnes seront dans ce groupe)
  • Le Grouper (Pour le moment une personne seule assurera ce rôle)
  • Les Reducers (le reste)
  • Le Maitre (vous-même)
Par la suite, vous organisez des réunions avec chaque groupe.

Votre discours avec les Mappers

Chaque Mapper aura 50 blogs et une grande feuille de papier. Chacun de vous ira sur chaque lien de blog et pour chaque mot dans ces blogs, écrire une ligne sur le papier. Le format de cette ligne devrait être le nombre de caractères dans le mot, ensuite une virgule, et enfin le mot lui-même.
Par exemple, si vous trouvez le mot "a", vous écrivez "1,a" dans une nouvelle ligne du papier. Parce que le mot "a" a un seul caractère. Si vous trouvez le mot "hello", vous écrivez "5,hello" dans une nouvelle ligne.
Chacun prends 4 jours. Ainsi, après 4 jours, votre feuille ressemblera à ceci:
  • "1,a"
  • "5,hello"
  • "2,if"
  • ... et plusieurs millions d'autres lignes
A la fin du 4ème jour, chacun de vous remettra sa feuille complètement remplie au Grouper.


Votre discours avec le Grouper

Je vous remettrai des feuilles de papier. Le premier papier sera marqué 1, le second sera marqué 2, et ainsi de suite jusqu'à 10. Vous collectez les données des Mappers et pour chaque ligne dans les feuilles des Mappers, si vous avez "1, ", vous écrivez la ligne sur la feuille 1, si vous avez "2, ", vous écrivez cela sur la feuille 2.
Par exemple, si la première ligne dans une feuille de Mapper, il y a "1,a", vous écrivez "a" sur la feuille 1, si il y a "2,if", vous écrivez "if" sur la feuille 2. Si vous voyez "5,hello", vous écrivez "hello" sur la feuille 5.
A la fin de ton travail, les 10 feuilles que tu possèdes ressembleront à ceci:
  • Feuille 1 : a, a, a, I, I, i, a, a, i, i, .... millions d'autres
  • Feuille 2 : if, of, it, at, am, im, .... millions d'autres
  • Feuille 3 : the, the, and, for, met, bet, the, and, .... millions d'autres
  •  ...
  • Feuille 10 : ....
Une fois que c'est fait, vous distribuez chaque feuille à un Reducer. Par exemple, la feuille 1 va au Reducer 1, la feuille 2 va au Reducer 2 et ainsi de suite.

Votre discours avec les Reducers

Chacun de vous a une feuille que le Grouper lui a remis. Pour chacune de ces feuilles, vous comptez le nombre de mots écrits dessus et écrivez le résultat en gras au verso de la feuille. Par exemple, si vous êtes le Reducer 2. Vous avez obtenu la feuille 2 dont le contenu ressemble à ceci:
Feuille 2 : if, of, it, of, of, if, at, im, is, is, of, of ...
Vous devez compter le nombre de mots sur cette feuille et dire le nombre de mots est : 2883830044. Vous écrivez ce résultat au verso de la feuille de papier en gras et vous me la remettez.

Le contrôle du climat et de l'ambiance de travail

A la fin de ce processus, vous avez 10 feuilles. La feuille 1 possède le décompte des mots d'un caractère au verso. La feuille 2 possède la même information pour les mots de deux caractères. Vous l'avez fait. Vous êtes des génies.

Vous avez essentiellement fait du MapReduce. Le plus grand avantage dans votre approche était ceci:
  • Les Mappers pouvaient travailler de façon indépendante
  • Les Reducers pouvaient travailler de façon indépendante
  • Le grouper peut travailler très rapidement, parce qu'il n'a pas à compter les mots, il les place juste sur la bonne feuille en regardant juste le premier nombre
Le processus peut être facilement appliquée à plusieurs autres types de problèmes. Dans ces cas :
  • Le travail du Master (diviser et répartir le travail) et le grouper (regroupe les valeurs par clé, la valeur avant la virgule) reste le même. C'est ce que toutes les librairies MapReduce fournissent.
  • Le travail des Mappers et des Reducers diffère en fonction des problèmes. C'est ce que vous devez produire (écrire un programme)
Vous pouvez optimiser ceci un peu plus. Par exemple, vous ne devez même pas mentionner les mots quelque part. Vous pouvez juste écrire "x" au lieu du mot réel jusqu'à la fin, tout ce dont nous avons à faire c'est de compter les mots.
De plus, les choses ne doivent pas se produire séquentiellement comme dans un programme procédural. En outre, le Mapper peut faire le travail du Grouper et vice versa. Il suffit de donner à chacun une idée et vous aurez un résultat.
Ainsi, vous résolvez un grand challenge qui vous a été soumis. Après une semaine, vous collectez les feuilles de papier des Reducers. Le verso de la feuille 1 aura le nombre d’occurrences de mots d'un caractère. Le verso de la feuille 2 aura le nombre d'occurrences de mots de deux caractères et ainsi de suite...
Vous faites une feuille Excel ou vous enregistrez toute l'information, vous imprimez et vous la ramenez à votre directeur général avec un grand sourire.

"Bon travail, posez la sur mon bureau, je vais regarder cela dans un mois": he says, :)

Source : http://ksat.me/map-reduce-a-really-simple-introduction-kloudo/

jeudi 27 mars 2014

MYLAR : Une nouvelle approche de sécurisation des applications web.

Une équipe de chercheurs du MIT propose une nouvelle approche pour la sécurisation des applications web.

D'après une étude menée par Forrester, il ressort que 63% des développeurs dans le monde travaillent sur des applications web. De plus en plus, avec l'arrivée de plusieurs framework de sécurité notamment le WAF (Web Application Firewall), les développeurs se concentrent sur la couche business.

Aujourd'hui pour assurer la sécurité de ces applications qui sont devenues une des cibles "juteuses" de nos cybercriminels, Raluca Ada Popa (chercheuse du MIT en Intelligence Artificielle) et son équipe ont mis en place une solution : MYLAR.

MYLAR chiffre les données dans le navigateur avant de l'envoyer au serveur. Si un cybercriminel réussit à violer les barrières d'accès au serveur, il ne pourra pas interpréter les données car elles arrivent crypter au niveau du serveur.

Je vous renvoie ainsi à l'article New Approach Could Stop Websites from Leaking or Stealing Your Data publié sur le site MIT Technology Review.

http://www.technologyreview.com/news/525651/new-approach-could-stop-websites-from-leaking-or-stealing-your-data//

Bonne lecture.

samedi 15 mars 2014

Automatiser les lancements de processus sous CentOS

En tant qu'informaticien, nous avons souvent besoin de démarrer un programme ou un script au lancement du système d'exploitation Linux pour éviter des redémarrages multiples. Je vous renvoie à mon article rédigé sur www.developpez.com pour avoir des astuces à ce sujet. Un exemple précis a été traité.

http://yimson.developpez.com/tutoriel/linux/centos/tomcat/linux-centos-automatisation-lancement-processus/

Bonne lecture.

Comment créer des rapports sous QLIKVIEW ?

Qlikview est un outil de Business Intelligence qui gère les données In-Memory. Il intègre un générateur d’états assez puissant, facile à utiliser mais qui demande beaucoup d’attention.

Démarrage de Qlikview

-          Rechercher l’icône de Qlikview et double-cliquer dessus.
-          Lancer votre application Qlikview.

Produire un rapport sous QLIKVIEW.

La réalisation d’un rapport sous Qlikview n’est pas très difficile. C’est une opération qui demande beaucoup d’attention.
Nous allons suivre ensemble les étapes pour réaliser un rapport sous Qlikview.

Lorsque votre application Qlikview est ouverte, choisissez (cliquez sur)  le menu  Rapports.

Choisissez ensuite le sous-menu Editer les rapports …
Vous devez voir apparaitre une boite de dialogue. Cette dernière présente la liste des rapports qui ont déjà été réalisés.

Si vous voulez créer un nouveau rapport, cliquez sur le bouton Ajouter …
Une nouvelle boite de dialogue apparait pour renseigner le nom du nouveau rapport.
Après avoir renseigné le nom du nouveau rapport, cliquez sur le bouton OK.
La nouvelle ligne du nouveau rapport apparait comme le présente l’image ci-dessous.

Ensuite sélectionnez le rapport qui a été créé, et cliquez sur le bouton Editer >>.
Une nouvelle fenêtre apparait avec une feuille quadrillée. C’est sur cette feuille que vous devez déposer vos objets pour créer le rapport.

 Actuellement, vous êtes sur le point de créer votre premier rapport. C’est très simple, il suffit de savoir faire le drag and drop (glisser-déposer).
Cliquez sur l’objet que vous voulez déposer sur le rapport et faites le glisser-déposer.
Vous pouvez déposer autant d’objets que vous souhaitez. Mais seuls les objets Texte et graphique peuvent être déposés sur les rapports.

Cliquez sur le bouton OK quand vous avez terminé. Vous venez ainsi de créer votre rapport.
Vous pouvez l’imprimer en choisissant le menu Rapports, ensuite le sous-menu de nom le nom du rapport que vous avez créé. La boite de dialogue de paramétrage de l’imprimante va s’afficher et vous continuez le chemin.

Bonne lecture à tous !!!!