Monday, August 24, 2009

Installation d'une machine virtuelle
(A partir d'un template intégrant OEL5.2 et Oracle database 11g)


Comme promis dans mon avant-dernier post, je vous décris ci-après mes tests.

Rappels
Nom du bundle à télécharger : V15511.zip
Nom du template : OVM_EL5U2_X86_ORACLE11G_PVM.tgz
Avertissement :
Une fois dézippé, le bundle du template fait un peu plus de 31 Go
Et il faut disposer d'un espace disque égal à au moins deux fois la taille du bundle sur Oracle VM Server du fait de la nécessité d'avoir sur Oracle VM Server le template et la machine virtuelle à créer à partir du template au moins jusqu'à la fin de la création de la machine virtuelle.

1°) Installer le template sur Oracle VM Server
i) Télécharger le bundle et le placer dans le répertoire /OVS/seed_pool d'Oracle VM Server
ii) Dézipper le bundle
# cd /OVS/seed_pool
# unzip V15511.zip
On obtient l'archive du template : OVM_EL5U2_X86_ORACLE11G_PVM.tgz
iii) Supprimer le fichier du bundle pour économiser de l'espace disque
# cd /OVS/seed_pool
# rm –f V15511.zip


iv) Extraire le contenu de l'archive du bundle
# cd /OVS/seed_pool
# tar –xvzf OVM_EL5U2_X86_ORACLE11G_PVM.tgz
Il en résulte le sous-répertoire OVM_EL5U2_X86_ORACLE11G_PVM dans le répertoire /OVS/seed_pool. Ce sous-répertoire contient tous les fichiers du template.
v) vérifier que le template est bien en place
[root@ovs01 ~]# cd /OVS/seed_pool/OVM_EL5U2_X86_ORACLE11G_PVM/
[root@ovs01 OVM_EL5U2_X86_ORACLE11G_PVM]# ls -l
total 31930697
-rw-r--r-- 1 root root 26214401024 Jan 19 2009 oracle11g_x86_asm.img
-rw-r--r-- 1 root root 474 Feb 2 2009 README
-rw-r--r-- 1 root root 6482630656 Feb 2 2009 System.img
-rw-r--r-- 1 root root 437 Aug 21 17:30 vm.cfg
-rw-rw-rw- 1 root root 353 Aug 21 17:24 vm.cfg.orig
[root@ovs01 OVM_EL5U2_X86_ORACLE11G_PVM]#

2°) Se connecter à Oracle VM manager et importer le template
i) Avec son navigateur préféré, se connecter à Oracle VM manager à partir de son poste de travail de travail Windows XP par exemple. L'URL ressemble à ceci : https://192.168.10.100:4443/OVS
ii) Importer dans Oracle VM Manager le template installé sur Oracle VM Server
Onglet Resources -> sous-onglet "Virtual Machine Template" -> bouton Import.
Le wizard d'import démarre avec son premier écran
Sélectionner le bouton radio "Select from Server Pool (Discover and Register)" puis cliquer sur Next.
Renseigner les différents champs qui s'afficher sur l'écran suivant (certaines valeurs sont à sélectionner dans une courte liste déroulante) :
Server Pool Name : seed_pool
Virtual Machine Template name : OVM_EL5U2_X86_ORACLE11G_PVM
Operating System : Oracle Enterprise Linux 5
Virtual Machine System Username : root
Virtual Machine System Username password : ovsroot
Cliquer sur le bouton Next après avoir vérifié tous les renseignements fournis.
L'écran de confirmation s'affiche. Cliquer sur le bouton Confirm.
Au bout d'un instant, le template apparaît sur une ligne dans le tableau de l'écran "Virtual Machine Template".

3°) Approuver/valider le nouveau template importé
Onglet "Virtual machine template"
Sélectionner (en cliquant sur le bouton radio correspondant) le template nouvellement importé.
Cliquer sur le bouton Approve. L'écran "View Virtual Machine Template" s'affiche. Cliquer de nouveau sur le bouton Approve de ce dernier écran.


4°) Créer la nouvelle machine à partir du template importé et validé.
Nous allons appeler la nouvelle machine (à créer) BUND01.
Onglet "Virtual Machines" -> Bouton "Create Virtual Machine".
Le wizard de création de la machine virtuelle démarre avec son premier écran.
Sélectionner le bouton radio "Create virtual machine based on virtual machine template" puis cliquer sur Next.
Sélectionner seed_pool pour Server Pool et auto pour Preferred Server ; puis cliquer sur Next.
Sur l'écran source, sélectionner le template OVM_EL5U2_X86_ORACLE11G_PVM ; puis cliquer sur Next.
L'écran "Machine Information" s'affiche. Renseigner les différents champs sans cocher la case à cocher "Enable High Availability") :
Virtual Machine name : BUN01
Console password : MdPC0ns0le (ceci n'est qu'un exemple)
Ajouter deux interfaces réseau à la machine en cliquant deux fois sur le bouton Add. Puis cliquer sur le bouton Next.
L'écran de confirmation s'affiche. Cliquer sur le bouton Confirm.
L'écran "Virtual machines" s'affiche avec dans le tableau des machines, une nouvelle ligne correspondant à la nouvelle machine virtuelle en cours de création. Dans la colonne Status on voit s'afficher Creating.
La création de la machine virtuelle peut prendre plusieurs dizaines de minutes. Il est conseillé de cliquer de temps en temps sur le bouton Refresh.
Une fois créée, la machine virtuelle passe à l'état "Powered Off".
En cas de problème, cliquer sur le lien Show de la colonne Details sur la ligne correspondant à la machine et puis sur le chiffre sous forme de lien présent en face du libellé Log dans la zone de d'informations qui s'affiche.

