Les posts les plus récents de notre série ‘Installer Sonar’ ont porté sur Oracle, et tout ce que vous devez savoir sur cette base de données afin d’installer une plateforme d’analyse de code avec Sonar (et Jenkins, et Tomcat).
A l’issue de l’article traitant de l’installation de Oracle, je vous avais dit de noter l’adresse de la console d’administration de Oracle.
Aujourd’hui, nous allons utiliser cette console afin de créer un ‘User’ Oracle qui nous permettra de disposer d’un schéma Sonar dans notre base de données.
Si vous n’avez pas noté l’adresse url de la console Oracle, ce n’est pas bien grave. Vous avez normalement un menu Windows qui permet de lancer celle-ci.
Notez que vous avez autant de consoles que de bases de données installées, et un service Windows correspondant. Nous verrons d’ailleurs à la fin de cet article comment désactiver celui-ci.
Lancement de la console Oracle
Vous pouvez lancer la console à l’aide de ce menu, afin d’arriver sur un écran de connexion. Nous allons utiliser le login `SYSTEM’ (déclaré lors de la création de la base de données).
Si vous vous souvenez bien, j’avais utilisé le même password ‘system’ que le nom d’utilisateur.
Une fois connecté, vous arrivez sur la page d’accueil de votre instance de base de données.
Nous n’allons pas montrer tous les écrans et les options de la console. En fait, nous allons utiliser celle-ci uniquement pour créer le schéma Sonar.
Création d’un tablespace avec Oracle
Sonar a besoin d’une base de données afin de garder les résultats des mesures d’analyse et toute autre information affichée dans son tableau de bord (ainsi que les paramètres d’analyse, le Quality profile avec les configurations de métriques, etc.) dans un schéma de bases de données. Pour toutes sortes de raisons, et notamment de performance, nous souhaitons séparer ce schéma des autres objets de la base de données, et notamment lui affecter son propre fichier sur le disque dur. Il nous sera ainsi plus facile d’optimiser ce dernier.
Ce fichier, dans lequel seront stockées toutes les tables, indexs, et autres objets pour Sonar, s’appelle un tablespace.
L’écran de gestion des tablespaces est accessible depuis l’onglet ‘Server’ de la console et le menu ‘Storage’.
Un sous-menu ‘Tablespaces’ affichera la liste des tablespaces existants:
Depuis cet écran, nous pouvons crér un nouveau tablespace, à l’aide du bouton ‘Create’ en haut et à droite.
Dans l’écran de création, nous allons entrer les données suivantes :
- Le nom du fichier tablespace, avec une extension .DBF (DataBase File): SONAR.DBF.
- Le répertoire dans lequel se trouvera ce fichier.
- La taille initiale de ce fichier. Remarquez que nous débutons directement avec 2 Go : inutile de lésiner.
- Trés important : votre tablespace doit être ‘AUTOEXTENDED’, c’est-á-dire capable d’augmenter sa taille lorsque la limite antérieure est atteinte. Et vous devez indiquer l’incrément d’extension, c’est-á-dire de combien de Mo le fichier sera augmenté lorsque nécessaire.
Quelques recommandations :
- Il est souhaitable de centraliser les fichiers .dbf des tablespaces dans un même répertoire, voire sur un même disque dur. Si vous souhaitez effectuer de nombreuses analyses pour un nombre important d’applications avec une taille de code élevée, un serveur dédié sera peut-être nécessaire. Prévoyez alors un disque dur C:\ sur lequel vous installerez les softwares, et pour lesquels la taille ou la puissance ne seront pas critiques, et un second disque dur plus volumineux et plus rapide pour vos tablespaces et la localisation du code à analiser.
- Incrémenter le fichier tablespace lorsque la taille initiale est dépassée est une opération coûteuse en performances. Je remplace toujours la valeur par défaut proposée, souvent trop faible, par une taille d’extension d’environ 10% de la taille initiale. De cette manière, Oracle ne passe pas son temps à étendre le tablespace au détriment de la performance de la base de données.
La commande SQL correspondan à cette création de tablespace est la suivante :
Une fois le tablespace créé, nous le voyons apparaître dans la liste précédente :
Notez que dans cette liste, j’ai également augmenté la taille du tablespace ‘UNDOTBS1’. Il s’agit du tablespace réservé au fichier de ‘rollback’. Sans entrer dans les détails, une taille correcte pour ce tablespace est une condition importante de performance de votre base de données.
Et n’oubliez pas : si ce tablespance ‘UNDO’ ou celui dédié à Sonar n’est pas ‘AUTOEXTEND’, vous aurez certainement tôt ou tard un message d’erreur lors d’une analyse de code. Situation que je rencontre régulièrement parmi les nouveaux utilisateurs.
Création d’un user SONAR avec Oracle
Créer un schema sous Oracle revient à crér un User. Celui-ci sera le propriétaire (owner) du schéma, avec certains droits ou priviléges que nous allons lui accorder.
Toujours dans l’onglet ‘Server’ de la console Oracle, recherchez le menu ‘Security’ puis ‘User’.
Dans l’écran qui liste les différents users, recherchez le bouton ‘Create’ en haut et à droite de l’écran. Dans la fenêtre de création d’un nouveau user, nous allons entrer les données suivantes :
- Le nom du user : ‘SONAR’ (qui sera donc également le nom de notre schéma).
- Un password : choisissez ‘sonar’, c’est ce qu’il y a de plus simple. Confirmez ce password en le saisissant une seconde fois.
- Le tablespace que nous choisissons pour ce user : bien évidemment le tablespace ‘SONAR’ que nous avons créé auparavant.
- Il y a également un tablespace temporaire à choisir : laissez le ‘TEMP’ existant par défaut.
Attendez, ce n’est pas terminé. Il faut attribuer à cet user les droits qui permettront de créer les objets (tables, indexs, séquences, etc. ) dans le schéma SONAR.
Dans l’onglet ‘Roles’ de cet écran de création, sélectionnez le rôle ‘DBA’ dans la liste de gauche et faites le passer dans la liste de droite à l’aid du bouton ‘>’. Le rôle ‘CONNECT’ correspond à un utilisateur avec des droits en lecture. Il nous faut les privilèges DBA afin de pouvoir gérer les objets de la base de données.
Le bouton ‘Accepter’ nous permet de confirmer la création de notre user SONAR. Voici les commandes SQL correspondantes :
Dans l’écran qui liste les users existants, vérifiez que notre user a bien été créé.
Voilá, c’est terminé. Nous pouvons sortir de la console.
Désactiver la console Oracle
Une dernière chose : je vous recommande de désactiver la console Oracle. Celle-ci a la fâcheuse tendance à lancer toutes sortes d’opérations sur la base de données, génèralement de mise-à-jour de statistiques ou de vérification du bon état des objets de la base de donnée, et extrêmement gourmandes en puissance. Votre PC sera ralenti jusqu’à parfois l’arrêt complet de toute autre tâche, et èvidemment, aux moments les plus indésirables. Quoi de plus énervant qu’une machine qui prend 10 minutes à démarrer, ou de devoir interrompre une présentation super-importante devant votre boss ou un client parce que votre PC devient incontrôlable.
Maintenant que nous avons créé notre tablespace et le user SONAR, nous n’avons plus besoin de la console. En fait, nous en avons terminé avec Oracle et, sauf incident, nous n’aurons plus besoin d’accéder à la console.
Pour désactiver celle-ci, ouvrez la fenêtre ‘Services’ de Windows et recherchez le service correspondant.
Dans l’onglet ‘General’ de celui-ci, choisissez ‘Disabled’ pour le démarrage afin de ne pas lancer ce service.
Le bouton ‘Stop’ vous permettra également d’arrêter celui-ci. Vous voilà tranquille.
Cet article est le dernier concernant Oracle : vous disposez maintenant des connaissances nécessaires à la gestion de cette base de données pour votre plateforme d’analyse de code. Celà peut paraître compliqué, mais ce ne sont pas des notions que vous utiliserez tous les jours, donc pas de préoccupation.
Le prochain post sera consacré à l’installation de SONAR. Enfin !
Cette publication est également disponible en Leer este articulo en castellano : liste des langues séparées par une virgule, Read that post in english : dernière langue.