Maison > Article > base de données > Que dois-je faire si Oracle ne peut pas supprimer un utilisateur ?
Méthode : 1. Utilisez l'instruction "select sid,serial# from v$session which username=''" pour interroger les informations de session ; 2. Utilisez l'instruction "alter system kill session ''" pour tuer la session ; . Supprimez à nouveau l'utilisateur.
L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.
La base de données Oracle dans l'environnement de test doit être actualisée à mesure que la version de développement du logiciel est mise à niveau, car une fois l'environnement de test utilisé pendant un certain temps, il y aura de plus en plus de données, parfois Pour la commodité des tests fonctionnels, les données de la base de données dans l'environnement de test seront incohérentes, ce qui aura un certain impact et interférence sur les versions ultérieures du test. Afin d'éviter la situation ci-dessus, généralement tous les objets sous l'utilisateur actuel de la base de données seront d'abord effacés puis recréés. Mais pour supprimer tous les objets et données sous un utilisateur, vous devez d'abord découvrir quels objets se trouvent sous l'utilisateur actuel, puis les supprimer. L'utilisation de la méthode de suppression en cascade pour supprimer des utilisateurs est très simple et pratique, mais si l'utilisateur est actuellement. à supprimer est connecté, alors il ne peut pas être supprimé. Vous devez d'abord tuer la session, puis la supprimer.
Vous devez d'abord utiliser l'outil xshell pour vous connecter au serveur de base de données Oracle (l'introduction ici est dans l'environnement Linux, l'environnement Windows est plus simple si l'utilisateur Linux actuel n'est pas un utilisateur Oracle, vous devez passer à). l'utilisateur oracle, entrez la commande su - oracle switch
Exécutez sous l'utilisateur oracle, sqlplus / as sysdba, c'est-à-dire connectez-vous à la base de données en tant qu'administrateur système et supprimez généralement l'utilisateur. Le compte administrateur dispose d'autorisations. Si vous interrogez uniquement les tables et les données de la base de données, vous devez uniquement vous connecter avec un compte normal. Après la connexion, vous serez invité à indiquer Connecté à : bases de données Oracle et d'autres invites, et l'invite de saisie qui apparaît devient SQL>
Entrez ensuite l'instruction pour supprimer l'utilisateur, DROP USER cqt CASCADE signifie une suppression en cascade de ; l'utilisateur La signification de toutes les informations sur l'objet. Comme le montre la figure, l'erreur ORA-01940 ne peut pas supprimer l'utilisateur actuellement connecté. Si vous souhaitez continuer la suppression, vous devez d'abord interroger les informations de session de l'utilisateur actuellement connecté, puis le tuer, puis le supprimer. . L'instruction de requête est la suivante : sélectionnez sid,serial# from v$session où username='CQT' ; notez la différence dans la casse. Comme le montre la figure, les informations de plusieurs sessions connectées à l'utilisateur sont interrogées. Il est nécessaire de supprimer toutes les sessions utilisateur interrogées ci-dessus. L'instruction pour supprimer la session est la suivante : modifier la session de suppression du système '15,19095' ; vous pouvez exécuter le kill plusieurs fois séparément. Une fois la session ci-dessus effacée, exécutez à nouveau la commande pour supprimer l'utilisateur, comme indiqué dans l'image, cette fois, il peut être supprimé avec succès. Étant donné que cette instruction ajoute le mot-clé cascade delete, tous les objets et données sous cet utilisateur seront supprimés.
Ce qui précède a terminé la suppression des utilisateurs et des objets. S'il s'agit d'une opération de brossage de base de données, vous pouvez commencer à recréer les utilisateurs, puis attribuer des autorisations et exécuter le script de base de données pour effectuer une nouvelle série de tests de version. .
Remarques
Assurez-vous d'être prudent lors de la suppression d'objets utilisateur en cascade pour éviter de supprimer le mauvais utilisateur ou les mauvaises informations. Vous pouvez sauvegarder les données avant d'utiliser. Tutoriel recommandé : "Tutoriel vidéo Oracle"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!