5°) Démarrer la machine virtuelle et finaliser sa configuration
Cliquer sur l'onglet "Virtual Machines".
Sélectionner la machine BUND01 en cliquant sur le bouton radio de la colonne select de la ligne lui correspondant.
Cliquer sur le sous-onglet "Power On". Le status de la machine passe de "Powered Off" à Initializing. Au bout de quelques secondes il passe à Running.
Dès que le status passe à Running, cliquer sur le sous-onglet Console et se connecter à la console de la machine. Démarrer alors l'interview de configuration. Il ressemble à ce qui suit (extraits) :
Regenerating pu2date uuid
Setting Oracle validated configuration parameters
Configuring network
Use DHCP ? y/n [n] (Commentaire : saisir n ou appuyer sur la touché )
Static IP : 192.168.10.120 (Commentaire : ceci n'est qu'un exemple ; saisissez l'addresse de votre réseau local que vous souhaitez affecter à la nouvelle machine).
Netmask : 255.255.255.0
Default gateway IP : 192.168.10.1
DNS server IP : 192.168.10.1
Hostname : bund01
….
Orcale database Configuration
This will configure on-boot properties of Oracle Database
The following will determine …
Do you want relink binaries ? y/n [n] n (ou )
Specify the http port that will be used for Oracle Application Express [8080] :
Specify a port that will be used for the database listener [1521] :
Specify a password to be used for database accounts. Note that the same password will be used for SYS, SYSTEM and ADMIN for APEX. Oracle recommends the use of different passwords for each database account. This can be done after initial configuration : MdP0db
Confirm the password : MdP0db
Do you want Oracle Database to be started on boot (y/n) [y] :
Running orainstRoot.sh and root.sh …
Changing permissions of /u01/app/OraInventory to 770.
Changing groupname of /u01/app/OraInventory to dba
The execution of the script is complete.
Running Oracle 11g root;sh script …
The following environment variables are set as :
ORACLE_OWNER: oracle
ORACLE_HOME: /u01/app/oracle/product/11.1.0/db_1
Enter the full pathname of the local bin directory : [/usr/local/bin] :
Creating /etc/oratab file …
Entries will be added …
Starting CSS.
Waiting for CSS available
ASM instance started
Total System Global Area …
Fixed Size …
Variable Size …
ASM Cache …

Oracle instance started
Total System Global Area…
Fixed Size …
Variable Size …
Database buffers …
Redo buffers …
Database mounted.
Database opened.
Configuration completed successfully
To access the Oracle Application Express go to http://bund01:8080/apex
Press any key to continue …
Enterprise Linux Enterprise Linux Sever release 5.2 (Carthage)
Kernel 2.6.18-92.1.22.0.1.el5xen on i686
bund01 login : oracle
Password : oracle



Annexe : Utilisation de la mémoire physique
Prenez garde à l'utilisation de la mémoire physique de votre serveur de tests, le serveur physique.
Si comme moi vous avez Oracle VM manager installé en machine sur le serveur physique pilotant Oracle VM Server, vous aurez probablement besoin de revoir à la baisse la mémoire affectée par défaut à la machine virtuelle que vous souhaitez installer. La valeur par défaut est de 2048 Mo.
Sinon la création va échouer avec le message suivant :
"failed:
StackTrace: File "/opt/ovs-agent-2.2/OVSSiteVM.py", line 79, in start_vm raise exception"
Une solution consiste à reconfigurer à la baisse la mémoire allouée à la machine virtuelle en cours de création. Procéder comme suit :
1°) Eteindre la machine virtuelle
Onglet "Virtual Machines"
Sélectionner la machine à éteindre
Cliquer sur le sous-onglet "Power Off"
Cliquer sur le bouton Refresh

2°) Reconfigurer la mémoire/RAM de la machine
Sélectionner la machine à reconfigurer
Cliquer sur le sous-onglet Configurer
Et modifier les champs suivants
Maximum Memory Size (MB): 1024
Memory Size (MB) : 1024


Renommage de la base
La base de données Oracle et l'instance de base de données créées portent le nom orcl.
Les DBAs pourraient avoir besoin de changer ce nom.
Pour faire simple et court, je vous conseille l'article de Burleson Consulting
How to rename an Oracle database ORACLE_SID? A new method for a database rename instance (Oracle Tips by Burleson ConsultingApril 21, 2008 - http://www.dba-oracle.com/t_rename_database_oracle_sid.htm

Pour les puristes, il restera encore à modifier les chemins vers les fichiers temporaires et de données de la base de données pour y faire apparaître le nouveau nom de la base de données (par exemple test) à la place de orcl). Il faudra tenir compte du fait que tous ces fichiers sont dans un diskgroup ASM.


En guise de conclusion
Outre l'intérêt grandissant que présente la virtualisation dans les data-centers, Oracle, par sa technologie Oracle VM fondée sur le produit Xen s'efforce d'intégrer son système open source Oracle Enterprise Linux alias Unbrekable Linux et son produit phare Oracle Database. Une vraie petite révolution est peut-être en marche.
Pour l'instant les centres de formation, les plate-formes de développement et/ou de tests peuvent déjà en tirer beaucoup de bénéfice dans leur travail au quotidien.
Il va sans dire que les consultants architectes et DBA faisant de la veille technique et qui souhaiteraient faire des tests chez eux y trouveront leur compte.
Gageons que les ingénieurs systèmes et les spécialistes en technique de virtualisation se l'approprieront rapidement dans l'intérêt de tous les interlocuteurs IT dans l'entreprise.

