0% ont trouvé ce document utile (0 vote)
36 vues4 pages

Administration des Bases de Données TP2

Transféré par

mabrouki Ghazi
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • indexation,
  • configuration,
  • création de tablespace,
  • gestion des ressources,
  • connexion,
  • gestion des erreurs,
  • optimisation des requêtes,
  • procédure stockée,
  • visualisation,
  • gestion des utilisateurs
0% ont trouvé ce document utile (0 vote)
36 vues4 pages

Administration des Bases de Données TP2

Transféré par

mabrouki Ghazi
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • indexation,
  • configuration,
  • création de tablespace,
  • gestion des ressources,
  • connexion,
  • gestion des erreurs,
  • optimisation des requêtes,
  • procédure stockée,
  • visualisation,
  • gestion des utilisateurs

Rendu - Administration des Bases de Données TP 2

Mabrouki Ghazi 4 TWIN 1

1- Connexion à SQL en tant qu'administrateur :


sqlplus / as sysdba
2- Création du tablespace TBL01 :
CREATE TABLESPACE TBL01
DATAFILE 'fd01tbl01.dbf' SIZE 6M,
'fd02tbl01.dbf' SIZE 4M;
3- Définir le tablespace TBL01 par défaut :
ALTER DATABASE DEFAULT TABLESPACE TBL01;
4- Création du tablespace TBL02 :
CREATE TABLESPACE TBL02
DATAFILE 'fd01tbl02.dbf' SIZE 10M,
'fd02tbl02.dbf' SIZE 10M,
'fd0xbl02.dbf' SIZE 5M;
5- Ajout d'un fichier de données à TBL01 :
ALTER TABLESPACE TBL01
ADD DATAFILE 'fd02tbl01.dbf' SIZE 20M;
6- Renommer un fichier dans TBL02 :
ALTER DATABASE RENAME FILE 'fd0xbl02.dbf' TO 'fd03bl02.dbf';
7- Afficher la liste des tablespaces :
SELECT tablespace_name FROM dba_tablespaces;
8- Bloc PL/SQL pour afficher le nom et le nombre de fichiers par tablespace :
DECLARE
CURSOR c_tablespaces IS
SELECT tablespace_name FROM dba_tablespaces;
v_count NUMBER;
BEGIN
FOR r IN c_tablespaces LOOP
SELECT COUNT(*) INTO v_count
FROM dba_data_files
WHERE tablespace_name = r.tablespace_name;
DBMS_OUTPUT.PUT_LINE('Tablespace: ' || r.tablespace_name || ' - Files: ' || v_count);
END LOOP;
END;
9- Ajouter un fichier extensible à TBL01 :
ALTER TABLESPACE TBL01
ADD DATAFILE 'fd04tlb01.dbf' SIZE 2M AUTOEXTEND ON NEXT 1M MAXSIZE 4M;
10- Création d'un tablespace temporaire MonTemp :
CREATE TEMPORARY TABLESPACE MonTemp
TEMPFILE 'montemp.dbf' SIZE 5M;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE MonTemp;
11- Fonction stockée pour le nombre de tablespaces temporaires :
CREATE OR REPLACE FUNCTION FN_NBR_TAB_TEMP RETURN NUMBER IS
v_count NUMBER;
BEGIN
SELECT COUNT(*) INTO v_count FROM dba_tablespaces WHERE contents = 'TEMPORARY';
RETURN v_count;
END;
12- Créer un utilisateur TD3 :
CREATE USER TD3 IDENTIFIED BY '123'
DEFAULT TABLESPACE TBL01
TEMPORARY TABLESPACE MonTemp;
GRANT CONNECT, RESOURCE TO TD3;
13- Suppression du tablespace TBL01 et vérifier TD3 :
DROP TABLESPACE TBL01 INCLUDING CONTENTS;
SELECT username, default_tablespace FROM dba_users WHERE username = 'TD3';

14- Procédure stockée pour afficher les détails des tablespaces :


CREATE OR REPLACE PROCEDURE PS_DETAILS_TAB IS
BEGIN
FOR r IN (SELECT tablespace_name, SUM(bytes)/1024/1024 AS total_size_mb,
SUM(bytes - free_space)/1024/1024 AS used_size_mb
FROM dba_data_files
JOIN (SELECT tablespace_name, SUM(bytes) AS free_space FROM dba_free_space
GROUP BY tablespace_name) free_space
ON dba_data_files.tablespace_name = free_space.tablespace_name
GROUP BY tablespace_name) LOOP
DBMS_OUTPUT.PUT_LINE('Tablespace: ' || r.tablespace_name || ', Total Size: ' ||
r.total_size_mb || 'MB, Used Size: ' || r.used_size_mb || 'MB');
END LOOP;
END;
15- Connexion avec TD3 et création de la table Etudiants :
CONNECT TD3/123
CREATE TABLE Etudiants
(num_etud NUMBER(10) PRIMARY KEY,
nom_etud VARCHAR2(30),
moyenne_etud NUMBER(4,2));

BEGIN
FOR i IN 1 .. 10000 LOOP
INSERT INTO Etudiants (num_etud, nom_etud, moyenne_etud)
VALUES (i, 'Etudiant'||i, 10);
END LOOP;
END;
/

la procédure PS_DETAILS_TAB pour vérifier les différences :


EXEC PS_DETAILS_TAB;

Vous aimerez peut-être aussi