0% ont trouvé ce document utile (0 vote)
13 vues15 pages

Oracle Et PL - SQL Intro

Transféré par

ekoue andreas
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
13 vues15 pages

Oracle Et PL - SQL Intro

Transféré par

ekoue andreas
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 15

Oracle et PL/SQL Intro

fait moi le cours d'oracle et de plsql

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.

Partie 1 : Introduction à Oracle Database


1. Qu'est-ce qu'Oracle Database ?

Oracle Database est un système de gestion de base de données relationnelle (SGBDR).


Il est conçu pour stocker et gérer de grandes quantités de données tout en assurant leur sécurité,
performance et intégrité.

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

Schéma : collection d'objets (tables, vues, procédures, etc.) appartenant à un utilisateur.


SQL (Structured Query Language) : langage utilisé pour interagir avec la base de données.

Partie 2 : Introduction à PL/SQL


1. Qu'est-ce que PL/SQL ?

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.

2. Structure d'un bloc PL/SQL

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;

3. Exemples de blocs PL/SQL

Exemple simple :

sql

BEGIN
DBMS_OUTPUT.PUT_LINE('Bonjour, PL/SQL !');
END;

Avec déclaration de variables :

sql

DECLARE
v_nom VARCHAR2(50) := 'Oracle';
BEGIN
DBMS_OUTPUT.PUT_LINE('Bonjour, ' || v_nom || ' !');
END;

Partie 3 : Concepts avancés de PL/SQL


1. Cursuers (Cursors)

Un curseur est un pointeur pour gérer des ensembles de résultats.

Exemple de curseur explicite :

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

Les procédures permettent de regrouper un ensemble d'instructions.

Exemple :

sql

CREATE OR REPLACE PROCEDURE afficher_message IS


BEGIN
DBMS_OUTPUT.PUT_LINE('Procédure exécutée avec succès !');
END;

3. Fonctions

Les fonctions retournent une valeur.

Exemple :

sql

CREATE OR REPLACE FUNCTION additionner(a NUMBER, b NUMBER) RETURN NUMBER IS


BEGIN
RETURN a + b;
END;

4. Triggers

Les triggers s'exécutent automatiquement lorsqu'un événement survient (INSERT, UPDATE, DELETE).

Exemple :

sql

CREATE OR REPLACE TRIGGER avant_insertion


BEFORE INSERT ON clients
FOR EACH ROW
BEGIN
DBMS_OUTPUT.PUT_LINE('Insertion dans la table clients.');
END;

Partie 4 : Outils pour travailler avec Oracle

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.

Partie 5 : Exercice pratique


1. Créer une table `clients` :

sql

CREATE TABLE clients (


id NUMBER GENERATED BY DEFAULT AS IDENTITY,
nom VARCHAR2(50),
prenom VARCHAR2(50),
date_naissance DATE
);

2. Insérer des données :

sql

INSERT INTO clients (nom, prenom, date_naissance)


VALUES ('Dupont', 'Jean', TO_DATE('1990-01-15', 'YYYY-MM-DD'));

3. Créer une procédure pour afficher les clients :

sql

CREATE OR REPLACE PROCEDURE afficher_clients IS


BEGIN
FOR rec IN (SELECT nom, prenom FROM clients) LOOP
DBMS_OUTPUT.PUT_LINE(rec.nom || ' ' || rec.prenom);
END LOOP;
END;

4. Appeler la procédure :

sql

BEGIN
afficher_clients;
END;

Partie 6 : Ressources pour aller plus loin


Documentation Oracle
Tutoriels en ligne : Oracle Live SQL
Livres : Oracle PL/SQL Programming par Steven Feuerstein.

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.

fais moi des qcm et leur reponse

Voici une série de questions à choix multiple (QCM) sur Oracle Database et PL/SQL, avec les réponses
fournies pour chaque question.

Section 1 : Oracle Database

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

Réponse : 3. Fichier de contrôle

Q2 : Que signifie SGBDR ?

1. Système de Gestion de Base de Données Relationnelle


2. Système Général de Base de Données Relationnelle
3. Système de Gestion de Base de Données Répartie
4. Service de Gestion des Bases de Données Relationnelles

Réponse : 1. Système de Gestion de Base de Données Relationnelle

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

Réponse : 2. CREATE TABLE

Q4 : Quel type de fichier Oracle stocke les journaux des transactions ?

