Articles avec le tag ‘Oracle’

Introduction

Voilà c’est fait ! Après un mois intensif de bachotage, je suis Oracle Certified Associate (OCA) Database Administrator 11G. Durant mon mois de préparation, j’aurais aimé trouver un site avec plusieurs articles qui couvrait en détail tous les aspects techniques de la certification OCA et je n’ai rien trouvé !

C’est pour ça que je veux lancer cette série d’articles qui serviront aux futurs candidats à cette certification. Et je compte bien commencer cette série d’article par une présentation de cette certification en détail.

Est-ce que je dois faire quelque chose avant de passer l’OCA ?

Alors avant de passer cette certification, vous devez passer une certification en rapport avec le SQL. Il y en a trois qui sont envisageables :

  • 1Z0-007 – Introduction to Oracle 9i SQL
  • 1Z0-051 – Oracle DB 11G : SQL Fundamentals 1
  • 1Z0-047 – Oracle DB SQL Expert

Les deux premières peuvent être passées en mode non-surveillé. Ce qui implique que vous pouvez la passer chez vous, ou au travail, avec un accès aux ressources sans problème. La dernière, quant à elle, doit être forcément passée dans un centre d’examen PearsonVue.

Comment je prépare ma certification ?

Pour préparer cette certification, je vous conseille le bouquin officiel d’Oracle qui couvre ce cursus. Vous pouvez vous le procurer en cliquant ici (Amazon). Dans le livre, vous pourrez trouver un test blanc de 70 questions et vous avez un code pour avoir un deuxième test blanc sur Internet.

J’ai utilisé ce livre pendant un mois, à raison d’environ 2-3 chapitres par jour.

Autrement, vous pourrez bien sûr l’ensemble des cours que je ferai sur mon blog.

Combien coûte t-elle ?

Le passage de la certification coûte 140€. Si vous la ratez, vous devrez repayer la même somme.

Quel est le score à avoir ?

A l’heure actuelle, vous devez avoir 66% de bonnes réponses sur un total de 70 questions. Soit, après un vite calcul, 42 bonnes réponses. Je dis à l’heure actuelle, car les pools de questions sont renouvelés assez régulièrement et le score change d’un pool à l’autre.

Il est important de savoir qu’en cas de réponses multiples, il n’y a pas de demi-point. Si vous avez les 2 bonnes réponses, vous avez 1 point. Si vous avez choisi une bonne réponse et une mauvaise, vous avez 0 point.

Est-elle vraiment difficile ?

Réponse courte : relativement. Réponse longue : C’est toujours la même rengaine, si vous apprenez bien votre bouquin, que vous notez tous les points clés, que vous révisez bien tous les encadrés « Exam Watch » et que vous comprenez très bien tous les principes et la logique, vous l’aurez haut la main.

Il est important d’avoir de l’expérience de terrain avant d’attaquer votre certification. Déjà, parce que passer une certification sans expérience, ça n’a pas vraiment d’intérêt et deuxièmement parce que vous risquez d’avoir à assimiler trop d’informations et de manquer de recul sur certaines questions.

Est-elle vraiment « reconnue » ?

La 1Z0-052, couramment appelée OCA, est une certification « Premier pas » dans la vie d’un DBA. Elle aborde un panel de sujet assez large sans aller vraiment dans les détails. Cependant, elle reste très bien reconnue dans les entreprises pour des DBAs Juniors. Lorsque vous commencez à avoir de l’expérience, il est fortement conseillé de passer à l’OCP qui est beaucoup plus technique et pointilleuse.

Et pour toutes les autres questions ?

Pour toutes les autres questions, vous pouvez allez voir cet article (Tout ce qu’il faut savoir pour se préparer à une certification Oracle) qui retrace mon expérience sur les passages de certifications.

Introduction

Il n’y a pas si longtemps, j’ai décidé de me certifier sur les technologies Oracle. A ce jour, j’ai réussi deux certifications Oracle et j’en prépare une troisième que je souhaite passer été 2010.

J’avais essayé de me renseigner sur des retours d’expériences, malheureusement je n’ai rien trouvé qui a pu vraiment m’aider et me rassurer. C’est pourquoi, j’ai décidé d’écrire cet article pour aider et encourager les futurs candidats aux certifications Oracle.

Présentation des certifications Oracle

Tout d’abord, nous allons commencer par une brève présentation des principales certifications Oracle. Ces dernières ont toutes des noms de codes commençant par 1Z0-xxx (Ex : 1Z0-007, 1Z0-147 etc…) les désignant. Les numéros changent en fonction de la version de la base sur laquelle vous êtes certifiés. Par exemple, la DBA I 10G est désignée par 1Z0-042 tandis que la DBA I 11G l’est par 1Z0-052.