Ajout d'un nouveau repository à Oracle VM Server
Avant d'aborder l'installation/création d'une machine virtuelle Oracle VM à partir d'un template intégrant OEL et Oracle database 11g. Faisons un petit détour sur une problématique que vous rencontrerez probablement dans votre aventure Oracle VM.
Compte tenu des volumes occupés par les templates et les images de machines virtuelles, vous risquez de vous retrouver très rapidement à court d'espace sur Oracle VM Server (/OVS) si vous avez affecté un disque de votre serveur à Oracle VM Server et avez installé Oracle VM manager sous forme de machine virtuelle sur le même serveur. Il devient donc indispensable d'ajouter de l'espace supplémentaire (par exemple un autre disque) à Oracle VM Server) avant de pouvoir continuer de mener ses tests. Dans la terminologie d'Oracle VM on dit que l'on ajoute un repository supplémentaire à Oracle VM Server.
Nous vous proposons ci-après l'une des solutions les plus simples.

1°) Partitionner le disque à utiliser pour le nouveau repository en y créant une seule partition qui occupe tout le disque (appellons-la sdd1) et y installer un système de fichier de type ocfs2.
[root@ovs01 OVM_EL5U3_X86_OVM_MANAGER_PVM]# mkfs.ocfs2 /dev/sdd1
mkfs.ocfs2 1.2.7
Filesystem label=
Block size=4096 (bits=12)
Cluster size=4096 (bits=12)
Volume size=73344819200 (17906450 clusters) (17906450 blocks)
556 cluster groups (tail covers 4370 clusters, rest cover 32256 clusters)
Journal size=268435456
Initial number of node slots: 4
Creating bitmaps: done
Initializing superblock: done
Writing system files: done
Writing superblock: done
Writing backup superblock: 4 block(s)
Formatting Journals: done
Writing lost+found: done
mkfs.ocfs2 successful


2°) Transformer le serveur physique d'Oracle VM Server en un cluster à un nœud
i) Créer le fichier /etc/ocfs2/cluster.conf sur Oracle VM Server
S'assurer préalablement qu'il n'existe pas déjà.
Sur mon serveur il a fallu créer le répertoire :etc/ocfs2 et le fichier cluster.conf ; les tabulations sont indispensables.
L'adresse IP indiqué dans le fichier est celle de notre Oracle VM Server.
# cat /etc/ocfs2/cluster.conf
cluster:
node_count = 1
name = ocfs2

node:
ip_port = 7777
ip_address = 192.168.10.100

number = 1

name = ovs01

cluster = ocfs2


ii) Mettre en ligne le nouveau cluster
[root@ovs01 OVM_EL5U3_X86_OVM_MANAGER_PVM]# /etc/init.d/o2cb online ocfs2
Starting O2CB cluster ocfs2: OK
[root@ovs01 OVM_EL5U3_X86_OVM_MANAGER_PVM]#

3°) Créer le nouveau repository
[root@ovs01 ovs]# /usr/lib/ovs/ovs-makerepo /dev/sdd1 0 "Repo #2 on disk sdd"
Initializing NEW repository /dev/sdd1
SUCCESS: Mounted /OVS/86B221DA65CE4F469C4A39B0777A5A45
Updating local repository list.
ovs-makerepo complete

4°) Procéder aux vérifications nécessaires
[root@ovs01 ~]# cat /etc/ovs/repositories
# This configuration file was generated by ovs-makerepo
# DO NOT EDIT
86B221DA65CE4F469C4A39B0777A5A45 /dev/sdd1

[root@ovs01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdc2 3.0G 1.6G 1.2G 58% /
/dev/sdc3 65G 46G 19G 72% /OVS
/dev/sdc1 99M 36M 58M 39% /boot
tmpfs 293M 0 293M 0% /dev/shm
/dev/sdd1 69G 34G 35G 49% /OVS/86B221DA65CE4F469C4A39B0777A5A45
[root@ovs01 ~]#

Et le tour est joué. Vos soucis de manque d'espace sont momentanément réglés.

Labels: , , , ,

Thursday, August 20, 2009

DECOUVERTE ET APPROPRIATION D'ORACLE VM (2E PARTIE)
Ce post est consacré à l'installation d'Oracle VM manager sous forme de machine virtuelle sur la machine d'Oracle VM Server.
L'installation d'Oracle VM Manager sur une machine virtuelle hébergée par Oracle VM Server présente un peu plus de difficultés en ce sens qu'il faut avoir à l'esprit quelques notions et repères importants. La principale difficulté réside en ceci qu'il y a des questions dont les réponses ne sont pas triviales. Pour que vous ne soyez pas obligés d'y consacrer trop de temps, je détaille ci-après mes suggestions.
Quatre ressources documentaires sont à consulter avant de se lancer :
- Oracle VM Manager Template (An Oracle White Paper February 2009)
http://oss.oracle.com/~wcoekaer/mgrwp.pdf
- README (le fichier accompagnant l'archive contenant le template d'Oracle VM Manager)
- Creating and Using Oracle VM Templates: The Fastest Way to Deploy Any Enterprise Software
http://www.oracle.com/technologies/virtualization/docs/ovmtemplateoverview-whitepaper.pdf
Je suggère d'utiliser le README comme mode opératoire. Il passe en revue les aspects les plus importants de l'installation dont les questions de l'interview de déployement, les "know issues". Les questions ne sont pas toutes triviales
Pour SMTP server (Outgoing mail server SMTP hostname), indiquer le nom de machine d'Oracle VM Server. Et pour E-mail Address for account 'admin', fournissez une adresse inexistante du genre admin@knmc.local où "knmc.local" est le nom de domaine fictif que vous allez utiliser pour vos tests de virtualisation.
Pour Orcale VM Server Pool name, indiquer "seed_pool" correspondant au nom d'un sous-répertoire de /OVS, créé lors du déployement d'Oracle VM Manager et prévu pour être le dépôt centralisé des templates/modèles que vous téléchargerez par la suite et importerez dans Oracle VM Manager. Ce choix facilite la gestion et l'importation ultérieures des templates.
Pour Oracle VM Server login user name, indiquer root.
Rappelons que deux comptes OS d'utilisateurs sont créés sur Oracle VM Manager lors de son déployement (voir le README)

Ne pas se laisser abuser par la remarque abrupte suivante du README :
"Note that Oracle VM Manager is critical for managing Oracle VM Server Pools. Do not pause, suspend or shutdown this virtual machine! Configuring HA is recommended for this virtual machine so that Oracle VM will automatically restart the Oracle VM Manager virtual machine if there is server crash."
i) Il n'est pas question de configurer HA dans votre environnement de tests (trop de pré-requis non satisfaits et de ce fait vous courez au devant de difficultés inutiles).
ii) Vous ne serez pas obligés de laisser votre serveur allumé pendant des semaines. Il va sans dire qu'en l'éteignant, votre Oracle VM Manager aussi va s'arrêter. Après le re-démarrage de votre serveur physique de tests, il vous est possible de re-démarrer Oracle VM Manager par une séquence de commandes semblable à celle-ci
# cd /OVS/running_pool/OVM_EL5U3_X86_OVM_MANAGER_PVM
# xm create vm.cfg
iii) Pour verifier que Oracle VM Manager est de nouveau opérationnel, exécuter la commande suivante :
# xm list

