2.2 - Logiciels et outils d’administration

oralogo_small

En premier lieu il conviendra bien sûr d’installer le logiciel serveur Oracle.

Avant d’installer un de ces logiciels sur votre poste, lisez très attentivement le début de la doc d’installation (Quick Installation Guide principalement) et notamment les prérequis matériels et logiciels. Oracle est compatible avec beaucoup de métériels et d’OS mais pas avec toutes les versions…
Toute la doc au format PDF est disponible sur http://tahiti.oracle.com

Il vous faudra suivant le cas quelques GO sur disque et de 1 à quelques GO de mémoire pour que le logiciel s’installe et fonctionne.
Pour plus d’informations voir notre chapitre Installation…

Quelques versions de serveur intéressantes :

Oracle Database 10g Express

Une version light ET GRATUITE d’Oracle pour Linux et Windows. Totalement fonctionnelle et assez peu gourmande en ressources. Données limitées à 4GO! S’installe facilement, Idéale pour démarrer.
Toutes les infos sur Oracle Database 10g Express et le logiciel à télécharger, sont disponibles ici :
http://www.oracle.com/technology/products/database/xe/index.html

Oracle Database 10gR2 Enterprise Edition

La précédente version professionnelle standard du serveur de données version 10gR2. Stable et facile à installer sur Windows.
Toutes les infos (et le téléchargement) sont ici :
http://www.oracle.com/technology/products/database/oracle10g/index.html

Oracle 11g

La dernière version majeure d’Oracle stable. La 11gR1 s’installe relativement facilement  sur Linux Ubuntu (voir mon article).
La 11gR2 s’est sensiblement compliqué en terme d’architecture et est la dernière version de production disponible (au printemps 2011).

La console d’administration graphique : Oracle enterprise manager

Oracle est livré avec une console d’administration graphique : Oracle Enterprise Manager (OEM ou EM), accessible depuis un client léger, PC ou poste avec navigateur et TCP/IP.

Le port d’écoute par défaut est 5500, ou 1158 suivant les version
On peut vérifier cette information dans ORACLE_HOME/install/portlist.ini
exemple d’URL :

https://localhost:1158/em
http://localhost:5500/em

note : La base et le serveur Oracle Net (même en local!) doivent être démarrés, avant de lancer la console.

note : lorsque la base ou le serveur Oracle Net n’est pas démarrée on obtient un écran général d’information d’OEM, qui indique la non disponibilité de la base, mais pas de fenêtre de login…
OEM est attaché à une base particulière. On dit qu’elle fonctionne en STANDALONE, à la différence de consoles centralisées multi-bases comme Oracle Server Manager ou la GRID console.

OEM utilise cependant un référentiel dans la base, à travers 2 schémas SYSMAN et DBSNMP.

grid2exemple de page d’accueil de la console GRID

Gestion en mode commande (Unix ou Windows)

La commande emctl permet de gérer la console. Elle est de la forme
emctl dbconsole
option = start …démarre la console
= stop … l’arrête
= status… donne son statut

exemple sous Windows
C:ORACLE10GBIN> emctl status dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.1.0.2.0
Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved.
http://DAREDEVIL:5500/em/console/aboutApplication
Oracle Enterprise Manager 10g is running.
——————————————————————
Logs are generated in directory C:oracleproduct10.1.0Db_1DAREDEVIL_ORCLsysman/log

Gestion via les services Windows

Sous Windows le service s’appelle OracleDBConsole et correspond à l’exécutable nmssvc.exe.
On peut gérer ce service avec l’icône service du groupe ‘Outils d’administration’ ou bien avec la commande NET :

c:> net start OracleOraDb10g_home1TNSListener
c:> net start OracleServiceORCL
c:> net start OracleDBConsoleorcl

service_instance

apercu des services sous Windows

note : sous XP notamment la gestion via les services peut s’avérer plus délicate. On préfera plutôt le mode commande…

Apercu de la console

Voir le document PDF Apercu de la console em10g

SQL et  PLSQL

Oracle 10g propose deux langages (plus ou moins) standards pour manipuler les données de la base : SQL et PLSQL

SQL (structured Query Language)
est LE langage standard et donc normalisé d’interrogation et de mise à jour de tous les SGBDRs.
Plus précisément il permet de créer / modifier des structures de données (LDD), mais aussi de consulter / interroger, modifier, supprimer les données contenues dans ces structures (LMD).

PL/SQL (Procedural language)
PL/SQL est un langage qui intègre SQL et permet de programmer de manière procédurale. Il est spécifique à Oracle. Pour SQL Server il existe par exemple un équivallent : TRANSAC SQL
Globalement, avec PL/SQL on aura à notre disposition un vrai langage de programmation structuré :
- gestion de variables, et typage avancé,
- structures conditionnelles (IF / THEN / ELSE),
- structures itératives (WHILE, FOR, LOOP),
- gestion d’erreurs sophitiquée (EXCEPTION),