Lorsque vous en obtenez une, elle est valable à vie. Cependant, si vous voulez vous certifier sur la nouvelle version d’Oracle Database 11G et que vous avez déjà la même certification 10G, vous devrez repasser une certification de mise à niveau.

Pour la plupart des certifications, elles sont organisées en deux grandes catégories :

  • Développement PL/SQL
  • Administration/Maintenance d’une base Oracle

Chacune des branches permettra d’obtenir divers titres comme Oracle Certified Associate (OCA), Oracle Certified Professional (OCP) ou encore l’ultime Oracle Certified Master (OCM) . Vous pourrez trouver un détail précis des certifications à avoir pour obtenir chacun de ces titres pour la branche PL/SQL sur cette page ou encore pour la branche DBA sur celle-ci.

Cependant, avant d’arriver à ces deux branches, vous devez obtenir une première certification : 1Z0-007. Celle-ci certifie que vous êtes apte à manipuler convenablement les requêtes SQL et des ordres DML basiques : créer une table, des indexs, une vue etc… Cette certification peut se passer à partir de chez vous via votre navigateur internet. Vous pouvez donc la passer avec vos copains ou avec un bouquin à côté de vous. Elle ne vaut rien et permet juste d’arriver aux autres certifications.

Je vous rassure, c’est la seule certification qui peut se passer chez vous sans surveillance ;)

Les autres se passeront en centre d’examen agréés où vous serez hautement surveillés.

Je m’inscris où pour les passer ?

Seul un centre est agréé pour passer les certifications : Pearson Vue. Pour vous inscrire, vous devez aller sur cette page , sélectionnez IT dans la colonne de gauche et ensuite sélectionner Oracle dans la colonne de droite. Après, vous n’avez plus qu’à vous laisser guider.

Lors de l’inscription, vous serez amenez à entrer votre adresse. A partir de celle-ci, Pearson Vue vous conseillera un centre agréé pour passer votre certification qui sera le plus proche. Bien sûr, si vous voulez la passer dans un autre centre agréé que celui le plus proche de chez vous, vous pouvez le faire sans soucis.

Il faut savoir qu’il existe des centres Pearson Vue absolument partout dans le monde et essentiellement situés dans les grandes villes. Donc aucun soucis en cas de forte mobilité ;)

Qu’est-ce que ça m’apporte d’être certifié ?

Par analogie, on peut dire qu’être certifié Oracle, c’est dire que Oracle valide vos connaissances et certifie que vous êtes apte à travailler sur leurs technologies. C’est un très bon plus sur votre CV qui peut faire la différence lorsque vous convoitez un poste où il y a déjà plusieurs DBAs sur le coup.

Les employeurs aiment beaucoup les certifications. Cela prouve que le candidat cherche à s’améliorer et ne repose pas sur ces lauriers.

A noter : Les entreprises étrangères, essentiellement américaines, apportent beaucoup plus d’importance aux certifications que les employeurs français qui jugent encore énormément un candidat sur son diplôme. Cependant, c’est encore un bon plus qui ne peut pas vous faire de mal.

Quel outil utilisé pour réviser ?

Pour réviser, je vous conseille les bouquins officiels Oracle, en anglais, achetables sur Internet ou dans votre librairie informatique préférée.

Ensuite, vous pouvez passer des tests blancs sur des sites agréés par les constructeurs. Ces tests sont souvent plus corsés que la vraie certification donc pas de panique si vous faites pas vraiment le score que vous attendiez ;-)

Le temps de révision peut varier énormément en fonction de la certification passée. Par exemple, pour la 1Z0-007, j’ai révisé une demi-semaine, tandis que pour préparer la 1Z0-147, j’ai dû réviser intensément pendant 3 semaines.

Il est important de savoir que les certifications ne sont pas données ! Même si vous êtes à l’aise dans la technologie abordées, vous pouvez vous planter car certaines questions porteront sur des points très précis et des cas d’écoles… Il ne faudra pas vous pointer en touriste en comptant seulement sur votre expérience et votre bon sens. C’est très important de bien bachoter, et ceci même pour les certifications les plus faciles.

Avertissement : Il est fortement conseillé de venir aux certifications avec un peu d’expérience derrière. Si vous commencez complètement de zéro à réviser, ayant comme objectif de vous certifier, vous risquez d’apprendre bêtement par cœur sans chercher à comprendre réellement. Prenez le temps de vous monter une base Oracle sur un serveur, de mettre en application vos révisions etc… avant de vous lancer.

