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

Gestion des instances Oracle et connexions

Le document traite de la gestion d'une instance Oracle, détaillant les modes de démarrage (nomount, mount, open) et les connexions à la base de données. Il explique également les vues dynamiques comme V$THREAD, V$INSTANCE et V$PARAMETER, ainsi que les concepts de fichiers de paramètres (SPFILE et PFILE). Enfin, il aborde l'architecture multitenant d'Oracle, les commandes SQL pour interagir avec la base de données et les paramètres de mémoire tels que SGA et PGA.

Transféré par

Douaa Moussaoui
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)
3 vues15 pages

Gestion des instances Oracle et connexions

Le document traite de la gestion d'une instance Oracle, détaillant les modes de démarrage (nomount, mount, open) et les connexions à la base de données. Il explique également les vues dynamiques comme V$THREAD, V$INSTANCE et V$PARAMETER, ainsi que les concepts de fichiers de paramètres (SPFILE et PFILE). Enfin, il aborde l'architecture multitenant d'Oracle, les commandes SQL pour interagir avec la base de données et les paramètres de mémoire tels que SGA et PGA.

Transféré par

Douaa Moussaoui
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

TP1

Gestion d’une instance :

Mode nomount :

• Instance est démarrée


• Oracle crée les structures de mémoires SGA et démarre les processus d’arrière-plan.

Mode mount :

• Oracle lit le fichier de contrôle qui contient la structure physique de la base de données.
• Les fichiers de données et les fichiers de reprise (redo logs) sont connus, mais ne sont pas
encore accessible.

Mode open :

• Orale ouvre physiquement les fichiers de données et les fichiers journaux redo.
• La DB est complétement opérationnelle. Elle est prête à être utilisée.

Select open_mode from v$database : permet d’afficher le status de la base de données.

Startup = Startup nomount ;


Alter database mount ;
Alter database open ;
TP 2 :
Exercice 1 :

1 )

Connexion locale avec authentification OS

sqlplus / sys as sysdba

Connexion locale avec mot de passe

sqlplus sys/mon_mot_de_passe as sysdba

Connexion distante

sqlplus sys/mon_mot_de_passe@ORCL as sysdba

Vérification de la connexion

SHOW USER;

2)

select instance from v$thread;

V$THREAD : Cette vue dynamique fournit des informations sur les threads de redo logs. (ou
journaux de réexécution). == sont des fichiers essentiels qui enregistrent toutes les
modifications apportées aux données de la base de données, comme :

Enregistrer les modifications

Assurer la récupération

Sauvegarde et restauration ….

Instance : Cette colonne de la vue V$THREAD indique l'identifiant de l'instance associée au


thread.

3)

SPFILE (Server Parameter File) est un fichier binaire qui stocke les paramètres de
configuration de l'instance Oracle.

Il est dynamique : les modifications des paramètres peuvent être persistantes (sauvegardées
dans le fichier) sans avoir à redémarrer l'instance.

PFILE (Parameter File) est un fichier texte qui contient les paramètres de configuration de
l'instance.

Il doit être modifié manuellement, et les changements nécessitent un redémarrage de


l'instance pour prendre effet.
4)

V$INSTANCE : C'est une vue dynamique d'Oracle qui contient des informations sur l'instance
actuelle de la base de données.

STARTUP_TIME : C'est une colonne de la vue V$INSTANCE qui stocke l'heure à laquelle
l'instance a été démarrée.

9)

SELECT username FROM v$session


WHERE username IS NOT NULL
ORDER BY username ASC;
La requête retourne une liste de noms d'utilisateurs actuellement connectés à la base de
données, triés par ordre alphabétique.

v$session est une vue dynamique de performance. Elle contient des informations sur les
sessions actives dans la base de données. Chaque ligne correspond à une session (une
connexion) ouverte par un utilisateur ou un processus.