Les interpréteurs (PL)SQL d’Oracle
Pour pouvoir utiliser ces langages, les DBAs mais aussi les développeurs ont besoin d’un outil client spécial : l’interpréteur.
Cet interpréteur permet :
- d’exécuter intéractivement des ordres SQL et PL/SQL,
- d’exécuter des scripts SQL et PL/SQL
- de personnaliser l’environnement et formater les résultats

Le DBA et le développeur ont à leur disposition toute une bibliothèque de procédures et fonctions PLSQL stockées prédéfinies.

Il en existe plusieurs centaines qui permettent par exemple de lire/écrire dans des fichiers, fairede l’HTML, envoyer des mails, faire des transferts de données, calculer des statistiques de performance, etc..

Vous pouvez voir ci-après : Un descriptif succint de tous les packages PLSQL disponibles pour la 11GR2

SQL*Plus

sqlplusest l’interpréteur le plus simple. Il existe en mode commande sous Unix/Linus ou MSDOS, et en mode semi-graphique sous Windows.

exemples de commandes :

$> sqlplus SYSTEM/XYZ
$> sqlplus SYSTEM/XYZ@ma_base_distante
$> sqlplus /nolog
$QL> connect SYS/XYZ AS SYSDBA

sous Windows : Menu Démarrer , Programmes , Orahome10g_db1/ Développement d’application / SQLPlus

iSQL*Plus
est le (grand) frère de SQL*Plus. Il est utilisable par un client léger, avec donc un simple navigateur sans besoin d’aucun environnement Oracle client.
Outre le formatage automatique des sorties au format HTML, iSQL*Plus présente le gros avantage de proposer un historique des commandes…

Il est démarré sur un serveur local ou distant, et accessible en http. Le port TCP/IP standard d’écoute est le 5560.

exemples de commande de contrôle

lancement Windows :
$ORACLE_HOME/bin/> isqlplussvc.exe -start
arrêt Windows :
$ORACLE_HOME/bin/> isqlplussvc.exe -stop
utilitaire Windows (appelle le précédent…) :
$ORACLE_HOME/bin/> isqlplusctl.bat
URL d’accès : http://mon_serveur:5560/isqlplus

Rappel des ports utilisés par les outils

voir ORACLE_HOME/install/portlist.ini

Par défaut :
Numéro de port HTTP iSQL*Plus =5560
Port HTTP de la console Enterprise Manager (orcl) = 1158
Port du Listenet TCP/IP : 1521

Attention !!! i*SqlPlus est OBSOLETE à partir de la V11 d’Oracle

SQL pour le DBA

Sans parler vraiment d’outils, le langage SQL (et la connaissance des meta données) sont très précieux pour le DBA.
Un certain nombre de commandes SQLPlus, voire quelques SELECT sont très pratiques pour le travail quotidien du DBA.
Ils peuvent être lancés sous SQLPlus, ISQLPLus , ou pour les SELECT sous n’importe quel Outil client et ce quelle que soit la plate forme.

SQL> — consulter les tables du DBA
SQL> SELECT * FROM DBA_%…
SQL> — rechercher des informations dans le dictionnaire
SQL> SELECT * FROM DICT WHERE TABLE_NAME LIKE ‘%…’

SQL> — connaître les colonnes d’une table
SQL> DESCRIBE nom_table
SQL> — envoyer les resultats d’un SELECT dans un fichier
SQL> SPOOL nom_fic | OFF

SQL> –formater l’affichage des champs LONG (DBA_VIEWS par exemple)
SQL> SET LONGWIDTH n
SQL> — formater l’affichage d’une colonne tronquée
SQL> COL nom_col FOR An

SQL> — executer un script SQL ou PLSQL
SQL> @nom_script_sql

SQL> — modifier les paramètres de la session courante
SQL> ALTER SESSION SET
SQL> — et notamment…prendre l’identité d’un utilisateur
SQL> ALTER SESSION SET CURRENT_SCHEMA = nom_schema
SQL> — verifier les erreurs d’un script ou d’une procédure stockée
SQL> SHOW ERRORS
ou
SQL> SELECT * FROM USER_ERRORS

SQL> — vérifier le USER courant
SQL> SHOW USER
SQL> — voir les paramètres de la base
SQL> SHOW PARAMETER nom_parametre
SQL> –modifier les paramètres dynamiques de la base
SQL> ALTER SYSTEM SET param = valeur
SQL> — ou l’état de la base…
SQL> ALTER DATABASE…

Lorsque le DBA veut automatiser des scripts, et les rendre dynamiques par rapport au référentiel il peut utiliser du SQL qui génère du SQL (META SQL)

Autres outils clients graphiques

Les outils suivants sont très pratiques pour le DBA et aussi pour les développeurs :

logo_sqldevOracle SQL developper, un outil de développement graphique, gratuit. Il vous permet de faire du SQL, du PL/SQL, de naviguer dans la base de données et de produire des rapports personnalisés.
Toutes les infos concernant ce produit, et le logiciel à télécharger, sont disponibles ici :
http://www.oracle.com/technology/products/database/sql_developer/index.html

toad-ext-50x50

TOAD (le crapaud) de chez QUEST Software, un outil très puissant aussi bien pour les développeurs que pour les administraters.
http://www.quest.com/toad/