Comment se passe le passage de l’examen ?

Une fois réservée votre passage sur PearsonVue, vous serez convoqués à la date que vous avez spécifiées (Oui ! on peut choisir sa date) dans un centre d’examen. Vous devez impérativement arriver au centre un quart d’heure avant l’heure de début d’examen sinon votre passage sera annulé et vous ne serez pas remboursé.

Si vous arrivez en avance comme moi, quasiment 40 minutes, vous pouvez demander à lancer l’examen en avance. Ça ne posera normalement pas de problèmes.

Une personne vous prendra en charge et vous demandera de mettre toutes vos affaires dans un placard : Vous n’avez droit qu’à vos vêtements. Tout objet est formellement interdit : téléphones portables, montres ou encore vos crayons, brouillons etc…

Les uniques affaires dont vous aurez droit, ce sont des bouchons d’oreilles pour être au calme, un ordinateur pour passer la certification et une ardoise Velleda qui fera office de brouillon durant l’épreuve. Vous serez surveillé par deux caméras pendant tout votre examen.

Lorsque vous avez terminé, votre score est directement affiché et vous saurez directement si vous avez votre certification ou pas. Pour quitter la salle, vous devez lever la main et le surveillant viendra vous chercher et vous imprimera un bilan de votre certification.

En cas de problèmes durant l’épreuve, vous devez lever la main et le surveillant viendra directement vous assister. Il ne va pas sans dire que votre problème ne doit pas être lié aux questions de l’examen ! Vous devez avertir le surveillant seulement si votre ordinateur a planté, ou que vous n’arrivez pas à passer la question suivante etc…

Vous pouvez annuler le passage de la certification, mais il vous faudra prévenir le centre au moins 24h avant votre heure de passage. Sinon, vous ne serez pas remboursés.

Introduction

Après avoir installé votre système Linux et que vous l’avez préparé pour accueillir votre base de données, vous devez installer Oracle.

Vous avez deux façons d’installer Oracle : L’installation graphique et l’installation silencieuse (sans interface graphique, juste avec la ligne de commande). Ici, nous verrons l’installation graphique mais vous retrouverez comment installer votre base de données sans interface graphique dans cet article.

Téléchargement de l’installeur

Avant toute chose, il faut télécharger l’archive qui vous permettra d’installer votre base de données. Pour ceci, allez sur la page de téléchargement de Oracle.com.

Télécharger les Disk1 et Disk2 de la base de données correspondant à votre architecture de processeur. Pour cet article, nous utiliserons l’architecture Linux x86.

Une fois téléchargées, placez les deux archives zip dans le dossier /tmp de votre serveur.

Décompression des archives

Avertissement : A partir de maintenant, toutes les actions sont faites sous l’utilisateur Oracle

Placez-vous dans le dossier /tmp

cd /tmp

Puis décompressez les deux archives

unzip linux_11gR2_database_1of2.zip

unzip linux_11gR2_database_2of2.zip

Un dossier database a été créé dans le dossier /tmp où sont situés tous les fichiers extraits des deux zips.

Lancement de l’installeur

Note : Les actions sont toujours réalisées avec l’utilisateur Oracle

A partir de maintenant, vous devez vous logger avec l’utilisateur Oracle sur votre serveur en physique et non en SSH.

Avertissement : Loggez-vous bien avec l’utilisateur Oracle et non l’utilisateur root sinon rien ne va marcher.

Vous arrivez sur un écran de ce type :

Un peu rudimentaire mais ça fait largement l’affaire. Vous avez deux éléments : une horloge et un terminal. Toutes les commandes ci-dessous seront à rentrer dans le terminal.

Pour lancer l’installeur, il suffit d’exécuter le script runInstaller

cd /tmp/database

./runInstaller

L’Universal Installer fait quelques vérifications de pré-requis (Espace temporaire, SWAP, et nombre de couleur du moniteur) puis démarre :

L’écran d’accueil vous demande d’entrer votre e-mail et votre mot de passe de support Oracle.

Si vous n’en avez pas, cliquez sur Next puis sur Yes au message d’avertissement.

A l’écran suivant, 3 options vous sont proposées :

  • Création et configuration d’une base
  • Installation seulement du logiciel de la base de données
  • Mise à jour d’une base de données

Vous vous demandez sûrement qu’elle est la différence entre la première et la deuxième option. Avec la première, vous allez créer tous les fichiers nécessaires à faire fonctionner une base de données Oracle et vous allez en créer une et la configurer par la suite. Avec la deuxième option, vous allez seulement créer les fichiers de base puis vous allez devoir créer votre base de données tout seul par la suite.

