5 -Outils d'administration

Console Enterprise Manager (em)

Oracle 10g 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 :
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.

grid1

exemple 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:\\ORACLE10G\\BIN>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_1\\DAREDEVIL_ORCL\\sysman/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 :

net start OracleOraDb10g_home1TNSListener
net start OracleServiceORCL
net start OracleDBConsoleorcl

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 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)

l’Outil iSQL*Plus

SQL et PL/SQL

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),

PL/SQL est certes moins intuitif mais est plus puissant que le SQL. Ces 2 langages sont éminemment complémentaires.

note : le code PL/SQL peut être stocké (et compilé) dans la base de données sous forme de fonction, procédure, package ou trigger.

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

SQL*Plus
est 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 :
BINisqlplussvc.exe -start
arrêt Windows :
BINisqlplussvc.exe -stop
utiliataire Windows (appelle le précédent…) :
BINisqlplusctl.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