Je viens d'installer Oracle11g et il manquait le schéma de Scott. Donc, j'essaie de le générer moi-même. J'ai eu le script SQL de "Scott" schéma, mais quand j'essaie d'exécuter la requête "créer l'utilisateur Scott identifié par tigre;" il affiche l'erreur suivante:
ORA-65096: nom d'utilisateur ou de rôle commun non valide dans Oracle.
En gros, cela ne me permet pas de créer un utilisateur "Scott". Pourquoi et comment puis-je résoudre mon problème?
Avant de créer l'utilisateur, lancez:
alter session set "_Oracle_SCRIPT"=true;
Je viens d'installer Oracle11g
ORA-65096: nom d'utilisateur ou de rôle commun non valide dans Oracle
Non, vous avez installé Oracle 12c . Cette erreur ne peut être que sur 12c
, et ne peut pas être sur 11g
.
Vérifiez toujours votre version de la base de données jusqu'à 4 décimales:
SELECT banner FROM v$version WHERE ROWNUM = 1;
Vous devez avoir créé la base de données en tant que base de données conteneur . Pendant que vous essayez de créer un utilisateur dans le conteneur, c’est-à-dire CDB $ ROOT , vous devez toutefois créer l’utilisateur dans le Base de données PLUGGABLE .
Vous n'êtes pas censé créer des objets dans le conteneur, ce dernier contient les métadonnées des bases de données enfichables. Vous devez utiliser la base de données connectable pour vos opérations de base de données générales. Sinon, ne le créez pas en tant que conteneur et n'utilisez pas la multi-location .
Et très probablement, les exemples de schémas ont peut-être déjà été installés, il vous suffit de déverrouiller eux dans la base de données enfichable.
Par exemple, si vous avez créé une base de données pluggable en tant que pdborcl
:
sqlplus SYS/password@PDBORCL AS SYSDBA
SQL> ALTER USER scott ACCOUNT UNLOCK IDENTIFIED BY tiger;
sqlplus scott/tiger@pdborcl
SQL> show user;
USER is "SCOTT"
Je suggère de lire, Étapes obligatoires de post-installation Oracle 12c
Dans Oracle 12c et supérieur, nous avons deux types de bases de données:
conteneur (CDB)
base de données enfichable (PDB).
Si vous voulez créer un utilisateur, vous avez deux possibilités:
Les utilisateurs courants appartiennent à la CDB, ainsi qu’aux PDB actuels et futurs. Cela signifie qu'il peut effectuer une opération dans un conteneur ou un plug-in en fonction des privilèges attribués.
create user c##username identified by password;
Les utilisateurs locaux sont uniquement des bases de données appartenant à un seul PDB. Cet utilisateur peut avoir des privilèges d'administrateur, mais cela n'appartient qu'à ce PDB. pour cela, vous devez vous connecter à un datable enfichable comme ça
alter session set container = nameofyourpluggabledatabase;
et là, vous pouvez créer un utilisateur comme d'habitude
create user username identified by password;
n'oubliez pas de mentionner tablespace, cela peut être utile lors de l'importation. voir ceci pour plus d'informations à ce sujet https://docs.Oracle.com/database/121/SQLRF/statements_8003.htm#SQLRF015
Si vous faites exactement la même erreur, faites les choses suivantes:
1) Ouvrez le type CMD sqlplus et appuyez sur Entrée
2) Connectez-vous à partir du système
3) Exécuter la commande: alter session set "_Oracle_SCRIPT" = true;
4) Pour créer un autre utilisateur exécuter la commande: CREATE USER nom d'utilisateur IDENTIFIÉ PAR mot de passe;
Ensuite, vous pouvez ajouter des utilisateurs et des rôles.
Créer une dépendance utilisateur sur les outils de connexion à la base de données
sql plus
SQL> connect as sysdba;
Enter user-name: sysdba
Enter password:
Connected.
SQL> ALTER USER hr account unlock identified by hr;
User altered
then create user on sql plus and sql developer