web-dev-qa-db-fra.com

erreur: ORA-65096: nom d'utilisateur ou de rôle commun non valide dans oracle

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?

66
enu

Avant de créer l'utilisateur, lancez:

alter session set "_Oracle_SCRIPT"=true;  

j'ai trouvé la réponse ici

211
Dr Alchemy

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

32
Lalit Kumar B

Dans Oracle 12c et supérieur, nous avons deux types de bases de données:

  1. conteneur (CDB)

  2. base de données enfichable (PDB).

Si vous voulez créer un utilisateur, vous avez deux possibilités:

  1. Vous pouvez créer un utilisateur de conteneur ou utilisateur commun

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;

  1. Vous pouvez créer un utilisateur connectable, également appelé utilisateur local.

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

22
Steve Ruben

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.

9
user10314212

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
0
Balavenkareddy