Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
Blog d'un DBA sur le SGBD Oracle et SQL
11 avril 2020

Guide des outils pour les DBAs débutants sous Oracle - Tools Guide for beginning DBAs in Oracle

 

Introduction
Dans cet article je vais vous lister les outils indispensables à tout bon DBA Oracle. Attention, il en manque (la liste des outils Oracle est quasi infinie) mais l'objectif est de vous lister les plus importants, les plus utilisés pour vous en faire peut-être découvrir quelques uns  :-)

Je ne parlerais pas de Forms, Dataguard, Golden Gate, Streams, Database Vault... ou du RAC, de ASM qui sont des logiciels ou des fonctionnalités trop complexes pour être appelés outils ou utilitaires.

  


 

Points d'attention
N/A.

 


 

Base de tests
Une base Oracle 18c.



Exemples

Installation
OUI ("Oracle Universal Installer") : outil graphique pour installer les logiciels Oracle (sauf certains produits comme "SQL Developer"), les upgrader...
DBCA ("DataBase Configuration Assistant") : outil graphique pour créer, supprimer, modifier une base de données


Gérer le protocole réseau Oracle Net, le listerner...
NETMGR ("Net Manager") : outil graphique utilisé pour configurer SQL*Net. Il est similaire à NetCA, mais Net Manager permet d'effectuer des configurations plus complexes.
NETCA ("Net Configuration Assistant") : outil graphique pour faire une configuration initiale du réseau après l'installation de la base de données. NETMGR est plus complet.
LSNRCTL ("Listener Control") : outil pour administrer les listeners
"Oracle Client" et "Oracle Instant Client" : outil permettant à un logiciel non Oracle d'accéder à une base de données Oracle. SQL*Plus et SQL Developer n'en ont pas besoin, le logiciel Toad oui.

Outils d'administration et de développement
Outils graphiques
"Oracle Entreprise Manager (OEM) Cloud Control" : le meilleur outil pour monitorer plusieurs bases de production en temps réel; s'appelait "Oracle Entreprise Manager Grid Control" avant la 12c
"Oracle Entreprise Manager (OEM) Database Express" : permet de monitorer une seule base de données. Refonte cosmétique en 12c mais avec la perte de plusieurs fonctionnalités; s'appelait "Oracle Database Control" avant la 12c. Voué à disparaître prochainement car doublon avec le Cloud Control?
"SQL Developer" : pour les développeurs, comme son nom l'indique
Toad : outil tiers, de la société Quest Software

Outils mode caractères
SQL*Plus : interface caractère, existe depuis Oracle V4 sous un autre nom et renommé SQL*Plus en V5. Pour moi, c'est cet outil qui fait foi; à toujours utiliser si vous rencontrez des problèmes avec d'autres outils Oracle ou tiers.
SQLcl ("SQL Developer") : nouvel utilitaire en 12c, serait le successeur de SQL*Plus


Utilitaires pour les performances

Autotrace : pour afficher divers indicateurs lors de l'exécution d'un ordre SQL. La version d'Autotrace la plus utilisée est celle de SQL*Plus mais les outils Oracle comme SQLcl ou SQL Developer ont des indicateurs en plus. Attention, c'est un plan d'exécution estimé qui est affiché, pas le réel car Autotrace utilise la commande Explain Plan.
"Explain Plan" : pour afficher immédiatement un plan d'exécution; attention, c'est un plan d'exécution estimé qui est affiché, pas le réel
DBMS_XPLAN.DISPLAY_CURSOR : pour afficher le vrai plan d'exécution, pas un plan d'exécution estimé; l'inconvénient est que cela prend plus de temps que pour un explain plan.
"Wait Events" : l'analyse des évènements d'attente est indispensable pour savoir où la base consomme le plus de ressources. Ils sont affichés dans les outils comme le Cloud Control ou des vues du dictionnaire de données comme V$SESSION_WAIT, V$SESSION_EVENT.


Rapports et outils sur l'historique de la base

ASH ("Active Session History") : ASH prend toutes les secondes un snapshot des vues V$*** relatives aux sessions actives et historise les indicateurs de performances de ces sessions
AWR ("Automatic Workload Repository") : AWR prend toutes les heures un snapshot des vues et tables concernant les performances des requêtes les plus consommatrices de ressources. A utiliser pour explorer l'historique de sa base.
ADDM ("Automatic Database Diagnostic Monitor") : analyse les différences entre deux snapshots AWR consécutifs pour identifier de possibles problèmes de performances
Statpack : deprecated et remplacé par AWR mais, comme c'est un outil gratuit, il est bon de savoir qu'il existe. C'est un ensemble de scripts SQL, PL/SQL et SQL * Plus qui permettent la collecte, l'automatisation, le stockage et la visualisation des données de performances.


Forcer un plan d'exécution ou modifier le comportement du CBO
Baselines : pour obliger le CBO a choisir, pour un SQL_ID, uniquement les plans d'exécution stockés dans cette baseline. C'est le coeur de la fonctionnalité "SQL Plan Management (SPM)".
"Stored Outlines" : deprecated, remplacé par les Baselines
"SQL Profiles" : objet généré par le "SQL Tuning Advisor" et qui correspond à des statistiques supplémentaires pour un ordre SQL
Hints : les hints sont des conseils que l'on donne à l'optimiseur pour influencer certains choix : préférer un index plutôt qu'un Full Table Scan par exemple. A éviter tant que possible car ce sont des bombes à retardement.
"Paramètres de l'optimiseur" : le CBO a en entrée plusieurs paramètres qui, selon leur valeur, peuvent modifier du tout au tout le plan d'exécution généré. Par exemple : OPTIMIZER_MODE, OPTIMIZER_INDEX_COST_ADJ, OPTIMIZER_INDEX_CACHING...