1. Fichier de données
2. Fichier de contrôle
3. Fichier de journalisation
4. Fichier temporaire

Réponse : 3. Fichier de journalisation


Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 5/15
Q5 : Quel outil Oracle est un IDE graphique pour interagir avec la base de données ?

1. SQL*Plus
2. SQL Developer
3. RMAN
4. Data Pump

Réponse : 2. SQL Developer

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

Réponse : 3. ALTER 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

Réponse : 3. PRIMARY KEY

Section 3 : PL/SQL

Q11 : Quelle section d’un bloc PL/SQL est optionnelle ?

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

Q13 : Que signifie DBMS dans DBMS_OUTPUT.PUT_LINE ?

1. Data Base Management System


2. Data Block Management System
3. Distributed Base Management System
4. Data Buffer Management System

Réponse : 1. Data Base Management System

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

Section 4 : Concepts avancés

Q16 : Quel type de curseur est automatiquement géré par Oracle ?

1. Curseur explicite
2. Curseur implicite
3. Curseur dynamique
4. Curseur statique

Réponse : 2. Curseur implicite

Q17 : Comment Oracle assure-t-il l'intégrité d'une transaction ?

1. Par les journaux de contrôle


2. Avec les fichiers de données
3. En utilisant COMMIT et ROLLBACK
4. Avec des vues matérialisées

Réponse : 3. En utilisant COMMIT et ROLLBACK

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

Q19 : Que retourne une fonction dans PL/SQL ?

1. Une table
2. Une exception
3. Une valeur unique
4. Une transaction

Réponse : 3. Une valeur unique

Q20 : Quelle commande permet d'afficher du texte à l'écran dans PL/SQL ?

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.

on utilise quoi pour la sauvegarde de postgresql?

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`

Utilisé pour sauvegarder une seule base de données.


Produit des fichiers de sauvegarde dans les formats suivants :
SQL (recréation des objets avec des commandes SQL)
Custom ou Tar (plus compact, plus rapide à restaurer avec `pg_restore`).

Commandes courantes :

bash

# Sauvegarde en format SQL


pg_dump -U username -d database_name -f backup.sql

# Sauvegarde en format custom


pg_dump -U username -d database_name -Fc -f backup.dump

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

pg_dumpall -U username -f all_databases_backup.sql

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 :

Plus lent pour les grandes bases de données.


Nécessite une restauration complète en cas de panne.

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`

Crée une sauvegarde physique cohérente de l'ensemble de la base de données.


Compatible avec la réplication.

Commandes courantes :

bash

# Sauvegarde de l'instance PostgreSQL


pg_basebackup -U replication_user -D /path/to/backup -Fp -Xs -P

Options importantes :

`-D` : spécifie le répertoire de sauvegarde.


`-Fp` : sauvegarde les fichiers en format `plain`.
`-Xs` : inclut les fichiers de journaux WAL.
`-P` : affiche la progression.

Utilisation de snapshots système

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

3. Archivage et journaux de transactions (WAL Archiving)

Pour les sauvegardes incrémentielles ou pour restaurer une base à un moment précis, utilisez
l'archivage des journaux WAL.

1. Configurer l'archivage WAL : Dans le fichier `postgresql.conf`, activez ces paramètres :

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.

4. Outils tiers pour les sauvegardes PostgreSQL

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

barman backup server_name

2. PgBackRest :
Sauvegardes physiques incrémentielles et compressées.
Très performant pour les bases de données volumineuses.

bash

pgbackrest --stanza=stanza_name backup

3. Wal-G :
Sauvegardes incrémentielles optimisées pour le cloud.
Intégration avec Amazon S3, Google Cloud Storage, etc.

Résumé des outils et cas d'utilisation

Outil Type Cas d'utilisation


`pg_dump` Sauvegarde logique Sauvegarde d'une seule base.
`pg_dumpall` Sauvegarde logique Sauvegarde de toutes les bases d'une instance.

`pg_basebackup` Sauvegarde physique Sauvegarde de grandes bases de données.


`Barman`, `PgBackRest` Physique avancée Gestion centralisée et haute disponibilité.
WAL Archiving Incrémentiel Restauration à un moment précis (PITR).

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

Outil : `Data Pump Export/Import` (`expdp` et `impdp`)

Outil recommandé pour les sauvegardes logiques dans Oracle Database.