Exercice 2 :
Cette architecture représente une base de données Oracle multitenant (CDB) contenant
plusieurs pluggable databases (PDB). Chaque PDB a ses propres fichiers de données, mais
partage les ressources de la CDB, comme la SGA et les processus d'arrière-plan. Les fichiers
de contrôle et les journaux de reprise sont gérés au niveau de la CDB, tandis que les fichiers
de données sont spécifiques à chaque PDB.

Select banner from v$version; pour savoir la version de BD

Select name, cdb from v$database; pou verifier qu’il s’agit d’une cdb

Select name from v$containers; le contenue de cdb

Show con_name; pour savoir ou je suis

Show pdbs;

Alter session set container = NOMPDB;

Show con_name;

Select username from all_users order by 1;

1) select instance_name, name from v$instance, v$database;

instance_name : Le nom de l'instance de la base de données.

name : Le nom de la base de données.

FROM v$instance, v$database

v$instance : Une vue dynamique qui contient des informations sur l'instance actuelle de la
base de données.

v$database : Une vue dynamique qui contient des informations sur la base de données elle-
même.
2) Show con_name;

Root Container (CDB$ROOT) : C'est le conteneur racine qui contient les métadonnées et les
objets communs à toutes les PDB. Par exemple, les rôles, les profils, et les utilisateurs
communs sont stockés ici.

Seed PDB (PDB$SEED) : C'est un modèle de PDB utilisé pour créer de nouvelles PDB. Il est en
lecture seule et sert de "template".

3)

4)

La vue v$pdbs dans Oracle est une vue dynamique (V$) qui fournit des informations sur
les Pluggable Databases (PDBs) au sein d'un Container Database (CDB).

La vue v$pdbs contient plusieurs colonnes, dont les plus importantes sont :

• CON_ID : L'identifiant du conteneur (PDB).

• DBID : L'identifiant unique de la base de données.

• NAME : Le nom de la PDB.

• OPEN_MODE : Le mode d'ouverture de la PDB (par exemple, READ WRITE, READ


ONLY, MOUNTED).

• RESTRICTED : Indique si la PDB est en mode restreint (YES ou NO).

• OPEN_TIME : L'heure à laquelle la PDB a été ouverte.

• CREATION_TIME : L'heure à laquelle la PDB a été créée.

5)

sys_context : C'est une fonction intégrée dans Oracle qui permet de récupérer des
informations spécifiques sur l'environnement de la session actuelle. Elle prend deux
arguments :

USERENV : C'est un namespace spécial qui contient des informations sur l'environnement de
l'utilisateur actuel. Par exemple, on peut obtenir le nom de la base de données, le nom du
schéma de l'utilisateur, le nom du conteneur, etc.

'CON_NAME' : Il s'agit de la clé dans le namespace 'USERENV' qui donne le nom du


conteneur actuel. Dans une architecture Oracle multitenant (CDB/PDB), un conteneur fait
référence à un CDB (Container Database) ou un PDB (Pluggable Database).

On utilise la table dual pour récupérer des informations système, comme la date courante ou
le nom de l'utilisateur.

6)
7)

RESTRICTED : (Optionnel) Restreint l'accès à la PDB aux utilisateurs ayant le privilège


RESTRICTED SESSION. Utile pour des tâches administratives ou de maintenance.

FORCE : (Optionnel) Force l'ouverture de la PDB même en cas d'erreurs ou de problèmes.

SELECT name, open_mode, restricted

FROM v$pdbs

WHERE name = 'PDBORCL';

8)

C:\app\User11\product\12.1.0\dbhome_1\NETWORK\ADMIN\[Link]

Verifier la connexion ;

SELECT sys_context('USERENV', 'SESSION_USER') AS connected_user

FROM dual;

Compte HR:

Alter user hr identified by hr account unlock


cette commande modifie l'utilisateur hr en changeant son mot de passe en hr et en
déverrouillant son compte s'il était verrouillé.

Le compte HR est un compte d'utilisateur par défaut dans les bases de données Oracle. Il est
souvent utilisé comme un exemple ou un schéma de démonstration dans les installations
Oracle.

INSERT INTO REGIONS (region_id, region_name)

VALUES (5, 'mars');