Note : Hé oui, vous l’avez deviné, il peut avoir plusieurs base de données sur un serveur Oracle.

Nous choisissons la première option et on clique sur Next.

L’installeur nous demande si la base de données sera installé sur un serveur ou sur une station de travail. Nous choisissons « Server Class » et nous continuons.

La base de données sera t-elle toute seule ou sera t-elle un noeud d’un cluster ? Nous n’avons pas installé de Cluster donc on choisit Single Instance. Comme d’habitude, on clique sur Next

On nous demande de choisir entre une installation basique ou complète. Pour ne pas compliquer les choses, nous allons choisir l’installation basique.

Voici la seule page de configuration technique que vous pourrez avoir dans cette installation. Voici les explications de tout ce qu’on peut vous demander :

Oracle Base : Répertoire de base où se trouveront tous les fichiers de votre logiciel Oracle.

Software Location : Répertoire de base de votre base de données où se trouveront tous les fichiers spécifiques à la base de données que vous venez de créer

Storage Type : Type de stockage. Peut-être le système de fichier ou une instance ASM. Ce dernier est un logiciel Oracle qui permet de gérer complètement votre stockage. Ici, nous choisirons FileSystem

Database File location : Répertoire où se trouveront tous les fichiers de données de vos bases de données. Les fichiers de données, comme son nom l’indique, contiennent toutes les données de vos bases.

Database Edition : Version de votre base de données. L’édition Enterprise est la plus aboutie mais c’est celle qui coûte la plus chère. Nous allons garder la version Enterprise pour cette installation.

OSDBA group : Tous les users qui seront dans ce groupe UNIX pourront se connecter et administrer de A à Z vos base de données.

Global database name : Nom que vous allez donner à votre base de données que vous êtes en train de configurer.

Administrative password : Mot de passe qui sera attribué à tous les utilisateurs créés lors de l’installation (sysman, sys, dbsnmp etc…)

Une fois remplis, cliquez sur Next

Cette étape vérifie que tout a été installé. Vérifiez qu’il n’y a aucun problème puis cliquez sur « Next ».

Il arrive qu’il y ait des bugs de vérification de Swap et de mémoire physique dans les machines virtuelles comme sur notre capture d’écran ci-dessus. Dans ce cas, cliquez sur Ignore All puis sur Next.

Un dernier écran vous fait un bilan des actions que l’installeur va faire. Jetez un coup d’oeil rapide puis une fois que vous êtes sûr que tout est bon, cliquez sur Finish.

Vous avez le temps de vous prendre un bon café le temps que votre base de données s’installe.

A la fin de l’installation, un écran vous donne quelques informations sur votre toute nouvelle base de données. Notez dans un coin ceux-ci puis cliquez sur OK.

Une dernière fenêtre vous demande d’exécuter deux scripts en tant que root. Pour ceci, ouvrez un nouveau terminal et rentrez ces commandes :

su

(rentrez votre mot de passe) puis Entrée

sh /app/oraInventory/orainstRoot.sh

sh /app/oracle/product/11.2.0/dbhome_1/root.sh

Une fois exécutés, cliquez sur Ok dans notre fenêtre et une nouvelle fenêtre nous informant que l’installation s’est bien passée apparaît. Fermez la en cliquant sur Close

Introduction

Maintenant que votre système Linux est bien installé, vous devez le préparer pour accueillir votre bijou de base de données.

C’est partit !

Téléchargement de Oracle

Tous les produits Oracle sont disponibles gratuitement sur leurs sites web Oracle.com. Deux versions pour Linux existent : une pour processeur 32 bits et une autre pour processeur 64 bits. Nous choisirons la version 32 bits dans le cadre de cet article.

Pour plus de facilités, mettez les deux zips d’installation dans le dossier /tmp de votre serveur.

Création de l’utilisateur Oracle et des groupes d’administration

Tout d’abord, il va vous falloir créer deux groupes : dba et oinstall. Les membres du groupe dba auront tous les privilèges sur la base de données tandis que les membres du groupe oinstall auront tous les privilèges sur les fichiers physiques de la base de données.

groupadd oinstall

groupadd dba

Une fois ceci fait, il vous faudra créer votre utilisateur oracle qui exécutera la base de données. Ensuite, on lui choisit un mot de passe.

useradd -m oracle

passwd oracle

Puis on place l’utilisateur oracle dans les deux groupes car il devra modifier les fichiers systèmes de votre base Oracle mais aussi pourra administrer la base de données.

usermod -g oinstall -G dba oracle

Création des répertoires de base

Pour l’installation, nous allons avoir besoin de créer les répertoires de base.

mkdir -p /app/oracle