Trouver des infos sur la base via le dictionnaire de données d'Oracle 

Vues USER_***, ALL_***, DBA_***, CDB_*** : ce sont des vues qui pointent vers le vrai MPD avec les tables ***$ (tab$, obj$...)
Vues dynamiques de performances V$*** : ces vues, en réalité des synonymes, pointent vers les structures mémoire X$*** (accessibles uniquement au user SYS)


Les conseillers (Advisors)

"SQL Tuning Advisor" : analyse un ou plusieurs ordres SQL et propose des recommandations d'optimisation de cet ordre (génération de stats, SQL Profile, création index ...)
"SQL Access Advisor" : analyse un ou plusieurs ordres SQL et propose des recommandations pour accéder aux données comme la création d'index, de vues matérialisées, de partitionnement...
"Memory Advisor" : propose des recommandations pour optimiser la mémoire système et la mémoire de l'instance
"Segment Advisor" : l'objectif principal de ce conseiller est d'identifier les segments ayant de l'espace libre pouvant être réalloué à la base
"Undo advisor" : le conseiller d'annulation aide à déterminer la taille du tablespace Undo et à évaluer l'espace nécessaire pour garantir un temps de rétention des données Undo


Identifier, tracer des actions
Audit : attention, l'audit Oracle a été réécrit en 12 c, il s'appelle maintenant "Unify Auditing", même si on peut toujours utiliser l'ancien audit. N'oubliez pas l'audit de granularité fine du package DBMS_FGA, très puissant.
Triggers système : pour surveiller les évènements système de la base; exemples : trigger after logon, before shutdows...
LogMiner : pour explorer les redo logs on line et archivés et analyser l'historique des opérations de la base


Messages d'erreurs
ADRCI ("Automatic Diagnostic Repository Command Interpreter") : référentiel hiérarchique de fichiers pour analyser les erreurs de la base
Les fichiers logs : alert_<SID>.log, listener.log etc etc. Le fichier Alert_<SID>.log est LE fichier de log de la base de données; à voir en premier dès que la base a un problème.
Les fichiers de trace : quand un process d'arrière plan comme PMON plante, il génère un fichier de trace bien plus explicite que les infos dans


Transférer des données

Datapump : l'outil le plus utilisé pour copier des données de base à base. Commandes impdp, expdp.
"Export/Import classique" : deprecated depuis Oracle 10. Commandes imp, exp.
Copy : copier via SQL*Plus des données entre bases
"SQL Loader" : pour charger des données dans une base depuis un fichier plat
RMAN : l'outil de sauvegarde peut aussi servir à transférer des fichiers de données


Faire des sauvegardes
RMAN : l'outil Oracle pour faire des sauvegardes


Comprendre le fonctionnement interne d'Oracle
"Traces des évènements système" : Oracle gère plusieurs évènements systèmes comme 10046 (ce qui se passe en mémoire), 10053 (traces du CBO) etc etc. Attention, cette fonctionnalité n'est pas documenté par Oracle.
DBMS_MONITOR : équivalent de la trace 10046 mais cet outil est documenté
Oradebug : outil couteau suisse permettant de faire beaucoup de choses, y compris des bêtises sur votre base. Souvent utilisé pour faire des dumps des blocs de tables et d'index et voir leur structure interne. Attention, pas documenté par Oracle.
TKPROF : utilitaire permettant de transformer les fichiers traces du format brut vers un format plus lisible


Gestion des ressources

Resource Manager : outil permettant de gérer les ressources du serveur et de la base de données de façon plus fine qu'avec les profiles


Patcher sa base
OPatchauto : un outil d'orchestration des correctifs qui génère des instructions de correction spécifiques à votre configuration cible, puis utilise OPatch pour effectuer les opérations de correction sans intervention de l'utilisateur
OPatch : outil Java qui permet l'application et la restauration de patchs Oracle

 


 

Conclusion
A ceux qui croient qu'il manque dans cette liste des outils, utilitaires, logiciels, fonctionnalités, composants Oracle... hé bien ils ont raison! Oracle est un univers presque infini et je mets quiconque au défi de lister TOUS les programmes Oracle existants.

En voici d'autres pour le fun mais ils sont plus rarement utilisés que les précédents : 
ORAPWD : password file creation utility
DBVERIFY : external command-line utility that performs a physical data structure integrity check (deprecated en 12.2)
DBNEWID : utility that can change the internal database identifier (DBID) and the database name (DBNAME)
CHOPT : utility to remove options from the database kernel (from the oracle executable)
RESTART : when you install Oracle Restart, various Oracle components can be automatically restarted after a hardware or software failure or whenever your database host computer restarts
ASMCMD : command-line utility that you can use to easily view and manipulate files and directories within Automatic Storage Management (ASM) disk groups
etc etc 

 


 

Publicité
Publicité
Commentaires
Blog d'un DBA sur le SGBD Oracle et SQL
Publicité
Archives
Blog d'un DBA sur le SGBD Oracle et SQL
  • Blog d'un administrateur de bases de données Oracle sur le SGBD Oracle et sur les langages SQL et PL/SQL. Mon objectif est de vous faire découvrir des subtilités de ce logiciel, des astuces, voir même des surprises :-)
  • Accueil du blog
  • Créer un blog avec CanalBlog
Visiteurs
Depuis la création 340 848
Publicité