La requête INSERT INTO regions VALUES (5, 'Mars'); tente d'insérer une ligne dans la table
regions. Le résultat dépend de la structure de la table, des contraintes existantes et des
données déjà présentes. Pour éviter des erreurs, il est préférable de spécifier explicitement
les colonnes cibles et de vérifier les contraintes avant l'insertion.
TP3
1)

2)

3)

Le paramètre processes contrôle le nombre total de processus système (utilisateurs et


processus d'arrière-plan) qui peuvent se connecter à l'instance Oracle.

Si ce nombre est dépassé, de nouvelles connexions seront refusées jusqu'à ce que des
processus se déconnectent.

SCOPE=SPFILE : Cette option indique que la modification est appliquée uniquement au


SPFILE. Elle ne prendra effet qu'après un redémarrage de la base de données.

La vue V$PARAMETER affiche les paramètres actuellement en vigueur dans l'instance. La


valeur affichée sera celle qui est actuellement en vigueur. Si vous n'avez pas encore
redémarré la base de données, cette valeur n'aura pas changé.

La vue V$SPPARAMETER affiche les paramètres définis dans le SPFILE. La valeur affichée
sera la nouvelle valeur que vous avez définie (par exemple, 500). Cela montre que la
modification a bien été enregistrée dans le SPFILE, mais elle n'est pas encore appliquée.

• V$PARAMETER reflète les paramètres actuellement en vigueur.

• V$SPPARAMETER reflète les paramètres définis dans le SPFILE.

4) v$parameter :

La valeur affichée sera maintenant la nouvelle valeur (par exemple, 500), car elle est
appliquée.

V$sparameter ;

La valeur sera également la nouvelle valeur (par exemple, 500), car elle est définie dans le
SPFILE.

Les modifications avec SCOPE=SPFILE nécessitent un redémarrage pour être appliquées.

5)

Un curseur est une structure de contrôle utilisée par Oracle pour :

• Exécuter une requête SQL.

• Parcourir les résultats de cette requête.

• Manipuler les lignes retournées (lire, modifier, supprimer).


Les curseurs permettent de traiter les données ligne par ligne, ce qui est particulièrement
utile pour les opérations complexes ou itératives.

• V$PARAMETER : Affiche la valeur actuellement en vigueur.

• V$SPPARAMETER : Affiche la valeur définie dans le SPFILE (qui sera appliquée au


prochain redémarrage).

• V$SYSTEM_PARAMETER : Affiche la valeur actuelle ainsi qu'une description du


paramètre.

6)

SCOPE=MEMORY : La modification est appliquée uniquement à l'instance en cours.

La vue V$PARAMETER affiche les paramètres actuellement en vigueur dans l'instance.

La vue V$SPPARAMETER affiche les paramètres définis dans le SPFILE.

La vue V$SYSTEM_PARAMETER affiche des informations qui reflètent l'état actuel de


l'instance.

7)

Toutes les vues afficheront à nouveau la valeur du SPFILE (300), car la modification en
mémoire est temporaire.

Cela montre clairement la différence entre les modifications temporaires (mémoire) et


permanentes (SPFILE).

8)

SESSIONS : Il spécifie le nombre maximum de sessions pouvant être créées dans le


système

show parameter sessions ;

TRANSACTIONS : Il spécifie le nombre maximum de transactions simultanées

show parameter transactions ;

SCOPE=SPFILE : Modifie uniquement le SPFILE. La modification prend effet après un


redémarrage.

SCOPE=MEMORY : Modifie uniquement la mémoire (instance en cours). La modification


est temporaire et sera perdue au redémarrage.

SCOPE=BOTH : Modifie à la fois la mémoire et le SPFILE. La modification est immédiate et


persistante.

9)
ALTER SYSTEM : Indique que vous modifiez un paramètre au niveau du système.

RESET processes : Réinitialise le paramètre processes à sa valeur par défaut ou supprime


sa valeur personnalisée.

SCOPE=SPFILE : Spécifie que la modification doit être appliquée uniquement au SPFILE.

