Sommaire: Bases de données oracle (Administration)
1. ARCHITECTURE FONCTIONNELLE
1.1. PRINCIPE GÉNÉRAL
1.2. DESCRIPTION
2. ARCHITECTURE INTERNE
2.1. PRINCIPE GÉNÉRAL
2.2. LES FICHIERS
2.2.1. La structure physique
2.2.2. La structure logique
2.3. LA MÉMOIRE
2.4. LES PROCESSUS
3. CRÉATION ET DÉMARRAGE DE LA BASE DE DONNÉES
3.1. CRÉATION DE LA BASE DE DONNÉES
3.2. MODIFICATION DES CARACTÉRISTIQUES DE LA BASE DE DONNÉES
3.3. DÉMARRAGE ET FERMETURE DE LA BASE DE DONNÉES
3.3.1. Démarrage d’une base de données Oracle
3.3.2. Fermeture d’une base de données Oracle
4. TRANSACTIONS ET ACCÈS CONCURRENTS
5. SÉCURITÉ DES DONNÉES
6. SAUVEGARDE ET RESTAURATION DE DONNÉES
6.1. LES DIFFÉRENTES PANNES
6.2. LES MÉCANISMES MIS EN ŒUVRE
6.2.1. Le journal
6.2.2. La restauration
6.3. LES SAUVEGARDES
6.3.1. Les stratégies de sauvegardes
6.3.2. Les différentes sauvegardes
6.3.3. Quelques conseils !
7. L’OPTIMISATION
7.1. OPTIMISATION D’UNE REQUÊTE
7.1.1. Les phases d’exécution d’une requête
7.1.2. Le plan d’exécution
7.1.3. L’accès aux données
7.1.4. Les méthodes d’optimisation
7.1.5. Les buts d’optimisation
7.1.6. Paramétrage
7.1.7. Forcer les choix de l’optimiseur par programmation
7.1.8. Modification de la requête par l’optimiseur
7.2. OPTIMISATION DE LA MÉMOIRE (CENTRALE)
7.2.1. Appels superflus à l’analyseur
7.2.2. Défauts de mémoire du cache de la bibliothèque
7.2.3. Défauts de mémoire du cache du dictionnaire des données
7.2.4. Défauts de mémoire du buffer cache
7.2.5. Défauts de mémoire des fichiers de reprise
7.2.6. Non utilisation de PL/SQL
7.2.7. Défauts de mémoire liés aux tris
7.3. OPTIMISATION DES ENTRÉES/SORTIES
7.3.1. Contentions des disques
7.3.2. Allocation d’espace dans les blocs
7.3.3. Défragmentation du disque
7.3.4. Allocation dynamique d’espace supplémentaire
7.4. RÉDUCTION DES CONTENTIONS DES PROCESSUS
7.4.1. Contentions sur les segments d’annulation
7.4.2. Taux d’occupation du processus dispatcher
7.4.3. Temps d’attente du processus dispatcher ; processus partagés
8. OUTILS : AMÉLIORATION DES PERFORMANCES, DÉVELOPPEMENT, ADMINISTRATION
8.1. TRACE DE L’EXÉCUTION D’UNE REQUÊTE
8.1.1. Le paramètre SQL_TRACE
8.1.2. L’utilitaire TKPROF
8.1.3. La commande EXPLAIN
8.2. GÉNÉRATION DE STATISTIQUES DESTINÉES À L’OPTIMISEUR : LA COMMANDE ANALYZE
8.3. OUTILS DE DÉVELOPPEMENT
8.3.1. Utilisation des tableaux
8.3.2. Programmation en PL/SQL
8.3.3. Quelques paquetages
8.4. OUTILS D’ADMINISTRATION
8.4.1. L’utilitaire SQL*DBA
8.4.2. L’utilitaire Import/Export
8.4.3. L’utilitaire SQL*Loader
8.5. OUTILS POUR UN ENVIRONNEMENT RÉSEAU
8.5.1. SQL*Net et l’architecture client/serveur
8.5.2. SQL*Star et les bases de données réparties
9. NOUVEAUTÉS DES VERSIONS 8 ET 8I
ORACLE ENTERPRISE MANAGER
NET8
LES RÔLES SYSOPER ET SYSDBA
SERVER MANAGER
L’ARCHITECTURE « CLUSTER »
10. NOUVEAUTÉS DE LA VERSION 9I (ET 8I)
11. NOUVEAUTÉS DE LA VERSION 10G
12. NOUVEAUTÉS DE LA VERSION 11G
LA VERSION STANDARD EDITION
Installation, configuration et administration
Données et applications complètes
Développement
Performance, Reliability, Security and Scalability
Extrait du cours bases de données oracle (Administration)
1ère partie : Architecture et administration d’Oracle7
Cette partie présente tout d’abord l’architecture du SGBDR Oracle7 (architectures fonctionnelle et interne) et ensuite
l’administration (création et démarrage de la base de données, transactions et accès concurrents, sécurité des données, sauvegarde et restauration des données, l’optimisation et la présentation de quelques outils d’administration).
1. Architecture fonctionnelle
L’architecture fonctionnelle d’Oracle repose sur un modèle en couches : les applications se servent d’outils (de développement d’applications, de communication, de génie logiciel, d’administration ou d’aide à la décision) qui utilisent directement SQL ou qui s’appuient sur le PL/SQL (Programming Language / SQL), langage procédural d’Oracle qui transforme ses instructions en SQL, les ordres SQL sollicitant finalement le moteur (ou noyau) d’Oracle qui quant à lui accède au dictionnaire des données.
1.1. Principe général
1.2. Description
• noyau : communication avec la base de données, connexion à d’autres noyaux (cas d’une base répartie)
- intégrité et cohérence
- confidentialité
- sauvegarde et restauration
- gestion des accès concurrents
- optimisation de l’exécution des requêtes (analyse, optimisation, exécution)
- gestion des trois accélérateurs (index, clusters, hash clusters)
- stockage physique des données
• dictionnaire des données : métabase (stockée sous la forme d’un schéma relationnel) décrivant de façon dynamique la base de données (i.e. structure centralisée contenant la description de tous les objets gérés par Oracle)
- objets de la base :
* schéma : ensemble de structures logiques de données (cluster, lien de base de données, index, paquetage, procédure, séquence, cliché, journal de cliché, table, vue, déclencheur, fonction)
* cluster (ou groupement) : contient une ou plusieurs tables ayant une ou plusieurs colonnes communes
* lien de base de données (database link) : permet l’accès à une base (Oracle ou non) distante
* index : structure contenant l’adresse physique de chaque ligne d’une table ou d’un cluster
* paquetage (package) : collection de fonctions, de procédures et autres objets stockés
* procédure : programme PL/SQL stocké dans la base de données ne retournant pas de valeur
* séquence : permet de générer des entiers uniques
* cliché (snapshot) : table contenant le résultat d’une requête définie sur une base distante
* journal de cliché (log snapshot) : table associée à la table maître utilisée par le cliché
* table : structure de données contenant les données, composée de lignes (occurrences) et de colonnes (champs)
* vue : représentation logique combinant une ou plusieurs tables ou vues
* déclencheur (trigger) : procédure stockée dans la base associée à un événement
* fonction : programme PL/SQL stocké dans la base de données retournant une valeur
* synonymes : re-dénomination de certains des objets de la base
* segment d’annulation : sauvegarde des données permettant de valider ou de défaire les transactions
* espace de tables (tablespace) : allocation d’espace disque dans la base de données pour stocker les objets
* clé primaire : une ou plusieurs colonnes permettant d’identifier de manière unique chaque ligne de la table
* clé unique : une ou plusieurs colonnes permettant d’identifier de manière unique chaque ligne de la table, autorisant la valeur indéterminée
* clé étrangère : une ou plusieurs colonnes dont les valeurs dépendent d’une clé primaire
* intégrité référentielle : consistance des relations des clés étrangères référençant les clés primaires
- utilisateurs avec leurs privilèges sur les différents objets
* profil : ensemble de limitations de ressources, attribué explicitement ou implicitement à chaque utilisateur
* rôle : ensemble de privilèges attribuables à des utilisateurs ou autres rôles
* privilège d’accès : droit accordé à un utilisateur sur la base de données
* utilisateur : compte administré par Oracle ayant accès à tout ou partie de la base de données
- informations relatives à l’activité de la base (connexions, ressources utilisées, verrouillages, etc.)
Le dictionnaire des données est organisé comme une base de données relationnelle de sorte que ses tables et vues sont accessibles en SQL, en lecture pour certains utilisateurs, en lecture et mise à jour par le noyau via l’utilisateur SYS ; ces vues sont réparties en quatre classes (la liste complète des tables, vues et synonymes s’obtient en consultant la vue DICTIONARY) :
* vues relatives aux objets d’un utilisateur (USER_…) : trace de connexion/déconnexion de l’utilisateur (USER_AUDIT_SESSION), tables, vues, synonymes et séquences de l’utilisateur (USER_CATALOG), objets de l’utilisateur (USER_OBJECTS), tables créées par l’utilisateur (USER_TABLES), colonnes des tables, vues, clusters crées par l’utilisateur (USER_TAB_COLUMNS), espaces de tables accessibles par l’utilisateur (USER_TABLESPACES), informations sur l’utilisateur (USER_USERS), privilèges systèmes attribués à l’utilisateur (USER_SYS_GRANTS), autorisations sur les tables et vues appartenant à l’utilisateur ou données ou reçues (USER_TAB_GRANTS), etc.
* vues relatives aux objets accessibles à un utilisateur (ALL_…) : les mêmes !
* vues relatives aux administrateurs (DBA_…) : les mêmes, description des fichiers de données (DBA_DATA_FILES), extensions libres dans les espaces de tables (DBA_FREE_SPACE), etc.
* vues relatives au suivi des performances disponibles aux administrateurs (V$… ou V_$…) : objets actuellement verrouillés (V$ACCESS), description de la base de données ou des fichiers de données ou des fichiers de reprise à partir du fichier de contrôle (V$DATABASE ou V$DATAFILE ou V$LOGFILE), valeurs de paramètres d’initialisation (V$PARAMETER), processus actifs (V$PROCESS), mémoire (V$SGA), transactions en cours (V$TRANSACTION), session courante (V$SESSION), etc.
• SQL : interface entre le noyau et les différents outils Oracle ; chaque commande (interprétée) subit une vérification syntaxique et sémantique, est décomposée en opérations élémentaires et soumise au noyau pour exécution, est récupérée et transmise à l’application ou l’outil en ayant fait la demande
• PL/SQL : extension procédurale du langage SQL
• outils de développement d’applications : SQL*Plus, SQL*Forms, SQL*ReportWriter, SQL*Menu, Pro* (Pro*C,
Pro*COBOL, SQL*Webserver, etc.)
• outils de communication SQL*Star : SQL*Net, SQL*Connect
• outils de génie logiciel : CASE*Dictionary, CASE*Designer, CASE*Generator
• outils d’administration
- SQL*DBA : toute administration d’Oracle, en mode menu ou en mode ligne
- Import/Export : échange de données entre différentes bases Oracle ; c’est également un outil de défragmentation
- SQL*Loader : importer un fichier dans une base de données Oracle
• outils d’aide à la décision : ORA 1-2-3, SQL*QMX, Easy*SQL, SQL*Calc, Oracle*Mail
2. Architecture interne
L’architecture interne d’Oracle est composée de fichiers, de processus (programmes en cours d’exécution) et de mémoire.
Une instance Oracle (désignée par le SID, System Identifier) correspond à un ensemble de fichiers, une zone mémoire allouée et des exécutables assurant le fonctionnement d’une base de données. Chaque instance est complètement indépendante et il est possible de faire fonctionner simultanément plusieurs instances.
……..
Cours bases de données oracle: administration (285.94 KB) (Cours PDF)