TP4
Partie1:
Exercice 1:
Exercice 2 : OracleNet:
1. Laquelle de ces affirmations est vraie ? Réponse correcte C:
● OracleNet réside aussi bien sur les applications client que sur le serveur
de base de données
2. L'architecture d’OracleNet est basée sur laquelle des architectures suivantes ?
Réponse correcte B:
● OSI
3. Pour configurer le client, lequel de ces fichiers utilisez-vous ? Réponse
correcte: D
● tnsnames.ora
4. Quel est le répertoire où se trouvent les fichiers de configuration ? Réponse
correcte : B
● %ORACLE_HOME%\network\admin
Exercice 3 :
1. En utilisant soit Sql-plus ou Sql-developer, étudiez les commandes
ci-dessous et essayez de les définir :
show parameter;
➢ La commande SHOW PARAMETER permet d'afficher les valeurs des
paramètres d'initialisation de la base de données. Ces paramètres définissent le
comportement de l'instance Oracle.
show parameter db_name ;
➢ Affiche le nom de la base de données.
show parameter instance_name;
➢ La commande SHOW PARAMETER INSTANCE_NAME permet d'afficher
la valeur du paramètre instance_name, qui spécifie le nom de l'instance de la
base de données actuellement utilisée.
show parameter service;
➢ La commande SHOW PARAMETER SERVICE permet d'afficher la valeur
du paramètre service_names, qui définit les noms des services de base de
données associés à l'instance Oracle.
show parameter service_names;
➢ La commande SHOW PARAMETER SERVICE_NAMES permet d'afficher
la valeur du paramètre SERVICE_NAMES, qui contient les noms des services
associés à l'instance Oracle.
show parameter dispatchers;
➢ La commande SHOW PARAMETER DISPATCHERS permet d'afficher la
valeur du paramètre dispatchers, qui configure le nombre et les types de
processus dispatchers dans une base de données Oracle. Les dispatchers sont
utilisés dans une architecture Oracle Shared Server pour gérer les connexions
des utilisateurs de manière plus efficace, en servant de médiateurs entre les
clients et les processus serveurs.
show parameter db_block_size;
➢ La commande SHOW PARAMETER DB_BLOCK_SIZE permet d'afficher
la valeur du paramètre DB_BLOCK_SIZE, qui définit la taille du bloc de
données de la base de données Oracle.
➢ Le bloc de données est l'unité de stockage de base dans Oracle, et cette taille a
un impact sur la gestion de la mémoire et des performances de la base de
données.
show parameter db_cache_size;
➢ La commande SHOW PARAMETER DB_CACHE_SIZE permet d'afficher la
valeur du paramètre DB_CACHE_SIZE, qui spécifie la taille totale de la
mémoire allouée au cache de la base de données (ou cache de buffer). Ce cache
est utilisé pour stocker les blocs de données récemment utilisés afin d'améliorer
les performances d'accès aux données.
show parameter shared_pool_size
➢ La commande SHOW PARAMETER SHARED_POOL_SIZE permet
d'afficher la valeur du paramètre SHARED_POOL_SIZE, qui définit la taille
de la shared pool. La shared pool est une zone de mémoire utilisée pour stocker
les objets partagés tels que les instructions SQL, les curseurs, les structures de
gestion de la mémoire et d'autres objets partagés entre les sessions de base de
données.
show parameter log_buffer;
➢ La commande SHOW PARAMETER LOG_BUFFER permet d'afficher la
valeur du paramètre LOG_BUFFER, qui spécifie la taille du tampon de
journalisation (log buffer). Ce tampon est utilisé pour stocker temporairement
les informations de journalisation avant qu'elles ne soient écrites dans les
fichiers de journal (redo log files).
show parameter session ;
➢ La commande SHOW PARAMETER SESSION permet d'afficher les
paramètres relatifs à la session actuelle. Cela inclut des informations sur
la configuration et les ressources associées à la session de l'utilisateur
connecté à la base de données.
select view_name from dba_views;
Cette commande permet de récupérer les noms de toutes les vues présentes dans la
base de données Oracle.
DBA_VIEWS est une vue du dictionnaire de données qui contient des informations
sur les vues dans la base de données. Elle est accessible aux utilisateurs ayant des
privilèges d'administrateur (DBA).
La colonne VIEW_NAME affiche les noms des vues.
Cette commande est utile pour lister toutes les vues dans l'ensemble de la base de
données Oracle, mais elle nécessite des privilèges suffisants.
select instance_name from v$instance ;
Cette commande permet d'afficher le nom de l'instance de la base de données Oracle
actuellement en cours d'exécution.
V$INSTANCE est une vue dynamique de performance qui contient des informations
sur l'instance Oracle en cours, telles que le nom de l'instance, le statut, le numéro
d'instance, et d'autres détails relatifs à l'instance Oracle.
La colonne INSTANCE_NAME contient le nom de l'instance de la base de données.
Cette commande est utile pour obtenir des informations sur l'instance active, en
particulier dans un environnement avec plusieurs instances de base de données.
select name from v$database;
Cette commande permet d'afficher le nom de la base de données Oracle à laquelle
vous êtes actuellement connecté.
V$DATABASE est une vue dynamique de performance qui contient des informations
sur la base de données, comme son nom, son statut, son mode d'archivage, etc.
La colonne NAME contient le nom de la base de données Oracle.
Cette commande est utile pour connaître le nom de la base de données dans laquelle
vous travaillez, notamment lorsque vous êtes connecté à une base dans un
environnement multi-base de données.
select * from dba_services;
Cette requête permet de récupérer toutes les informations sur les services de base de
données dans Oracle.
DBA_SERVICES est une vue du dictionnaire de données qui contient des
informations sur tous les services Oracle configurés dans la base de données. Un
service Oracle est une unité logique qui permet aux clients de se connecter à une base
de données via un nom de service.
La vue DBA_SERVICES contient des colonnes telles que le nom du service, le statut
du service, l'instance associée, et d'autres détails sur la gestion des services.
Cette commande nécessite des privilèges d'administrateur de base de données (DBA),
car DBA_SERVICES contient des informations sur tous les services dans la base de
données. Si vous n'avez pas ces privilèges, vous pouvez utiliser ALL_SERVICES ou
USER_SERVICES pour obtenir des informations limitées.
select * from dba_tables ;
Cette requête permet de récupérer toutes les informations sur les tables de la base de
données Oracle.
DBA_TABLES est une vue du dictionnaire de données qui contient des informations
sur toutes les tables présentes dans la base de données Oracle. Elle est accessible aux
utilisateurs disposant de privilèges d'administrateur de base de données (DBA).
La vue DBA_TABLES fournit des détails tels que le nom de la table, le schéma
auquel elle appartient, son espace de tables, son statut, etc.
Cette commande est utile pour obtenir des informations sur toutes les tables de la base
de données Oracle, mais elle nécessite des privilèges suffisants. Si vous n'avez pas ces
privilèges, vous pouvez utiliser ALL_TABLES ou USER_TABLES pour accéder
aux informations sur les tables auxquelles vous avez accès.
select * from dba_all_tables ;
Cette commande permet de récupérer toutes les informations sur les tables accessibles
par l'utilisateur actuel dans la base de données Oracle.
DBA_ALL_TABLES est une vue du dictionnaire de données qui contient des
informations sur toutes les tables dans la base de données Oracle auxquelles
l'utilisateur a accès. Cela inclut les tables appartenant à d'autres utilisateurs auxquels
l'utilisateur a des privilèges d'accès.
Cette vue contient des détails tels que le nom de la table, le schéma auquel elle
appartient, l'espace de tables, le statut, etc.
Contrairement à DBA_TABLES, qui liste toutes les tables dans la base de données
(accessible aux utilisateurs ayant des privilèges d'administrateur),
DBA_ALL_TABLES limite l'accès aux tables que l'utilisateur peut voir.
Cela peut être utile lorsque vous avez des privilèges spécifiques ou des rôles qui vous
permettent de voir certaines tables dans différents schémas.
2. Comparer les résultats des commandes ci-dessus avec les données
enregistrées dans (SPFile(nomDataBase).ORA dans
%ORACLE_HOME%\database) et (PFile/init.ora)
Commandes SQL : Montrent l'état actuel de la base de données, telles que les tables,
les vues et les paramètres de session.
SPFile/PFile : Contiennent les paramètres de configuration de la base de données
définis au démarrage, qui influencent le comportement général de la base de données.
Les paramètres dans SPFile ou PFile correspondent à ceux récupérés par certaines
commandes SQL (comme SHOW PARAMETER), mais les résultats des
commandes SQL peuvent refléter des modifications en temps réel, alors que les
fichiers de configuration sont utilisés lors du démarrage de la base.
Exercice 4 : TNSNAMES.ORA & LISTENER.ORA
➔ Fichier tsnames avant modifications:
➔ NET Manager avant modifications:
➔ Fichier tsnames après modifications:
➔ NET Manager après modifications:
C:\Users\Windownet>tnsping dbaagadir
TNS Ping Utility for 64-bit Windows: Version 19.0.0.0.0 -
Production on 12-DEC-2024 23:37:58
Copyright (c) 1997, 2019, Oracle. All rights reserved.
Used parameter files:
C:\app\oracle-19c\db_home\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT =
1524))) (CONNECT_DATA = (SERVER = DEDICATED)
(SERVICE_NAME = dbaAgadir)))
TNS-12541: TNS:no listener
Exercice 5:
Configuration manuelle
1. Ajoutez manuellement un nouveau processus d’écoute « dbaAgadir »
dans le fichier Listener.ora
AGADIRLISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Samsung-A02)(PORT
= 1526))
)
C:\Users\Windownet> lsnrctl start AGADIRLISTENER;
LSNRCTL for 64-bit Windows: Version 19.0.0.0.0 -
Production on 12-DEC-2024 23:52:17
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Starting tnslsnr: please wait...
TNSLSNR for 64-bit Windows: Version 19.0.0.0.0 -
Production
System parameter file is
C:\app\oracle-19c\db_home\network\admin\listener.ora
Log messages written to
C:\app\oracle-19c\db_home\network\log\listener.log
The listener AGADIRLISTENER has been successfully
started.
listener.log
12-DEC-2024 23:52:17 *
(CONNECT_DATA=(SID=AGADIR))(CID=(PROGRAM=)(HOST=Windownet
)(USER=Windownet)) * establish * AGADIRLISTENER * 0
12-DEC-2024 23:52:17 *
(CONNECT_DATA=(SID=AGADIR))(CID=(PROGRAM=)(HOST=Windownet
)(USER=Windownet)) * end
12-DEC-2024 23:52:17 *
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=l
ocalhost)(PORT=1521)))) *
(CONNECT_DATA=(SERVICE_NAME=AGADIRDB)) * establish *
AGADIRLISTENER * 0
12-DEC-2024 23:52:18 *
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=l
ocalhost)(PORT=1521)))) *
(CONNECT_DATA=(SERVICE_NAME=AGADIRDB)) * end
12-DEC-2024 23:52:18 * Starting TNSLSNR for 64-bit
Windows: Version 19.0.0.0.0 - Production
12-DEC-2024 23:52:18 * Listening on:
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=W
indownet)(PORT=1521))))
12-DEC-2024 23:52:18 *
(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)) *
established with client: 192.168.1.10
12-DEC-2024 23:52:18 * TNS-12560: TNS:protocol adapter
error
12-DEC-2024 23:52:19 * TNS-00530: Protocol adapter error
12-DEC-2024 23:52:19 * Listener started successfully.
Oui, le port est modifié dans Oracle Net Manager après le changement de la
valeur du port dans le fichier tnsnames.ora.
● Editez le fichier tnsnames.ora et ajoutez une nouvelle adresse qui décrit le nouveau
processus d’écoute « dbaAgadir »
• Vérifiez la connexion à la base de données avec les deux processus d’écoute
(Tnsping bdcasa)
Exercice 5 : LISTENER.ORA
Assurez que votre ordinateur contenant une base de données Oracle
• Créer un listener (listenernn : le nom à définir) en utilisant Oracle Net Manager
(Assistant Configuration Oracle Net)
• Le listener doit être configuré uniquement sur le protocole TCP/TP et également afin
de recevoir des communications sur un port (à spécifier)
Configuration manuelle
Partie 2
Soit le schéma global de la gestion des projets pour la société :
EMPLOYE(Matr, NomE, Poste, DatEmb, Salaire, Commission, NumDept)
DEPT (NumDept, NomDept, Lieu)
PROJET (CodeP, NomP)
PARTICIPATION (Matr, CodeP, Fonction)
Création du schéma global :
1. Créer un compte utilisateur appelé « admin »
2. Assigner à l’utilisateur « admin » les droits de connexion, de création,
modification et la suppression des tables, aussi les droits de sélection, modification et
la suppression des données.
3. Accéder au compte « admin » et créer le schéma en dessus
Demarage de LISTENER1 de CASA_DB