válido - oracle create user without c##
error: ORA-65096: usuario común inválido o nombre de rol en Oracle (5)
Acabo de instalar oracle11g, y me faltaba el esquema de Scott. Así que estoy tratando de generarlo yo mismo. Obtuve el script sql del esquema "Scott", pero cuando trato de ejecutar la consulta "crear usuario Scott identificado por tigre"; muestra el siguiente error:
ORA-65096: usuario común inválido o nombre de rol en Oracle.
Básicamente no me permite crear un usuario "Scott". ¿Por qué es eso y cómo puedo solucionar mi problema?
Acabo de instalar oracle11g
ORA-65096: usuario común inválido o nombre de rol en Oracle
No, ha instalado
Oracle 12c
.
Ese error solo podría estar en
12c
, y no puede estar en
11g
.
Compruebe siempre la versión de su base de datos de hasta 4 decimales:
SELECT banner FROM v$version WHERE ROWNUM = 1;
Debe haber creado la base de datos como una base de datos de contenedor . Mientras intenta crear un usuario en el contenedor, es decir, CDB $ ROOT , debe crear el usuario en la base de datos PLUGGABLE .
Se supone que no debe crear objetos en el contenedor, el contenedor contiene los metadatos para las bases de datos conectables. Debe usar la base de datos conectable para sus operaciones generales de base de datos. De lo contrario, no lo cree como contenedor, y no use multicliente .
Y lo más probable es que los esquemas de muestra ya estén instalados, solo necesita desbloquearlos en la base de datos conectable.
Por ejemplo, si creó una base de datos conectable como
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"
Sugiero leer, Oracle 12c Pasos obligatorios posteriores a la instalación
Antes de crear el usuario ejecute:
alter session set "_ORACLE_SCRIPT"=true;
Crear dependencia del usuario sobre las herramientas de conexión de la base de datos
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
En Oracle 12c y superior, tenemos dos tipos de bases de datos:
-
contenedor (CDB)
-
base de datos enchufable (PDB).
Si desea crear un usuario, tiene dos posibilidades:
- Puede crear un usuario contenedor conocido como usuario común
Los usuarios comunes pertenecen a los CDB, así como a los PDB actuales y futuros. Significa que puede realizar operaciones en Contenedor o Enchufable de acuerdo con los Privilegios asignados.
create user c##username identified by password;
- Puede crear un usuario conectable, también conocido como usuario local.
Los usuarios locales son puramente una base de datos que pertenece a un solo PDB. Este usuario puede tener privilegios administrativos, pero esto solo pertenece a ese PDB. para eso, debes conectarte a datos conectables como ese
alter session set container = nameofyourpluggabledatabase;
y allí, puedes crear usuarios como usualmente
create user username identified by password;
No olvide mencionar el espacio de tabla, puede ser útil durante la importación. vea esto para obtener más información al respecto https://docs.oracle.com/database/121/SQLRF/statements_8003.htm#SQLRF01503
Si enfrenta exactamente el mismo error, haga lo siguiente:
1) Abra CMD tipo sqlplus y presione enter
2) Conéctese desde el inicio de sesión del sistema
3) Ejecutar comando: alter session set "_ORACLE_SCRIPT" = true;
4) Para crear otro comando de ejecución del usuario: CREAR nombre de usuario del USUARIO IDENTIFICADO POR contraseña;
Luego puede agregar usuarios y roles.