La mise en place d'Oracle VM Manager comprend deux phases
1°) La phase de déployement
2°) La phase de configuration
La phase de déployement comporte l'interview de déployement et se termine par les messages suivants :
"The Oracle VM manager is deploying, i twill take a few minutes. Please connect to the virtual machine console to make sure Oracle VM Manager is deployed successfully. You can use any VNC viewer from da desktop machine via the command :
vncviewer ovs01.knmc.local:5900
After Oracle VM Manager has been successfully deployed, access the Oracle VM manager home page at :
http://192.168.1.110:8888/OVS (au cas où la connexion sécurisée n'a pas été activée)
https://192.168.1.110:4443/OVS (au cas où la connexion sécurisée a été activée)"

Pour la phase de configuration, on peut lancer vncviewer directement depuis un terminal d'Oracle VM Server
Pendant cette phase, le package tightvnc-java est installé sur Oracle VM Manager, entre autres. Mais surtout cette phase se termine par le message d'erreur suivant qui ne semble avoir aucun impact négatif sur le fonctionnement d'Oracle VM Manager :
"Error :
OVM-2007 Master Oracle VM Agent (ovs01.knmc.local) is not active, and the operation cannot be performed
OVM-4014 Invalid Object.
Fail to configure Oracle VM Manager.
Please refer to /var/log/ovm-manager-template/reconfigMgr.log for further info.
Do you want to configure Oracle VM Manager again (Y|n) ? "
Répondre n.
A la suite de cette réponse, on voit s'afficher le prompt de connexion à Oracle VM Manager
"ovmm login :"

En guise de vérification de bon fonctionnement d'Oracle VM server, nous avons créé manuellement et démarré une machine virtuelle à partir d'un template/modèle. Cependant il n'a pas été possible de s'y connecter à l'aide l'utilitaire xm (commande "xm console ") à partir d'un terminal d'Oracle VM Server. Rappelons tout de même que notre objectif est d'exploiter les facilités offertes par Oracle VM Manager.
Nous en parlerons dans mon prochain post.
En attendant, quelques suggestions de lecture complémentaire :
- Oracle VM (by Julian Dyke – Independent Consultant) :
http://www.juliandyke.com/Presentations/OracleVM.ppt
- Managing virtual Machines – Oracle VM Manager User's Guide release 2.1 :
http://download.oracle.com/docs/cd/E11081_01/doc/doc.21/e10901/vm.htm
- Oracle VM Templates Readme
http://download.oracle.com/otn_software/virtualization/README.templates

Dans notre prochain post, nous verrons étape par étape comment installer une machine virtuelle à l'aide d'Oracle VM manager à partir du template OVM_EL5U1_X86_PVM_4GB et d'Oracle Database 11g X86 disk image.

Labels: , , ,

DECOUVERTE ET APPROPRIATION D'ORACLE VM (1ERE PARTIE)
Après avoir utilisé pendant plusieurs années les produits de VMware Server 1 et VMware Server 2 pour mes tests de veille techniques (RAC 10 avec OCFS, RAC 10g avec ASM, Dataguard 10g, RAC 11g avec ASM, Openfiler etc), j'ai fini par me laisser convaincre par les actions et annonces d'Oracle dans le domaine de la virtualisation. C'est pourquoi j'ai décidé de faire d'Oracle VM un sujet de veille technique depuis ce printemps.

Mon objectif dans les posts que je ferai concernant Oracle VM ne sera pas de vous livrer des procédures complètes. Bien des collègues DBAs le font déjà depuis 2007 et je donnerai quelques adresses d'articles intéressants dans mes posts. Mon objectif sera de fournir des repères, des pistes pour éviter certains pièges et enfin des références d'articles et de ressources qui permettront à ceux qui s'intéressent depuis peu au sujet, de commencer leur exploration sur des bases solides sans perdre du temps et sans s'égarer dans l'immensité d'internet.


J'ai commencé mon aventure Oracle VM par la lecture de trois articles très intéressants de ArKzoYd, un DBA de chez Oracle qui est passé récemment chez Easyteam.

