Supprimer des utilisateurs ainsi que leurs propriétés associées est utile pour faire du ménage dans son serveur SGBD Oracle, pour supprimer des bases ou pour récupérer de l’espace disque. Il s’agit d’une opération classique de maintenance et qui ne nécessite pas de connaissances pointues en administration de bases de données.
Il existe deux manières d’annuler un user : on peut simplement supprimer le compte utilisateur ou supprimer le compte ainsi que ses objets (tablespace, etc). Dans ce cas, on ajoute l’attribut CASCADE.
Attention à ne pas supprimer un compte sys ou system au risque de planter le serveur Oracle.
La procédure est à réaliser avec un compte sys ou qui dispose au moins du privilège DROP USER.
Supprimer un utilisateur Oracle 12c avec la console Enterprise Manager
1. Se connecter à la console EM (avec un login autorisé à Drop user) : https://serveuroracle:5500/em
2. Aller à l’onglet Sécurité, Utilisateurs.
3. Sélectionner l’utilisateur à supprimer.
4. Cliquer sur le bouton « Supprimer un utilisateur » :
5. Laisser cochée la ligne « Cascade » pour supprimer les objets de cet utilisateur et valider par OK.
Supprimer un utilisateur en ligne de commande
1. Ouvrir la console SQL Plus (ou un cmd avec sqlplus)
2. Se connecter au serveur avec un compte qui dispose du droit Drop user : connect
3. Taper la commande : DROP USER nom CASCADE ;
4. La réponse doit être « Utilisateur supprimé. »
Erreur lors de la suppression ?
ORA-01940 : cannot drop a user that is currently connected
ORA-06512
Si des connexions fantômes sont encore actives sur le serveur ou qu’une autre erreur empêche la suppression de l’utilisateur, suivre cette méthode plus radicale. Concrètement, on arrête le serveur pour le relancer en mode restrictif (seuls les DBA pourront s’y connecter) avant de le repasser en mode normal. Prévoir quelques minutes pour cette opération.
connect /as sysdba
SHUTDOWN IMMEDIATE ;
STARTUP RESTRICT ;
DROP USER nom CASCADE ;
SHUTDOWN IMMEDIATE ;
STARTUP ;
merci utile et réussi grace à la commande plus violente shutdown immediate / startup restrict