Sauvegarde les schémas, tables, ou toute la base dans des fichiers de type dump (`.dmp`).
Permet également la sauvegarde sélective d’objets spécifiques (par exemple, une table ou un
schéma).

Commandes courantes :

bash

# Exporter un schéma
expdp user/password DIRECTORY=backup_dir DUMPFILE=backup_schema.dmp SCHEMAS=your_schema LOGF
ILE=backup.log

# Exporter toute la base


expdp user/password DIRECTORY=backup_dir DUMPFILE=backup_full.dmp FULL=Y LOGFILE=backup_ful
l.log

Pour restaurer :

bash

# Importer un schéma
impdp user/password DIRECTORY=backup_dir DUMPFILE=backup_schema.dmp LOGFILE=import.log

# Importer toute la base


impdp user/password DIRECTORY=backup_dir DUMPFILE=backup_full.dmp FULL=Y LOGFILE=import_ful
l.log

Outil : `Export/Import classique` (`exp` et `imp`)

Outil plus ancien, moins performant que Data Pump.


Toujours disponible pour des cas spécifiques ou des versions Oracle très anciennes.

Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 12/15
2. Sauvegarde physique

La sauvegarde physique consiste à copier les fichiers de données, de contrôle et de journaux de


transactions. Elle est utilisée pour les bases de données critiques où une restauration rapide est
nécessaire.

Outil : `RMAN` (Recovery Manager)

Outil standard et recommandé pour les sauvegardes physiques dans Oracle.


Supporte les sauvegardes complètes, incrémentielles, et les sauvegardes des journaux redo.

Commandes courantes avec RMAN :

Sauvegarde complète

bash

rman target /
BACKUP DATABASE FORMAT '/path/to/backup/%U.bkp';

Sauvegarde incrémentielle

Capture uniquement les blocs modifiés depuis la dernière sauvegarde.

bash

BACKUP INCREMENTAL LEVEL 1 DATABASE FORMAT '/path/to/backup/%U.bkp';

Sauvegarde des journaux redo

Sauvegarde les journaux redo archivés pour permettre la récupération point-in-time.

bash

BACKUP ARCHIVELOG ALL FORMAT '/path/to/backup/%U.arc';

Lister les sauvegardes disponibles

bash

LIST BACKUP;

Restaurer une base de données

Printed using Save ChatGPT as PDF, powered by PDFCrowd HTML to PDF API. 13/15
bash

RESTORE DATABASE;
RECOVER DATABASE;

Avantages de RMAN :

Gestion automatique des sauvegardes incrémentielles.


Peut être intégré avec des outils de sauvegarde tiers.
Restauration rapide, même pour des bases volumineuses.

3. Sauvegarde en ligne (Online Backup)

Si la base de données fonctionne en mode ARCHIVELOG, vous pouvez effectuer des sauvegardes sans
arrêter la base.

Étapes :

1. Activer le mode ARCHIVELOG :


Vérifiez si le mode est activé :

sql

ARCHIVE LOG LIST;

Si ce n’est pas le cas, activez-le :

sql

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;

2. Sauvegarder les fichiers (avec RMAN ou des outils tiers) :


Incluez les fichiers de données, les fichiers de contrôle, et les journaux redo archivés.

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

5. Outils tiers pour les sauvegardes Oracle

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 :

1. Oracle Recovery Manager (RMAN) :


Intégré à Oracle, il peut être couplé à Oracle Enterprise Manager.
2. NetBackup :
Utilisé pour automatiser et centraliser les sauvegardes Oracle.
3. Commvault :
Fournit des sauvegardes avancées pour les bases Oracle avec intégration RMAN.
4. Data Domain Boost (DD Boost) :
Compatible avec RMAN pour accélérer les sauvegardes physiques.

6. Sauvegardes avec Oracle Cloud

Outil : Oracle Cloud Infrastructure (OCI) Backup Service

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.

Résumé des outils et cas d'utilisation

Outil Type Cas d'utilisation


`Data Pump` (`expdp`) Sauvegarde logique Sauvegarder/exporter des objets ou schémas.

`RMAN` Sauvegarde physique Gestion avancée des sauvegardes physiques.


Export classique (`exp`) Sauvegarde logique Outil classique pour des bases anciennes.
Snapshots système Physique Rapide pour sauvegardes ponctuelles.

OCI Backup Service Cloud Bases hébergées dans Oracle 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

Vous aimerez peut-être aussi