- Installer Oracle VM sur votre ordinateur ou votre portable
(http://blog.easyteam.fr/2009/07/12/oraclevm-4-laptop/)
- Installer un serveur X sur le domaine 0 d'OracleVM
(http://blog.easyteam.fr/2009/07/12/oraclevm-vm/
- Créer une machine virtuelle manuellement sur Oracle VM
(http://blog.easyteam.fr/2009/07/12/oraclevm-vm/

Mon environnement de tests comprend :
- Un serveur Dell PowerEdge 1800 avec deux processeurs Core-duo et 4 Go de RAM équipé de 3 trois disques SCSI de 73 Go et 1 disque SCSI de 300 Go. L'un des trois disques de 73 Go est consacré aux tests d'Orcale VM
- Un poste de travail Dell OpiPlex de 3Go de RAM sous Windows XP et disposant d'un disque dur de 190 Go découpé en trois partitions de 40, 50 et 100 Go. La partition de 100Go étant libre pour les tests.

Oracle VM est constitué de trois composants :
- Oracle VM Server
- Oracle VM Manager
- Oracle VM Agent
La première chose qui frappe lorsque l'on aborde le sujet d'Oracle VM c'est le fait qu'il faut à priori au moins deux machines pour sa mise en œuvre :
- Une machine dédiée pour Oracle VM Server hébergeant également Oracle VM Agent
- Une machine partagée pour y installer Oracle VM Manager.
Mais très vite Oracle a dû comprendre que cela peut constituer un frein pour beaucoup de DBAs pour des raisons budgétaires ou des raisons de place. D'où leur heureuse initiative de mettre à disposition un template/modèle permettant d'installer Oracle VM Manager sous forme de machine virtualisée sur le serveur d'Oracle VM Server.

L'installation d'Oracle VM Server ne présente pratiquement aucune difficulté. Cependant je vous suggère de lire préalablement, outre les deux premiers articlés cités ci-dessus et publiés par ArKzoYd, le white paper de xtravirt intitulé "Installation Guide on How to install Oracle VM server and Manager 2.1.5" (http://xtravirt.com/xd10113 ,un enregistrement est nécessaire pour y accéder)
Autres suggestions :
- Installer un serveur X sur le domaine 0 d'OracleVM en suivant le mode opératoire fourni par ArKzoYd dans son article portant le titre évocateur et ne pas oublier de configurer son clavier azerty (en ajoutant la ligne [Option "XkbLayout" "fr"] sans les crochets dans le fichier /etc/X11/xorg.conf).
- Installer dans la foulée firefox sur le serveur (yum install firefox)
- Affecter à Oracle VM Server une adresse libre de son réseau local et déclarer comme gateway par défaut et DNS l'adresse IP de son routeur/box (livebox, freebox ou Neufbox, etc.). Cela facilite énormémemnt les choses par la suite.
A suivre …

Labels: , ,

ORACLE PUBLIC YUM SERVER et ORACLE-VALIDATED RPM

Lors de mes tests de cet été je suis tombé par hasard sur le serveur yum public qu'Oracle a mis en place afin de faciliter la vie aux personnes qui utilisent souvent sa distribution Unbreakable Linux et qui souhaiteraient pouvoir bénéficier des facilitées de Yum lors des mises à jour de leurs installations OEL même si elles n'ont pas pris d'abonnement de support (assuré par Oracle). En même temps je découvre aussi qu'Oracle a mis en place un package spécial qui aide, lors d'installation d'une distribution OEL ou Redhat pour la mise en place d'une base de données Oracle, à automatiser le téléchargement et l'installation de tous les packages RPM requis y compris les dépendances tout en assurant la configuration des paramètres du noyau, la création du compte oracle et des groupes dba et oinstall. Le gain de temps devrait donc être appréciable.
Dès lors il est tentant de tester ces deux mécanismes intéressants afin de pouvoir les utiliser sans souci chez les clients.
Mes recherches sur le net ont cependant montré que les articles expliquant la mise en œuvre de ces deux mécanismes – en effet je recommande de les utiliser comme un couple inséparable – font des hypothèses qu'ils n'explicitent pas.
Voilà pourquoi ce n-ième article sur le sujet a pour vocation d'être autosuffisant pour tout utilisateur connaissant un peu Linux (son installation et sa configuration) et surtout pour les DBAs.
Le lecteur pourra consulter avec bénéfice les trois articles suivants que j'ai exploités pour faire mes tests qui ont été concluants :
i) Prepare your Linux Server to install Oracle database using oracle-validated RPM - http://perumal.org/tag/rpm/
ii) Public Yum Server - http://public-yum.oracle.com/
iii) Installing the Oracle Validated rpm on el5 - http://blogs.oracle.com/AlejandroVargas/Installing-the-Oracle-Validated-rpm-on-EL5.pdf

1) Vérifier si yum est présent sur son installation et si ce n'est pas le cas, il faut commencer par l'installer.
[root@prod yum.repos.d]# rpm -qa | grep yum
yum-security-1.1.16-13.el5
yum-updatesd-0.9-2.el5
yum-3.2.19-18.el5
yum-metadata-parser-1.1.2-2.el5
[root@prod yum.repos.d]# ls -l
total 0

2) Vérifier si un référentiel Yum est présent sur votre système.
En général ce n'est pas le cas pour les systèmes Oracle Enterprise L'inux. Au cas où un serait présent mais ne correspondrait pas à la version de votre distribution, il faudrait le renommer.
root@prod etc]# cd yum.repos.d
[root@prod yum.repos.d]# ls
[root@prod yum.repos.d]# ls -l
total 0