Puis nous positionnons les permissions correctes dessus :

chown -R oracle:oinstall /app

chmod -R 0775 /app

Installation des packages nécessaires

Une base de données oracle nécessite quelques packages systèmes pour fonctionner. Pour les installer, insérer le DVD d’installation de Oracle Enterprise Linux 5 et montez-le dans votre système de fichiers :

mount /dev/cdrom /mnt

Ensuite, positionnez-vous dans le répertoire Server du lecteur DVD. Vous y trouverez tous les RPMs du DVD. Lancez ces commandes :

cd /mnt/Server

rpm -Uvh gcc-4.1.2-46.el5.i386.rpm libgomp-4.4.0-6.el5.i386.rpm elfutils-libelf-devel-static-0.137-3.el5.i386.rpm elfutils-libelf-devel-0.137-3.el5.i386.rpm glibc-devel-2.5-42.i386.rpm glibc-headers-2.5-42.i386.rpm gcc-c++-4.1.2-46.el5.i386.rpm libaio-devel-0.3.106-3.2.i386.rpm libstdc++-devel-4.1.2-46.el5.i386.rpm sysstat-7.0.2-3.el5.i386.rpm unixODBC-devel-2.2.11-7.1.i386.rpm unixODBC-2.2.11-7.1.i386.rpm kernel-headers-2.6.18-164.el5.i386.rpm

Note : Ces packages sont valables pour la version i386 de OEL 5. Si vous avez choisis la version 64 bits, il faudra remplacer i386 par x86-64 dans le nom des packages le nécessitant.

Modification de quelques paramètres

Certains paramètres dans le kernel sont bien trop restrictifs pour qu’une base de données Oracle puisse fonctionner correctement avec un grand nombre de connexions simultanées. Nous allons éditer les paramètres du kernel et les charger à chaud :

echo ‘fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586′ >> /etc/sysctl.conf

/sbin/sysctl -p

Le nombre processus pouvant être lancés et de fichiers pouvant être ouverts par l’utilisateur Oracle simultanément sont trop petits pour fonctionner correctement à plein régime. Nous allons changer la limite dans le fichier /etc/security/limits.conf

echo ‘oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536′ >> /etc/security/limits.conf

Puis rajouter une ligne au fichier de configuration de pam.d :

echo ’session    required     pam_limits.so’ >> /etc/pam.d/login

Enfin, il vous faudra lever les protections sur le nombre de processus lancés à chaque login de l’utilisateur Oracle. Pour ceci, nous allons éditer le fichier /etc/profile

echo ‘if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi’ >> /etc/profile

Conclusion

C’est la fin de la configuration de votre serveur. Passons à l’installation de la base de données Oracle en cliquant sur la flêche verte.

Introduction

Les controls files sont des éléments très importants pour une base de données Oracle. Si vous perdez vos controls files lors d’une panne de disque dur par exemple, vous risquez d’être fortement embêté pour remettre sur pied votre base de données dans un délai pardonnable.

C’est pourquoi, Oracle et tous les DBAs vous le diront : il est très important de multiplexer vos fichiers de contrôle. Voici comment le faire.

Comment multiplexer mes control files ?

Avant de commencer cet article, il est important de savoir que l’annotation [SID] est censé remplacer le SID que vous avez donné à votre instance. Il faut donc le remplacer à chaque commande ci-dessous.

Première étape : Changer les paramètres de votre SPFILE puis arrêtez votre base de données.

$ORACLE_HOME/bin/sqlplus / « as sysdba »

SQL > ALTER SYSTEM SET control_files = ‘/u01/app/oracle/oradata/[SID]/control01.ctl’, ‘/disk2/[SID]/control02.ctl’ SCOPE=SPFILE;

SQL > SHUTDOWN IMMEDIATE;

Ensuite, copiez votre fichier de contrôle actuel vers votre deuxième disque dur (pour nous c’est /disk2)

cp /u01/app/oracle/oradata/[SID]/control01.ctl /disk2/[SID]/controlfiles/control02.ctl

Puis redémarrez votre base de données.

$ORACLE_HOME/bin/sqlplus / « as sysdba »

SQL > STARTUP

Voilà vos fichiers de données sont multiplexés sur plusieurs disques durs pour être armé contre les pannes de disques durs.

Téléchargement de OEL 5

Tout d’abord, avant d’installer votre système, il vous faudra télécharger le DVD d’installation. Pour ceci, rendez vous à ce lien : http://edelivery.oracle.com/linux. Il vous faudra remplir un questionnaire et vous pourrez télécharger le système pour votre ordinateur.

