SQL plus:
1. Sqlplus /no log -> démarré SQL plus sans connexion
2. Conn sys/Oracle123@cdb as sysdba -> connexion en tant qu’administrateur dans conteneur CDB
avec tous les droits d'administration.
3. Show pdbs -> l'affiche tous les PCB dans notre base de données que ça soit PDB$SEED et tous
les autres PDG créant par l'administrateur.
4. Select name from v$datafile -> la requête pour afficher les fichiers de données.
5. Select name from v$controlfile -> La requête pour afficher les fichiers de contrôle.
6. Select member from v$logfile -> La requête pour afficher les fichiers journaux.
7. Select name from v$datafile UNION Select name from v$controlfile UNION Select member from
v$logfile -> La requête pour afficher tous les fichiers de la base.
ORACLE NET SERVICES :
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
1. SQLnet.ora :
a) Syntaxe de la connexion à la base de données Easy connect (EZCONNECT) o
Connect utilisateur/password@//machine:port/service_name
o // : c’est une option lors d’une connexion via URL o
Machine : le nom de la machine hôte ou l’adresse IP o Port
: port du processus LISTENER ; par défaut 1521 o
Service_name : nom de la BD et le nom du domaine
C:\>sqlplus /nolog connect
system/Oracle123@localhost/cdb Où
connect system/Oracle123@localhost:1521/cdb
2. Tnsnames.ora :
a) Syntaxe de la connexion à la base de données TNSNAMES
C:\>sqlplus /nolog connect
system/Oracle123@cdb
3. Listener.ora:
Instance:
1. Show parameter spfile ; -> Pour afficher l'emplacement du fichier spfile
2. Création du fichier spfile ou du fichier pfile
CREATE { spfile | pfile } FROM { pfile | spfile }
3. Modifier les paramètres du fichier
Pfile : modification dans un éditeur de texte.
Spfile : Modification par la commande :
o ALTER {SYSTEM | SESSION | RESET | SET paramétre = valeur
[SCOPE = MEMORY | SPFILE | BOTH]
4. 1> Démarrage ta3 instance (nomount):
. Lecture du fichier de paramètres d'initialisation.
. Allocation de la mémoire our la SGA.
. Démarrage des processus d'arriére plan.
. Ouverture des fichiers de trace et d'alerte.
2> Montage de la db (mount) :
. Associer la BD å l'instance démarrée.
. Rechercher et ouvrir les fichiers de contrôle spécifiés.
. Lecture des fichiers de contrôle pour obtenir le nom et le statut des fichier de données et des fichiers
journaux.
. Oracle monte les PDBs et PDB$SEED.
3> Ouverture de la BD (open) :
. Oracle vérifie que les fichiers de données et les fichiers journaux puissent étre ouverts.
. Oracle ouvre PDB$SEED.
. Oracle monte ou ouvre Ies PDBs.
. Les utilisateurs valident de la BD peuvent se connecter et accéder aux données
5.
6. Alter database {mount | nomount | open} -> Pour modifier l'état d'un base de donnée
7. ALTER PLUGGABLE DATABASE CLOSE [IMMEDIATE]; ->Pour fermer les pdbs
8. Tous les commandes de la vidéo d'instance :
9. Select user from dual -> Pour afficher l'utilisateur connecter à la base 10. Select parameter
db_name -> Pour afficher le nom de la base
11. Show con_name -> Pour connaître le nom du conteneur.
12. Show con_id -> Pour afficher le id de chaque container
13.
14.
15.
16.
CONTROLE FILE :
1.
2. Show parameter control_file or select name v$controlfile ; Pour voir l'emplacement des fichiers
de contrôle
3. Création du fichier de contrôle d'après le trce
4. Multiplexer un fichier de contrôle :
select name from v$controlfile;
alter system set control_files=”c:\..... control01.ctl”, =”c:\..... control02.ctl”,
”c:\test.ctl” scope=spfile;
shutdown immediate
Host copy c:\.....control01.ctl c:\test.ctl. Startup.
5. Pour démarrer la base avec un seul fichier de contrôle
LOGFILE :
->retourner l'emplacement: select member from v$logfile;
->decrire la vue: desc v$logfile;
->recuperer les numeros de groupes et les chemins: select group#, member from v$logfile;
->recuperer les numeros des groupes: select group# from v$logfile;
->les infos sur les groupes: desc v$log;
->les infos sur le fichier journal: select * from v$log;
->select group#,sequence#,status from v$log;
->forcer logwriter à passer au grp suivant: alter system switch logfile;
->savoir le mode de journalisation: archive log list; OR select log_mode from v$database;
->passer au mode noarchivelog: alter database noarchivelog;
->afficher la valeur d'un parametre: show parameter: log_archive_dest1;
->definir l'emplacement des fichiers journaux: alter system set log_archive_dest1='location=C:\ISI2'
scope=both;
->creer une tablespace: create tablespace ts1 datafile 'c: \isi2\1.dbf' size 50m;
->creer une table: create table T1 tablespace ts1 as select * from tab;
->inserer des donnees: insert into t1 select * from t1;
->conter les element de t1: select count(*) from t1;
->supprimer le fichier: host del C:\ISI2\1.DBF
->recreer le fichier: alter create datafile 'C:\ISI2\1.DBF';
->lancer la recuperartion: recover automatic database;
->creer un autre groupe: alter database
add logfile group 4 'c:\isi2\logisi2.log' size 50M
->ajouter un membre à un grp: alter database
add logfile member
'C:\ISI2\LOGISI3.LOG' to group 4;
->ajuster l'affichage: column member format a50;
->forcer un point de controle: alter system checkpoint;
->suppression d'un groupe: Alter database
Drop logfile group 4;
Exercices Année universitaire 2022/2023
Voici les réponses à vos questions :
1. Pour vous connecter en tant qu'administrateur :
a. Au conteneur de base de données "CDB" :
```
sqlplus / as sysdba or sqlplus /nolog next conn sys/Oracle123@cdb as sysdba
```
b. À la pluggable database "pdb1" :
```
sqlplus sys/Oracle123@pdb1 as sysdba
```
2. Pour afficher les pluggable databases :
```
SELECT name FROM v$pdbs; or show pdbs;
```
3. Pour fermer les pluggable databases :
```
ALTER PLUGGABLE DATABASE pdb1 CLOSE;
```
4. Pour afficher :
b. L'emplacement des fichiers journaux archivés :
```
SELECT name FROM v$archive_dest;
```
c. L'emplacement des fichiers de contrôle :
```
SELECT name FROM v$controlfile;
```
5. Pour multiplexer les fichiers de contrôle vers les nouvelles destinations :
```
Host copy ‘C:\Oracle\control01.ctl’ 'C:\ISGA\CTL01.CTL';
Host copy ‘C:\Oracle\control02.ctl’ 'C:\ISGA\CTL02.CTL';
```
6. Pour afficher le mode de journalisation de la base de données Oracle :
```
SELECT log_mode FROM v$database;
```
7. Pour passer la base en mode "archivelog" et générer deux fichiers journaux archivés dans des
destinations différentes :
```
Shutdown immediate;
Startup mount;
ALTER DATABASE ARCHIVELOG;
```
8. Créer un tablespace de deux fichiers de données respectivement de tailles 50M et
60M:
…
CREATE TABLESPACE mon_tablespace
DATAFILE '/chemin/vers/fichier1.dbf' SIZE 50M,
'/chemin/vers/fichier2.dbf' SIZE 60M;
9. Agrandir le tablespace créé précédemment:
ALTER DATABASE DATAFILE '/chemin/vers/fichier1.dbf' RESIZE 100M;
10. Déplacer le tablespace vers un autre emplacement:
ALTER TABLESPACE mon_tablespace
RENAME DATAFILE '/chemin/vers/fichier1.dbf' TO '/nouveau/chemin/fichier1.dbf';
11. Créer un tablespace avec une taille de bloc différente de la taille du bloc par
défaut:
CREATE TABLESPACE mon_autre_tablespace
DATAFILE '/chemin/vers/fichier3.dbf' SIZE 80M
BLOCKSIZE 8192; -- Taille de bloc différente de la valeur par défaut ;
12. Afficher tous les fichiers d'un CDB (DBF, CTL, LOG):
SELECT * FROM DBA_DATA_FILES;
SELECT * FROM DBA_CONTROL_FILES;
SELECT * FROM V$LOGFILE;
13. Créer et agrandir un tablespace BigFile:
CREATE BIGFILE TABLESPACE mon_bigfile_tablespace
DATAFILE '/chemin/vers/bigfile.dbf' SIZE 100M;
ALTER DATABASE DATAFILE '/chemin/vers/bigfile.dbf' RESIZE 200M;
14. Afficher les groupes d'une BD Oracle:
SELECT * FROM V$LOG;
15. Ajouter le groupe 5 de deux membres.
ALTER DATABASE ADD GROUP 5 ('member1', 'member2');
16. Ajouter un autre membre au groupe 5.
ALTER DATABASE ADD MEMBER '/nouveau/chemin/nouveau_membre.dbf' TO GROUP 5;
17. La figure suivante montre l’état initial du mode OMF d’une BD d’Oracle 21c. Les
questions de « b » à « d » sont dépendantes c’est-à-dire que chaque question dépend
des questions précédentes.
a. Ecrire le code qui permet la création d’un tablespace de deux fichiers de données
CREATE TABLESPACE mon_tablespace
DATAFILE '/chemin/vers/fichier1.dbf' SIZE 50M,
'/chemin/vers/fichier2.dbf' SIZE 60M;
b. Ecrire le code qui permet l’ajout un groupe de deux membres.
ALTER DATABASE ADD GROUP 5 ('member1', 'member2');
c. Ecrire le code qui permet l’ajout un groupe de trois membres.
ALTER DATABASE ADD GROUP 6 ('member3', 'member4', 'member5');
d. Ecrire le code qui permet l’ajout un groupe d’un seul membre.
ALTER DATABASE ADD GROUP 7 ('member6');
e. Désactiver le mode OMF.
ALTER SYSTEM SET DB_CREATE_FILE_DEST='' SCOPE=SPFILE;
ALTER SYSTEM SET DB_CREATE_ONLINE_LOG_DEST_1='' SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;
17. Créer un utilisateur commun dans la pluggable database « pdb1 »
CREATE USER utilisateur_commun IDENTIFIED BY mot_de_passe;
19. Octroyer à l’utilisateur de la question 19 le privilège de connexion et le privilège de
l’interrogation de la table « test »
GRANT CONNECT, SELECT ON test TO utilisateur_commun;
20. Créer un tablespace de type UNDO
CREATE UNDO TABLESPACE mon_undo_tablespace
DATAFILE '/chemin/vers/undo.dbf' SIZE 100M;