SID='*' : Applique la modification à toutes les instances (utile dans un environnement


Oracle RAC).

Exercice 2 :
1)

DB_BLOCK_SIZE est un paramètre critique dans Oracle qui définit la taille des blocs de
données (en octets) utilisés pour stocker les données dans la base de données.

2)

La commande SHOW PARAMETER SGA; est utilisée dans Oracle pour afficher les
paramètres d'initialisation liés à la SGA (System Global Area).

• La SGA est une zone de mémoire partagée utilisée par l'instance Oracle pour stocker
des données et des structures de contrôle nécessaires au fonctionnement de la base
de données.

1. sga_max_size :

o Définit la taille maximale de la SGA pour l'instance Oracle.

o Cette valeur ne peut pas être dépassée, même si la mémoire est disponible.

2. sga_target :

o Définit la taille cible de la SGA.

o Oracle ajuste automatiquement les composants de la SGA (comme le buffer


cache, le shared pool, etc.) en fonction de cette valeur.

3. lock_sga :

o Si activé (TRUE), Oracle verrouille la SGA en mémoire physique pour éviter


qu'elle ne soit paginée sur le disque.

4. pre_page_sga :

o Si activé (TRUE), Oracle charge la SGA en mémoire au démarrage de l'instance,


ce qui peut améliorer les performances initiales.

3)
La commande SHOW PARAMETER PGA; permet d'afficher les paramètres d'initialisation
qui contrôlent la taille et le comportement de la PGA. (Program Global Area).

pga_aggregate_target :

❖ Définit la taille totale de la mémoire PGA allouée à toutes les sessions


utilisateur.

❖ Oracle ajuste automatiquement la mémoire allouée à chaque session en


fonction de cette valeur.

4)

V$option permet de lister toutes les options (ou fonctionnalités) disponibles dans la base
de données Oracle.

Pour chaque option, elle indique si elle est activée (TRUE) ou désactivée (FALSE).

Différence entre V$OPTION et V$PARAMETER

➢ V$OPTION : Liste les options (fonctionnalités) disponibles et leur état


(TRUE ou FALSE).

➢ V$PARAMETER : Liste les paramètres d'initialisation de la base de données et leurs


valeurs (par exemple, sga_target, pga_aggregate_target, etc.).

5)

Les fichiers de contrôle sont des fichiers critiques qui stockent des informations essentielles
sur la structure et l'état de la base de données comme :

Structure de la base de données :

➢ Noms et emplacements des fichiers de données (data files).

➢ Noms et emplacements des fichiers de redo log (redo log files).

État de la base de données :

➢ Numéro de séquence actuel des redo logs.

➢ Informations sur les sauvegardes et les restaurations.

Synchronisation :

➢ Les fichiers de contrôle sont utilisés pour synchroniser les différentes


instances dans un environnement Oracle RAC (Real Application Clusters).

6)
La requete permet de rechercher et d'afficher des informations sur les paramètres
d'initialisation liés à la mémoire qui ont un nom correspondant au motif memory%target ( c
a d les paramètres dont le nom commence par memory et se termine par target).

Ces paramètres contrôlent la gestion de la mémoire dans Oracle, comme la taille de


la SGA (System Global Area) ou de la PGA (Program Global Area).

• NAME : Le nom du paramètre (par exemple, memory_max_target, memory_target).

• VALUE : La valeur actuelle du paramètre (par exemple, 2G, 1G).

• TYPE : Le type de données du paramètre (par exemple, big integer).

• ISSYS_MODIFIABLE : Indique si le paramètre peut être modifié pendant que la base


de données est en cours d'exécution.

❖ IMMEDIATE : Le paramètre peut être modifié immédiatement.

❖ FALSE : Le paramètre ne peut pas être modifié sans redémarrer la base de


données.

• ISINSTANCE_MODIFIABLE : Indique si le paramètre peut être modifié pour une


instance spécifique dans un environnement Oracle RAC.

❖ TRUE : Le paramètre peut être modifié pour une instance spécifique.

❖ FALSE : Le paramètre s'applique à toutes les instances.