Avertissement : Nous choisirons une image de type i386 (pentium 32 bits). Si vous choisissez une autre architecture, il se peut que l’installation soit un peu différente.

Installation du système

Une fois l’image DVD récupérée, gravée et bootée dessus, vous tomberez sur cet écran d’accueil :

Installation Oracle Enterprise Linux 5 - Etape 1

Appuyez sur Entrée. Après quelques chargements, on vous demande si vous voulez vérifier le DVD d’installation :

Installation Oracle Enterprise Linux 5 - Etape 2

Choisissez Skip. Le programme d’installation graphique démarre.

Installation Oracle Enterprise Linux 5 - Etape 3

L’écran d’accueil de l’installeur apparaît. Cliquez sur Next

Installation Oracle Enterprise Linux 5 - Etape 4

Choisissez votre langue. Nous choisissons French (Français) puis cliquez sur Next

Installation Oracle Enterprise Linux 5 - Etape 5

Installation Oracle Enterprise Linux 5 - Etape 5

Choisissez votre type de clavier. Le clavier Français (latin 1) est choisit par défaut dans le cadre de la langue française. Cliquez sur Suivant

Installation Oracle Enterprise Linux 5 - Etape 6

L’installeur vous informe qu’il n’a pu reconnaître aucune partition sur le disque dur. En conséquent, il va tout supprimer sur le disque dur.

Dans notre cas, cela est totalement normal car nous avions un disque dur complètement vierge. Cependant, si vous aviez déjà utilisé ce disque dur, ne cliquez pas sur Oui et vérifiez que vous avez bien sauvegardé toutes vos données.

Installation Oracle Enterprise Linux 5 - Etape 7

Nous choisissons  le partitionnement par défaut pour faciliter l’installation. Un autre article traitera d’un partitionnement adéquat dans le cadre de l’installation d’Oracle Database. Cliquez sur Suivant pour continuer

Installation Oracle Enterprise Linux 5 - Etape 8

Encore une fois, on vous prévient qu’on va tout supprimer sur votre disque dur. Si vous perdez des données, vous ne pouvez que vous en vouloir :D !

Installation Oracle Enterprise Linux 5 - Etape 9

Installation Oracle Enterprise Linux 5 - Etape 9

On vous propose de configurer le réseau. Nous gardons les réglages par défaut : DHCP. Cliquez sur Suivant

Installation Oracle Enterprise Linux 5 - Etape 10

Sélectionnez votre fuseau horaire. Par défaut, il sélectionne le fuseau horaire de la langue que vous avez choisi précédemment. Une fois sélectionné, cliquez sur Suivant

Installation Oracle Enterprise Linux 5 - Etape 11

Une des étapes les plus importantes : le choix des paquets à installer. Nous allons casser un peu la monotonie de l’installation : pas de choix par défaut. Sélectionnez Personnaliser Maintenant puis cliquez sur Suivant.

Installation Oracle Enterprise Linux 5 - Etape 12

Tout d’abord, désélectionnez le package Environnement de bureau GNOME. Une fois déselectionné, rendez vous dans la partie Applications

Installation Oracle Enterprise Linux 5 - Etape 13

Déselectionnez tous les packages à l’exception de Editeurs . Comme d’habitude, cliquez sur Suivant.

Installation Oracle Enterprise Linux 5 - Etape 14

Installation Oracle Enterprise Linux 5 - Etape 14

Un écran vous indique où est-ce que vous pourrez retrouvez les logs de l’installation pour voir si tout s’est bien passé. Pour passer à l’installation de OEL5, cliquez sur Suivant

Installation Oracle Enterprise Linux 5 - Etape 15

Installation Oracle Enterprise Linux 5 - Etape 15

L’installation se déroule. Vous pouvez aller vous boire un petit café le temps que tout s’installe. A la fin de l’installation, cet écran apparaîtra vous indiquant que l’installation s’est déroulée avec succès.

Installation Oracle Enterprise Linux 5 - Etape 16

Vous venez de finir l’installation du système Oracle Enterprise Linux 5. Pour redémarrez et commencer l’installation de Oracle Database 11GR2, cliquez sur Redémarrer et rendez-vous à l’article suivant en cliquant sur la flêche verte !

Introduction

Lorsqu’un serveur redémarre de façon brutale, il est toujours utile que votre base de donnée Oracle redémarre automatiquement lorsque le système s’initialise. Ceci peut vous éviter des downs très longs et de nombreuses interventions de votre part qui s’avèrent au final pas très utiles. En plus, Oracle vous as facilité la vie pour mettre ça en place ! Vous n’avez donc aucune raison pour ne pas lire le reste de l’article ;-)