3) Télécharger le référentiel Yum correspondant à votre distribution et l'activer
L'activation consiste à l'éditer avec son éditeur préféré et à remplacer "enabled=0" par "enabled=1"
[root@prod yum.repos.d]# wget http://public-yum.oracle.com/public-yum-el5.repo
--19:43:01-- http://public-yum.oracle.com/public-yum-el5.repo
Résolution de public-yum.oracle.com... 141.146.44.34
Connexion vers public-yum.oracle.com|141.146.44.34|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 1402 (1,4K) [text/plain]
Saving to: `public-yum-el5.repo'

100%[=======================================>] 1.402 --.-K/s in 0,002s

19:43:22 (685 KB/s) - « public-yum-el5.repo » sauvegardé [1402/1402]

[root@prod yum.repos.d]# ls
public-yum-el5.repo
[root@prod yum.repos.d]# vi public-yum-el5.repo
[root@prod yum.repos.d]#


4) Télécharger le package oracle-validated correspondant à sa distribution à l'adresse http://oss.oracle.com/el5/oracle-validated et l'installer
Les messages générés lors de mes tests sont fournis ci-dessous.
[root@prod yum.repos.d]# cd /tmp
[root@prod tmp]# wget http://oss.oracle.com/el5/oracle-validated/oracle-validated-1.0.0-18.el5.i386.rpm
[root@prod tmp]# yum install ./oracle-validated-1.0.0-18.el5.i386.rpm
Loaded plugins: security
el5_u3_base | 1.1 kB 00:00
primary.xml.gz | 788 kB 00:08
el5_u3_base 3442/3442
Setting up Install Process
Parsing package install arguments
Examining ./oracle-validated-1.0.0-18.el5.i386.rpm: oracle-validated-1.0.0-18.el5.i386
Marking ./oracle-validated-1.0.0-18.el5.i386.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package oracle-validated.i386 0:1.0.0-18.el5 set to be updated
--> Processing Dependency: compat-db for package: oracle-validated
--> Processing Dependency: compat-gcc-34 for package: oracle-validated
--> Processing Dependency: compat-gcc-34-c++ for package: oracle-validated
--> Processing Dependency: libXp for package: oracle-validated
--> Processing Dependency: libaio-devel for package: oracle-validated
--> Processing Dependency: sysstat for package: oracle-validated
--> Processing Dependency: unixODBC for package: oracle-validated
--> Processing Dependency: unixODBC-devel for package: oracle-validated
--> Running transaction check
---> Package compat-gcc-34.i386 0:3.4.6-4 set to be updated
---> Package libaio-devel.i386 0:0.3.106-3.2 set to be updated
---> Package compat-db.i386 0:4.2.52-5.1 set to be updated
---> Package unixODBC.i386 0:2.2.11-7.1 set to be updated
---> Package sysstat.i386 0:7.0.2-3.el5 set to be updated
---> Package unixODBC-devel.i386 0:2.2.11-7.1 set to be updated
---> Package libXp.i386 0:1.0.0-8.1.el5 set to be updated
---> Package compat-gcc-34-c++.i386 0:3.4.6-4 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
oracle-validated i386 1.0.0-18.el5 ./oracle-validated-1.0.0-18.el5.i386.rpm
15 k
Installing for dependencies:
compat-db i386 4.2.52-5.1 el5_u3_base 1.7 M
compat-gcc-34 i386 3.4.6-4 el5_u3_base 4.1 M
compat-gcc-34-c++ i386 3.4.6-4 el5_u3_base 11 M
libXp i386 1.0.0-8.1.el5 el5_u3_base 22 k
libaio-devel i386 0.3.106-3.2 el5_u3_base 11 k
sysstat i386 7.0.2-3.el5 el5_u3_base 170 k
unixODBC i386 2.2.11-7.1 el5_u3_base 830 k
unixODBC-devel i386 2.2.11-7.1 el5_u3_base 743 k

Transaction Summary
================================================================================
Install 9 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 19 M
Is this ok [y/N]: y
Downloading Packages:
(1/8): libaio-devel-0.3.106-3.2.i386.rpm | 11 kB 00:00
(2/8): libXp-1.0.0-8.1.el5.i386.rpm | 22 kB 00:00
(3/8): sysstat-7.0.2-3.el5.i386.rpm | 170 kB 00:01
(4/8): unixODBC-devel-2.2.11-7.1.i386.rpm | 743 kB 00:12



(5/8): unixODBC-2.2.11-7.1.i386.rpm | 830 kB 00:11
(6/8): compat-db-4.2.52-5.1.i386.rpm | 1.7 MB 00:19
(7/8): compat-gcc-34-3.4.6-4.i386.rpm | 4.1 MB 00:47
(8/8): compat-gcc-34-c++-3.4.6-4.i386.rpm | 11 MB 02:25
--------------------------------------------------------------------------------
Total 47 kB/s | 19 MB 06:43
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : compat-gcc-34 [1/9]
Installing : unixODBC [2/9]
Installing : compat-gcc-34-c++ [3/9]
Installing : libXp [4/9]
Installing : compat-db [5/9]
Installing : sysstat [6/9]
Installing : unixODBC-devel [7/9]
Installing : libaio-devel [8/9]
Installing : oracle-validated [9/9]

Installed: oracle-validated.i386 0:1.0.0-18.el5
Dependency Installed: compat-db.i386 0:4.2.52-5.1 compat-gcc-34.i386 0:3.4.6-4 compat-gcc-34-c++.i386 0:3.4.6-4 libXp.i386 0:1.0.0-8.1.el5 libaio-devel.i386 0:0.3.106-3.2 sysstat.i386 0:7.0.2-3.el5 unixODBC.i386 0:2.2.11-7.1 unixODBC-devel.i386 0:2.2.11-7.1
Complete!
[root@prod tmp]#

5) Vérifier la liste des fichiers générés après cette installation de oracle-validated;
Sur mon installation, voici les fichiers et répertoires nouveaux générés. On peut obtenir cette liste par une commande du type "find / -name "*oracle-validated*"
/usr/bin/oracle-validated-verify
/etc/sysconfig/oracle-validated
/etc/sysconfig/oracle-validated/oracle-validated.conf
/etc/sysconfig/oracle-validated/oracle-validated-verify
/etc/sysconfig/oracle-validated/oracle-validated.params
/var/log/oracle-validated

6) Le contenu du fichier /var/log/oracle-validated/results/orakernel.log
[root@prod results]# cat /var/log/oracle-validated/results/orakernel.log
Creating oracle user passed

Verifying kernel parameters as per Oracle recommendations...
fs.file-max 327679
kernel.msgmni 2878
kernel.msgmax 65536 8192
kernel.msgmnb 65536 65536
kernel.sem 250 32000 100 142
kernel.shmmni 4096
kernel.shmall 268435456 1073741824
kernel.shmmax 4294967295 4294967295
kernel.sysrq 0 1
net.core.rmem_default 262144
net.core.rmem_max 4194304
net.core.wmem_default 262144
net.core.wmem_max 262144
fs.aio-max-nr 3145728
net.ipv4.ip_local_port_range 1024 65000
Setting kernel parameters as per oracle recommendations...
Altered file /etc/sysctl.conf
Original file backed up at /etc/sysctl.conf.orabackup
Verifying & setting of kernel parameters passed

Verifying oracle user OS limits as per Oracle recommendations...
oracle soft nofile 131072
oracle hard nofile 131072
oracle soft nproc 131072
oracle hard nproc 131072
oracle soft core unlimited
oracle hard core unlimited
oracle soft memlock 3500000
oracle hard memlock 3500000
Setting oracle user OS limits as per Oracle recommendations...
Altered file /etc/security/limits.conf
Original file backed up at /etc/security/limits.conf.orabackup
Verifying & setting of user limits passed

Verifying kernel boot parameters as per Oracle recommendations...
Setting kernel boot parameters as per Oracle recommendations...
Boot parameters will be effected on next reboot
Altered file /boot/grub/grub.conf
Original file backed up at /boot/grub/grub.conf.orabackup
Verifying & setting of boot parameters passed

Verifying module parameters as per Oracle recommendations...
Setting module parameters as per Oracle recommendations...
Altered file /etc/modprobe.conf
Original file backed up at /etc/modprobe.conf.orabackup
e1000 settings modified to include FlowControl=1
Aug 9 19:57:43 prod yum: Installed: compat-db-4.2.52-5.1.i386
Aug 9 19:57:44 prod yum: Installed: sysstat-7.0.2-3.el5.i386
Aug 9 19:57:45 prod yum: Installed: unixODBC-devel-2.2.11-7.1.i386
Aug 9 19:57:45 prod yum: Installed: libaio-devel-0.3.106-3.2.i386
Aug 9 19:57:54 prod kernel: e1000: eth0: e1000_watchdog_task: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
Verifying & setting of module parameters passed

7) Le contenu du fichier /etc/sysconfig/oracle-validated/oracle-validated.params
[root@prod results]# cat /etc/sysconfig/oracle-validated/oracle-validated.params
# Oracle VC Parameter config file


#Kernel parameters
#category:arch:kernel:distribution:parameter:recommended-value
kernel:*:*:*:fs.file-max:327679
kernel:*:*:*:kernel.msgmni:2878
kernel:*:*:*:kernel.msgmax:8192
kernel:*:*:*:kernel.msgmnb:65536
kernel:*:*:*:kernel.sem:250 32000 100 142
kernel:*:*:*:kernel.shmmni:4096
kernel:*:*:*:kernel.shmall:1073741824
#shmmax value below will be overwritten based on architecture (Recommended:4GB for 32bit and 4TB for 64bit)
kernel:*:*:*:kernel.shmmax:4294967295
kernel:*:*:*:kernel.sysrq:1
kernel:*:*:*:net.core.rmem_default:262144
kernelcomment:For 11g recommended value for net.core.rmem_max is 4194304
kernel:*:*:*:net.core.rmem_max:4194304
kernelcomment:For 10g uncomment the following line, comment other entries for this parameter and re-run sysctl -p
kernelcomment:net.core.rmem_max=2097152
kernel:*:*:*:net.core.wmem_default:262144
kernel:*:*:*:net.core.wmem_max:262144
kernel:*:*:*:fs.aio-max-nr:3145728
kernel:*:*:*:net.ipv4.ip_local_port_range:1024 65000
kernel:*:*:Red Hat Enterprise Linux AS release 4:vm.lower_zone_protection:100
kernel:*:*:Enterprise Linux Enterprise Linux AS release 4:vm.lower_zone_protection:100

#Oracle OS User limits (domain=oracle/*)
#category:arch:kernel:distribution:type:item:recommended-value
user:*:*:*:soft:nofile:131072
user:*:*:*:hard:nofile:131072
user:*:*:*:soft:nproc:131072
user:*:*:*:hard:nproc:131072
user:*:*:*:soft:core:unlimited
user:*:*:*:hard:core:unlimited
user:i686:*:*:soft:memlock:3500000
user:i686:*:*:hard:memlock:3500000
user:x86_64:*:*:soft:memlock:50000000
user:x86_64:*:*:hard:memlock:50000000
usercomment:i686:Recommended stack hard limit 32MB for oracle installations
usercomment:i686:oracle hard stack 32768

#Kernel boot parameters
#category:arch:processor:kernel:distribution:parameter:recommended-value
boot:x86_64:AMD:*:*:numa:off

#Kernel module parameters
#listed for reference only
#category:arch:processor:kernel:distribution:parameter:recommended-value
#module:*:*:*:e1000:FlowControl=1
[root@prod results]#


8) Nous vous conseillons enfin de procéder à des vérifications manuelles relatives aux packages RPM requis pour Oracle, aux paramètres du noyau Linux et à la création du compte Linux oracle et des groupes dba et oinstall. Le lecteur peut s'appuyer sur l'excellent article du site Oracle-base intitulé "Oracle 11g Release 1 RAC On Linux Using VMware Server 2" consultable à l'adresse http://www.oracle-base.com/articles/11g/OracleDB11gR1RACInstallationOnOEL5UsingVMwareServer2.php, dans sa partie consacré aux pré-requis.

Labels: , , , ,

Monday, August 10, 2009

LIVRES : Techniques de veille et e-réputation (Comment exploiter les outils Internet ?)
Pour maintenir un très haut niveau de compétence technique dans son domaine, on est obligé de faire de la veille technique et d'être curieux des nouveautés qui apparaissent presque tous les jours dans son domaine de compétence technique et dans les domaines connexes.
Or il est indiscutable que l'on ne peut plus faire une bonne veille technique en ignorant le réseau Internet, réseau par excellence du partage des connaissances et des savoirs un peu dans l'esprit des logiciels libres dont je suis un fervent partisan.
Vous comprendrez alors dans ces conditions que l'on soit heureux lorsque l'on découvre par hasard un livre intéressant portant le titre évocateur "techniques de veille et e-réputation" avec en sous-titre "Comment exploiter les outils Internet ?"
L'auteur est Jean-Noël Anderruthy, un professionnel de l'Internet grand public et d'entreprise depuis plus de 10 ans. Le livre est édité aux éditions Eni et constitue une véritable caverne renfermant de vrais petits trésors du domaine qui nous concerne. On y explique en détails comment maîtriser les flux RSS, les réseaux sociaux (Viadeo, Linked, Facebook, Twitter, etc.). J'y ai découvert un nouveau système de gestion de bookmark en ligne : Diigo (http://www.diigo.com). Je peux vous assurer que quand l'auteur dit que Diigo est le meilleur service de Bookmarking qui existe sur le marché, on peut difficilement le contredire après s'être familiarisé avec cet outil.
Bref nous avons là un bel ouvrage que l'on peut offrir à toute personne intéressée par une maîtrise plus avancée d'Internet. En plus il ne coûte pas cher : environ 21 euros.

LA CERTIFICATION REVISITEE
Les certifications techniques (Oracle, Microsoft, IBM, etc) constituent l'un des sujets qui font l'objet d'une petite polémique sourde continue sur Internet.
Je ne viens pas relancer ou alimenter cette polémique. Je souhaite partager avec le lecteur un point de vue pragmatique sur le sujet.
Les certifications constituent pour moi une des formes les plus avancées de veille technique. Les périodes de certification Oracle sont des périodes harassantes de travail acharné qui débouchent sur la grande satisfaction du travail bien accompli. Ces périodes sont l'occasion de rédiger des dizaines voire des centaines de pages de compilation et de synthèse de toutes les nouvelles fonctionnalités d'une nouvelle version d'Oracle Database. De ce fait l'obtention de la certification n'est que la conséquence et la reconnaissance de tout ce travail qui est fait en amont.
Ce travail permet d'être à l'aise face à la nouvelle version du produit de l'éditeur (ici il s'agit d'Oracle) et d'aborder la mise en œuvre de telle ou telle fonctionnalité avec sérénité en s'appuyant sur ses propres documents de synthèse ; ce qui vous évite d'avoir à consulter de nombreux documents techniques.
Un autre aspect non négligeable est le fait que beaucoup de clients apprécient d'avoir des consultants qui ont leur certification, symbole de la reconnaissance des compétences du consultant par l'éditeur.
Alors si vous avez hésité jusque-là, n'hésitez plus maintenant. Vous ne serez jamais perdant en préparant sérieusement et en obtenant votre certification technique. Je viens d'obtenir ma troisième certification en cinq ans, la certification OCP Oracle 11g.
Le lecteur intéressé par les certifications Oracle Database peut me contacter. C'est avec beaucoup de plaisir que je partagerai avec lui ma petite expérience dans ce domaine.

ET SI ON TENTAIT UN COME BACK ?
Il est assez frustrant de ne pas pouvoir alimenter régulièrement son blog alors que l'on dispose de dizaines d'articles, synthèses et procédures pouvant servir à cette fin.
Deux raisons principales à cet état des choses en ce qui concerne mon blog :
- L'ambition de départ était démesurée. Les articles étaient très longs et exigeaient de ce fait beaucoup de temps pour leur rédaction et leur mise en ligne ;
- Le manque de temps s'expliquant par une veille technique continue dans le cadre des activités professionnelles sans oublier les actions associatives.
Je tente donc un come back prudent dans l'espoir de tenir le coup sur la durée avec des posts moins ambitieux mais beaucoup plus réguliers. Il sera surtout question de mes petites trouvailles sur Internet (articles techniques, outils, etc), d'introductions de mes synthèses de nouvelles fonctionnalités d'Oracle Database et parfois quelques articles complets traitant d'une procédure ou d'un mécanisme très intéressant d'Oracle Database). De petites incursions dans les logiciels libres seront parfois au rendez-vous.
Alors on se motive et on prend son courage à deux mains.