7)

La requete permet de lister les processus actifs dans la base de données Oracle, en filtrant
uniquement ceux qui ont un nom de processus (pname) non nul.

• spid : L'identifiant du processus système (System Process ID). Il s'agit de l'identifiant


du processus au niveau du système d'exploitation.

• stid : L'identifiant du thread système (System Thread ID). Cette colonne est
principalement utilisée sur les systèmes Windows.

• execution_type : Le type d'exécution du processus (par exemple, "BACKGROUND"


pour les processus en arrière-plan ou "USER" pour les processus utilisateur).

• pname : Le nom du processus (par exemple, "PMON", "DBW0", "LGWR", etc.).

quelques exemples de processus :

1. PMON (Process Monitor) :

❖ Gère la récupération des processus utilisateur en cas de défaillance.

2. DBW0 (Database Writer) :


❖ Écrit les données modifiées depuis le buffer cache vers les fichiers de
données.

3. LGWR (Log Writer) :

❖ Écrit les entrées du redo log buffer vers les fichiers de redo log.

4. SMON (System Monitor) :

❖ Gère la récupération de l'instance et nettoie les segments inutilisés.

Exemple concret dans Oracle

• Processus système :

▪ Dans Oracle, chaque session utilisateur ou processus en arrière-plan


(comme PMON, DBW0, etc.) est un processus système distinct.

▪ Par exemple, si un utilisateur se connecte à la base de données, un nouveau


processus est créé pour gérer sa session.

• Thread système :

▪ Sur les systèmes Windows, Oracle utilise des threads pour gérer les sessions
utilisateur et les processus en arrière-plan.

▪ Par exemple, un seul processus Oracle peut contenir plusieurs threads pour
gérer plusieurs sessions.

8)

protection_mode

• Indique le mode de protection des données, qui détermine comment les données
sont protégées en cas de défaillance. Les valeurs possibles sont :

➢ MAXIMUM PERFORMANCE : Priorité aux performances, avec une protection


minimale des données.

➢ MAXIMUM AVAILABILITY : Équilibre entre performances et protection des


données.

➢ MAXIMUM PROTECTION : Priorité à la protection des données, avec une


redondance maximale.

database_role

• Indique le rôle de la base de données dans un environnement de haute disponibilité.


Les valeurs possibles sont :

➢ PRIMARY : La base de données est la base de données principale.


➢ PHYSICAL STANDBY : La base de données est une base de données standby
physique.

➢ LOGICAL STANDBY : La base de données est une base de données standby


logique.

Différence entre Physical Standby et Logical Standby

• Physical Standby :

➢ Copie exacte au niveau des blocs de données.

➢ Applique les redo logs directement.

➢ Utilisée principalement pour la haute disponibilité et la reprise en cas des


problèmes .

• Logical Standby :

➢ Copie logique des données (les données sont transformées en instructions


SQL).

➢ Applique les modifications sous forme d'instructions SQL.

➢ Permet d'exécuter des requêtes de lecture/écriture tout en étant


synchronisée avec la base de données principale.

9)

1. V$CONTROLFILE

Cette vue contient des informations sur les fichiers de contrôle de la base de données.

SELECT name, status, block_size FROM V$CONTROLFILE;

2. V$DATAFILE

Cette vue contient des informations sur les fichiers de données (data files) de la base de
données. Les fichiers de données stockent les données réelles des tables, index, etc.

SELECT file#, name, status, bytes/1024/1024 AS size_mb FROM V$DATAFILE;

3. V$TABLESPACE

Cette vue contient des informations sur les tablespaces de la base de données. Un
tablespace est un conteneur logique pour les fichiers de données.

SELECT ts#, name, bigfile, status FROM V$TABLESPACE;

4. V$LOGFILE
Cette vue contient des informations sur les fichiers de redo log (journaux de restauration).
Les fichiers de redo log enregistrent toutes les modifications apportées aux données pour
permettre la récupération en cas de défaillance.

SELECT group#, member, status FROM V$LOGFILE;

Vous aimerez peut-être aussi