Modification de /etc/oratab

Il va vous falloir modifier le fichier /etc/oratab . Le fichier est au format

$ORACLE_SID:$ORACLE_HOME:N|Y

La dernière colonne indique aux scripts dbstart et dbshut (vu par la suite) de démarrer (Y) ou pas (N) cette instance.

Exemple :

orcl:/app/oracle/product/11.2.0/dbhome_1:N

Il faut que vous changiez le « N » de la ligne de l’instance que vous voulez démarrer en « Y ». Ce qui donnera pour notre ligne en exemple :

orcl:/app/oracle/product/11.2.0/dbhome_1:Y

Création du script de démarrage

A partir de maintenant, nous allons créer un script bash qui sera exécuté à chaque démarrage. Ce script appellera les deux scripts dbstart et dbshut qui s’occuperont respectivement de lancer et d’arrêter votre base de données.

Vous pouvez télécharger ce script à cette addresse. Copiez le dans le dossier /etc/init.d en prenant soin de remplacer les valeurs {A remplacer} par le ORACLE_HOME et le ORACLE_SID respectivement.

Exécuter ce script au démarrage

Pour exécuter ce script au démarrage de votre système Linux, il faudra placer un alias dans les répertoires rc3.d et rc5.d (dépend de votre runlevel). Pour faire ceci :

ln -s /etc/init.d/oracle /etc/rc.d/rc3.d/S99oracle

ln -s /etc/init.d/oracle /etc/rc.d/rc5.d/S99oracle

Inversement, pour arrêter vos bases proprement à chaque extinction de votre système :

ln -s /etc/init.d/oracle /etc/rc.d/rc3.d/K01oracle

ln -s /etc/init.d/oracle /etc/rc.d/rc5.d/K01oracle

Vous pouvez dorénavant redémarrer votre système et vérifier que votre base de données se lance au démarrage !

Introduction

Votre instance peut vous poser de très nombreux problèmes. Parmi ceux-ci,il y en a que tous les débutants font les premiers jours en tant que DBA Oracle. Vous trouvez ici une liste non-exhaustive d’erreurs courantes et leurs solutions

Les erreurs

Error while loading shared libraries

Système : Oracle Enterprise Linux 5 / Oracle Database 11G

Cause : SELinux en mode Enforcing

Solution : Lancer la commande setenforce 0 . Vous pouvez vérifier l’état de SELinux avec la commande getenforce

SP2-0024 : Rien à modifier

Cause: Oracle n’arrive pas à trouver le .sql que vous spécifiez

Solution: Mettre le chemin complet dans la commande. Exemple : @/app/oracle/scripts/script.sql au lieu de @script.sql

ORA-32017: failure in updating SPFILE

Autre : ORA-16179: incremental changes to « log_archive_dest_2″ not allowed with SPFILE

Cause : Erreur fréquente. Lors de l’ALTER SYSTEM, vous avez oublié la clause LOCATION

Solution : ALTER SYSTEM SET log_archive_dest_2=’LOCATION=/app/oracle/oradata/arch’ scope=both

Introduction

Imaginez-vous dans cette situation : un programmeur vous appelle « Monsieur CAPITAINE, j’ai des problèmes avec un de mes traitements sur l’instance de Dèv, c’est très lent. Pouvez-vous me dire ce qui est lent ? ». Qu’allez-vous faire ? Vous allez lancer des traces.

C’est un des outils les plus pratiques du DBA Oracle. Une trace est un fichier plat qui recense tous les ordres SQL passés entre un laps de temps que vous définirez. Dans l’exemple plus haut, l’intervalle serait Début du traitement – Fin du traitement .

Un peu de technique

Voici une trace : Cliquez ici pour la voir

Première impression : « Gné ? » . Vous avez tout à fait raison. Les traces, en elle-même, sans être parsées par l’utilitaire tkprof sont globalement illisibles sauf pour les DBA très expérimentés qui se feront une joie de vous les déchiffrer.

Pour satisfaire votre curiosité, voici la même trace qu’au dessus mais à la différence d’être parsées par TKPROF : Cliquez ici pour la voir

Comment on trace ?

Il y a plusieurs façons de générer des traces. Vous pouvez les générer pour « vous » au niveau session, mais vous pouvez aussi les générer pour une session différente de la vôtre.

Tracer votre propre session

Tout d’abord au niveau de votre de votre session, la solution la plus simple est l’ALTER SESSION :

ALTER SESSION SET EVENTS ‘10046 trace name context forever,level 12′;

Vous n’avez plus qu’à exécuter votre traitement qui pose des soucis de performance. Une fois terminée, vous n’avez qu’à entrer cette commande :

