Objectifs : A la fin de cet TP, l’étudiant doit être capable de : Créer et gérer les utilisateurs en leur spécifiant les paramètres nécessaires, Distinguer entre les privilèges système et les privilèges objet, Attribuer et enlever des privilèges aux utilisateurs, Créer des rôles et leur attribuer des privilèges, Attribuer et enlever des rôles aux utilisateurs. Travail à faire : Préparez un compte rendu par monôme dont lequel vous insérez les captures d’écrans (Sous SQL Developer).
I Gestion des utilisateurs
1. Créez un utilisateur appelé votre_nom avec le mot de passe "ensa22". Attribuez-lui DATA01(crée lors de TP6) comme tablespace permanent et TEMP comme tablespace temporaire. Assurez-vous également que cet utilisateur peut se connecter et créer, dans les tablespaces DATA01 et INDX01, des objets dont la taille peut atteindre un mégaoctet. 2. Créez un utilisateur appelé votre_prénom avec mot de passe " ensa22". Attribuez-lui DATA01 comme tablespace permanent et TEMP comme tablespace temporaire. 3. Copiez la table employees à partir du schéma HR dans le schéma du compte votre_prénom : (Le compte votre_prénom requiert un quota sur son tablespace par défaut avant de pouvoir créer des objets dans son schéma, attribuez-lui le quota UNLIMITED sur le tablespace DATA01) 4. A partir du dictionnaire de données, affichez les informations sur les deux comptes crées votre_nom et votre_prénom (Affichez les colonnes username, default_tablespace et temporary_tablespace de la vue DBA_USERS) 5. A partir du dictionnaire de données, affichez les informations sur la quantité d’espace disponible dans les tablespaces de votre_nom : (utilisez les colonnes TABLESPACE_NAME, USERNAME, BYTES, MAX_BYTES et BLOCKS de la vue dba_ts_quotas) 6. Connectez-vous en tant qu’utilisateur votre_nom, changez son tablespace temporaire. Que se passe-t- il ? Pourquoi ? 7. En tant qu’utilisateur votre_nom, changez le mot de passe en « ensa4 ». 8. En tant qu’utilisateur System, supprimez le quota d’utilisateur votre_nom sur son tablespace par défaut. 9. Supprimez l’utilisateur votre_prénom de la base de données. (Vous devez utiliser l’option CASCADE, car cet utilisateur possède des tables). 10. L’utilisateur votre_nom a oublié son mot de passe. Allouez-lui le mot de passe "tempo" et obliger le à le changer à sa prochaine connexion.
II Gestion des Privilèges
1. En tant que system, créez l’utilisateur votre_prénom et donnez-lui la possibilité de se connecter à la base de données et de créer des objets dans son schéma. 2. Connectez-vous en tant qu’utilisateur votre_prénom et créez la tables dept contenant les lignes de la table departments du schéma HR. 3. En tant que system interrogez la table dept de votre_prénom 4. En tant que system accordez au compte votre_nom le droit de sélectionner les données de la table dept de schéma votre_prenom. Testez ce droit (En tant que votre_nom, essayer d'afficher les données de table dept de votre_prénom) 5. Reconnectez-vous en tant que votre_prénom et accordez à votre_nom la possibilité d’interroger des données de la table dept. Activez également la capacité pour votre_nom d’accorder aux autres utilisateurs la possibilité de sélection. Examinez la vue DBA_TAB_PRIVS pour visualiser les privilèges) 6. Créez l’utilisateur aksasse avec la possibilité de se connecter à la base de données 7. En tant que votre_nom, activez l’accès à aksasse à la table dept de votre_prenom 8. En tant que votre_prenom, supprimez le privilège de lecture de votre_nom sur la table dept 9. En tant que aksasse, Consultez la table dept de votre_prenom. Que se passe-t-il ? Pourquoi ? 10. En tant que SYS, Attribuez à votre_prenom le privilège SYSOPER qui permet le démarrage et l’arrêt de la base de données. Vérifiez le résultat. III Gestion des Rôles 1. Examinez la vue dba_sys_privs du dictionnaire et énumérez les privilèges système du rôle RESOURCE. 2. Créez un rôle appelé DEV, permettant de créer une table, de créer une vue et de sélectionner des données de la table dept de schéma votre_prenom. 3. Attribuez les rôles RESOURCE, CONNECT et dev à votre_nom, mais déterminez l’activation automatique du rôle RESOURCE quand votre_nom se connecte. 4. Accordez à votre_nom la possibilité de lire toutes les informations du dictionnaire de données. (Attribuez à votre_nom le rôle SELECT_CATALOG_ROLE permettant de consulter les vues commençant par DBA). 5. Rendez le rôle CONNECT le rôle par défaut de votre_nom pour que ce dernier puisse se connecter. 6. Connectez-vous en tant que votre_nom et énumérez les utilisateurs de la base de données (consulter la vue DBA_USERS). Que se passe-t-il ? Pourquoi ? 7. En tant qu’utilisateur votre_nom, activez tous les rôles accordés à votre_nom puis tentez de créer une vue dept_view sur la table dept de votre_prenom. Que se passe-t-il ?