Oracle Et PL - SQL Intro
Oracle Et PL - SQL Intro
Voici un cours introductif sur Oracle Database et PL/SQL. Ce cours couvre les bases pour commencer à
travailler avec Oracle Database, y compris la programmation avec PL/SQL.
2. Architecture de base
1. Instance Oracle :
Elle comprend la mémoire et les processus utilisés pour gérer la base de données.
Composants :
SGA (System Global Area) : mémoire partagée.
PGA (Program Global Area) : mémoire privée pour les processus utilisateur.
2. Fichiers de base de données :
Fichiers de données : stockent les tables et les index.
Fichiers de contrôle : contiennent des informations sur la structure de la base.
Fichiers de journalisation : enregistrent les transactions.
3. Concepts clés
PL/SQL (Procedural Language/SQL) est un langage procédural ajouté à SQL par Oracle.
Il permet d'écrire des blocs de code complexes, des procédures, des fonctions, et des triggers pour
automatiser les tâches.
Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 1/15
Un bloc PL/SQL a trois sections principales :
sql
DECLARE
-- Déclaration des variables et constantes
BEGIN
-- Code principal : SQL et logique procédurale
EXCEPTION
-- Gestion des erreurs
END;
Exemple simple :
sql
BEGIN
DBMS_OUTPUT.PUT_LINE('Bonjour, PL/SQL !');
END;
sql
DECLARE
v_nom VARCHAR2(50) := 'Oracle';
BEGIN
DBMS_OUTPUT.PUT_LINE('Bonjour, ' || v_nom || ' !');
END;
sql
DECLARE
CURSOR c_clients IS
SELECT nom, prenom FROM clients;
v_nom clients.nom%TYPE;
v_prenom clients.prenom%TYPE;
BEGIN
OPEN c_clients;
LOOP
FETCH c_clients INTO v_nom, v_prenom;
Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 2/15
EXIT WHEN c_clients%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(v_nom || ' ' || v_prenom);
END LOOP;
CLOSE c_clients;
END;
2. Procédures
Exemple :
sql
3. Fonctions
Exemple :
sql
4. Triggers
Les triggers s'exécutent automatiquement lorsqu'un événement survient (INSERT, UPDATE, DELETE).
Exemple :
sql
Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 3/15
SQL*Plus : outil en ligne de commande pour exécuter du SQL et PL/SQL.
SQL Developer : IDE graphique pour interagir avec Oracle Database.
Toad for Oracle : outil tiers pour la gestion de base de données.
sql
sql
sql
4. Appeler la procédure :
sql
BEGIN
afficher_clients;
END;
Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 4/15
Ce cours couvre les bases pour débuter avec Oracle Database et PL/SQL. Vous pouvez pratiquer ces
concepts pour vous familiariser davantage.
Voici une série de questions à choix multiple (QCM) sur Oracle Database et PL/SQL, avec les réponses
fournies pour chaque question.
Q1 : Quel composant Oracle contient les informations sur la structure de la base de données ?
1. SGA
2. Fichier de données
3. Fichier de contrôle
4. PGA
Q3 : Quelle commande est utilisée pour créer une nouvelle table dans Oracle Database ?
1. INSERT INTO
2. CREATE TABLE
3. ALTER TABLE
4. UPDATE TABLE
1. Fichier de données
2. Fichier de contrôle
3. Fichier de journalisation
4. Fichier temporaire
1. SQL*Plus
2. SQL Developer
3. RMAN
4. Data Pump
Section 2 : SQL
Q6 : Quelle clause SQL est utilisée pour extraire des données spécifiques d'une table ?
1. SELECT
2. WHERE
3. FROM
4. JOIN
Réponse : 2. WHERE
Q7 : Quel mot-clé est utilisé pour empêcher des doublons dans une colonne ?
1. UNIQUE
2. DISTINCT
3. PRIMARY KEY
4. CHECK
Réponse : 2. DISTINCT
Q8 : Quelle commande SQL est utilisée pour modifier la structure d'une table ?
1. UPDATE
2. DELETE
3. ALTER TABLE
4. CREATE TABLE
Q9 : Quelle commande est utilisée pour supprimer toutes les lignes d'une table, sans supprimer la
table elle-même ?
1. DROP TABLE
2. DELETE
3. TRUNCATE
4. REMOVE
Réponse : 3. TRUNCATE
Q10 : Quelle contrainte assure que chaque ligne d'une table a une clé unique ?
Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 6/15
1. NOT NULL
2. UNIQUE
3. PRIMARY KEY
4. FOREIGN KEY
Section 3 : PL/SQL
1. DECLARE
2. BEGIN
3. EXCEPTION
4. END
Réponse : 1. DECLARE
Q12 : Comment appelle-t-on un morceau de code PL/SQL qui retourne une valeur ?
1. Procédure
2. Fonction
3. Trigger
4. Bloc anonyme
Réponse : 2. Fonction
Q14 : Quel est le mot-clé pour capturer une exception dans PL/SQL ?
1. BEGIN
2. WHEN
3. EXCEPTION
4. RAISE
Réponse : 3. EXCEPTION
Q15 : Quelle structure est utilisée pour exécuter une commande pour chaque ligne d’un résultat
SQL ?
1. CURSOR
2. LOOP
Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 7/15
3. TRIGGER
4. FUNCTION
Réponse : 1. CURSOR
1. Curseur explicite
2. Curseur implicite
3. Curseur dynamique
4. Curseur statique
Q18 : Quel type d’objet PL/SQL s’exécute automatiquement lorsqu’un événement survient dans la
base de données ?
1. Fonction
2. Trigger
3. Procédure
4. Bloc anonyme
Réponse : 2. Trigger
1. Une table
2. Une exception
3. Une valeur unique
4. Une transaction
1. DBMS_OUTPUT.DISPLAY
2. DBMS_OUTPUT.PUT_LINE
3. PRINT
4. OUTPUT_TEXT
Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 8/15
Réponse : 2. DBMS_OUTPUT.PUT_LINE
Ces QCM couvrent les bases et concepts avancés d’Oracle Database et PL/SQL. Vous pouvez les utiliser
pour tester vos connaissances ou préparer des évaluations.
La sauvegarde de PostgreSQL peut être effectuée à l'aide de différents outils et méthodes, en fonction
des besoins de l'utilisateur (sauvegarde logique ou physique, fréquence, taille de la base de données,
etc.). Voici les options principales :
1. Sauvegarde logique
Les sauvegardes logiques capturent les données et la structure de la base de données dans un format
lisible par l'humain. Elles sont idéales pour des bases de données de petite à moyenne taille.
Outil : `pg_dump`
Commandes courantes :
bash
Outil : `pg_dumpall`
Utilisé pour sauvegarder toutes les bases de données dans une instance PostgreSQL.
Inclut les utilisateurs et les rôles.
Commande :
bash
Avantages :
Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 9/15
Facile à utiliser.
Portable entre différentes versions de PostgreSQL.
Inconvénients :
2. Sauvegarde physique
La sauvegarde physique copie directement les fichiers de données PostgreSQL. Elle est idéale pour les
bases de données volumineuses et les environnements nécessitant une haute disponibilité.
Outil : `pg_basebackup`
Commandes courantes :
bash
Options importantes :
Pour des performances optimales, vous pouvez utiliser des snapshots de système de fichiers (par
exemple, avec LVM, ZFS, ou des outils de sauvegarde au niveau du disque).
Pour les sauvegardes incrémentielles ou pour restaurer une base à un moment précis, utilisez
l'archivage des journaux WAL.
conf
archive_mode = on
archive_command = 'cp %p /path/to/archive/%f'
wal_level = replica
Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 10/15
2. Sauvegarder les journaux WAL :
Les fichiers WAL contiennent les transactions et permettent une récupération point-in-time
(PITR).
3. Restauration PITR : Utilisez les sauvegardes physiques avec les journaux WAL pour restaurer une
base de données à un moment précis.
Pour des besoins avancés, vous pouvez utiliser des outils tiers spécialisés :
Outils populaires :
1. Barman :
Gestion centralisée des sauvegardes physiques et des journaux WAL.
Restauration simplifiée.
bash
2. PgBackRest :
Sauvegardes physiques incrémentielles et compressées.
Très performant pour les bases de données volumineuses.
bash
3. Wal-G :
Sauvegardes incrémentielles optimisées pour le cloud.
Intégration avec Amazon S3, Google Cloud Storage, etc.
Pour choisir la méthode adaptée, tenez compte de vos contraintes (taille, fréquence, et temps de
restauration). Si vous avez une base de données critique, privilégiez une combinaison de sauvegardes
physiques et journaux WAL pour une meilleure résilience.
Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 11/15
et pour oracle?
La sauvegarde dans Oracle Database peut être réalisée en utilisant différents outils et stratégies, en
fonction des besoins spécifiques, comme la fréquence des sauvegardes, la taille de la base de données
et la criticité des données. Voici les options principales pour sauvegarder une base Oracle :
1. Sauvegarde logique
Les sauvegardes logiques exportent les données et la structure des objets de la base de données au
format lisible (fichiers `.dmp` ou `.sql`).
Commandes courantes :
bash
# Exporter un schéma
expdp user/password DIRECTORY=backup_dir DUMPFILE=backup_schema.dmp SCHEMAS=your_schema LOGF
ILE=backup.log
Pour restaurer :
bash
# Importer un schéma
impdp user/password DIRECTORY=backup_dir DUMPFILE=backup_schema.dmp LOGFILE=import.log
Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 12/15
2. Sauvegarde physique
Sauvegarde complète
bash
rman target /
BACKUP DATABASE FORMAT '/path/to/backup/%U.bkp';
Sauvegarde incrémentielle
bash
bash
bash
LIST BACKUP;
Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 13/15
bash
RESTORE DATABASE;
RECOVER DATABASE;
Avantages de RMAN :
Si la base de données fonctionne en mode ARCHIVELOG, vous pouvez effectuer des sauvegardes sans
arrêter la base.
Étapes :
sql
sql
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
4. Snapshots système
Utilisez les outils de snapshots du système de fichiers ou de stockage pour capturer l’état des fichiers
Oracle. Cela nécessite que les fichiers de données, de contrôle, et de journaux redo soient cohérents (le
mode ARCHIVELOG doit être activé).
Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 14/15
Pour des environnements d’entreprise, des outils tiers permettent une gestion centralisée et avancée
des sauvegardes Oracle.
Exemples :
Si votre base est sur Oracle Cloud, vous pouvez utiliser OCI pour automatiser les sauvegardes.
Supporte les sauvegardes physiques et logiques.
Intégré avec RMAN pour envoyer les sauvegardes directement vers le stockage cloud.
Recommandations
Pour petites bases : Utilisez `Data Pump` pour des sauvegardes rapides et portables.
Pour grandes bases critiques : Combinez RMAN avec le mode ARCHIVELOG.
Pour haute disponibilité : Activez l’archivage des journaux redo et configurez des sauvegardes
incrémentielles avec RMAN.
Pour le cloud : Exploitez les outils Oracle Cloud Infrastructure.
Cela garantit une sauvegarde fiable et adaptée aux besoins spécifiques de votre base Oracle.
Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 15/15