ALTER SESSION SET EVENTS ‘10046 trace name context off’;

Tiens d’ailleurs en parlant de ça je pourrais les trouver où mes traces ?

Pour trouver l’emplacement de vos traces, il suffit d’ouvrir SQL*plus et de copier la commande

show parameter user_dump_dest

Le résultat est le dossier exact où se trouve toutes vos traces générées.

Tracer une session distante

Maintenant, pour tracer des sessions distantes, vous pouvez utiliser le package DBMS_SYSTEM comme ceci :

EXECUTE DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION (sid=>[sid],serial#=>[serial],sql_trace=>TRUE);

Exécutez votre traitement puis pour stopper les traces :

EXECUTE DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION (sid=>[sid],serial#=>[serial],sql_trace=>FALSE);

Attention : Votre utilisateur doit avoir le droit EXECUTE sur le package DBMS_SYSTEM pour faire ceci.

Je fais comment pour récupérer le SID et le SERIAL ?

Le SID (Session ID) et le Serial# sont des identifiants uniques attachés à chaque session sur votre base de données Oracle. Pour récupérer le SID de la session visée, exécutez cette requête :

SELECT SYS_CONTEXT('userenv','SID') SID FROM DUAL;

Ensuite, avec un utilisateur qui a les privilèges de SELECT sur la vue V$SESSION, vous pouvez retrouver le serial avec cette requête :

SELECT serial# FROM V$SESSION WHERE sid=[SID précédemment trouvé];

Conclusion

Maintenant que vous savez lancer des traces de votre session et d’une distante, il vous faut les rendre lisibles. Pour ceci, la page suivante vous apprendra à manipuler l’utilitaire tkprof.

Introduction

L’Optimizer est la partie la plus importante d’une instance Oracle. C’est lui qui choisit quelle chemin il va prendre pour prendre/modifier les données que vous lui ordonnez. Toutes les étapes qu’il va prendre s’appelle le plan d’exécution.

Exemple de plan d’exécution généré via SQL*Plus :

Plan d'exécution
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE (Cost=143 Card=1438 Bytes=503300)
   1    0   TABLE ACCESS (FULL) OF 'PS_PERSONAL_DATA' (Cost=143 Card=1438 Bytes=503300)

Sur celui-ci par exemple, on observe que l’Optimizer a choisi de scanner complètement la table PS_PERSONAL_DATA , qu’il a parcouru 1438 lignes soit 503,300 kiloBytes de données et que la requête a un coût estimé à 143.

Je paris que vous avez un certain nombre de questions qui vous viennent à la tête tout de suite :

Comment il choisit son « chemin » ce fameux Optimizer ?

Alors, il choisit en fonction de ce qu’on appelle « le coût ». Le coût est un indice qu’Oracle donne à certaines étapes du plan d’exécution. Plus le coût est grand, plus l’action est consommatrice de ressources/temps (dans l’idéal d’Oracle parce que ça se passe pas tout le temps comme ça). Par exemple, un balayage complet d’une table aura un coût plus élevé qu’une sélection partielle de lignes.

Comment elle calcule le coût notre base de données ?

Ca, c’est le jardin secret d’Oracle. C’est un algorithme que seules quelques personnes connaissent dans le monde entier. Pour avoir une migration d’Oracle 8i vers 10G,  le fait que ce soit secret est la principale cause des déboires des Administrateurs de bases de données lors des changements de version d’Oracle. On ne sait jamais vraiment si les performances seront très dégradées/améliorées lorsqu’on migre une application sur une nouvelle version d’Oracle.

Peut-on influencer les choix de l’Optimizer ?

Bien sûr qu’on peut ! C’est d’ailleurs le sujet de cet article. Influencer l’Optimizer est une des principales pistes de Tuning que vous devez explorer sur votre base de données.

Y a-t-il eu des changements importants dans l’Optimizer ces dernières versions ?

Beaucoup de changements. Depuis la version 10G, Oracle a « abandonné » (plutôt déprécié) les modes Rule et Choose et a tout misé sur le mode Cost-based. Vous pouvez choisir entre le mode ALL_ROWS qui privilégie le débit et le mode FIRST_ROWS(n) qui privilégie le temps pour les « n » premiers résultats. Bien sûr, vous pouvez toujours choisir le mode RULE mais l’Optimizer ne tiendra pas compte de ce mode et passera en mode Cost-Based si il juge que c’est mieux pour certaines requêtes.

Finis les questions ? On passe à la liste des paramètres ! Si vous avez d’autres questions, postez les en commentaire. J’ajouterai les réponses à la liste des questions ci-dessus.

next