Crear un nuevo usuario en Oracle 12c
Oracle 12c incorpora la arquitectura multitenencia CDB/PDB. Si creas usuarios normales directamente dentro de la base de datos contenedora (CDB), aparecerá un error. Los usuarios comunes creados dentro de la CDB deben llevar obligatoriamente el prefijo c## / C##.
Inicio de sesión
- Abre el símbolo del sistema Windows cmd y ejecuta sqlplus
sqlplus
- Inicia sesión en la base de datos con la cuenta de superadministrador
Introduzca nombre‑usuario: sys as sysdba
Introduzca contraseña: 【Escribe la contraseña sys definida durante la instalación】Lenguaje del código: JavaScript (javascript)
Mensaje de inicio de sesión correcto:Conectado a: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
Crear usuario
Sintaxis incorrecta
Objetivo: crear el usuario cat con contraseña 123456
Ejecuta la sentencia SQL:
CREATE USER cat IDENTIFIED BY 123456;
ORA-65096: nombre de usuario o rol común no válidoLenguaje del código: HTTP (http)
Causa del error: te encuentras en el contenedor raíz CDB. Los usuarios comunes exigen obligatoriamente el prefijo c##, y el nombre cat no cumple con la regla de nomenclatura.
Forma correcta de crear un usuario común
Ejecuta la sentencia SQL:
CREATE USER c##cat IDENTIFIED BY Bm123321;Lenguaje del código: CSS (css)
Resultado de ejecución:Usuario creado.
Asignar permisos al usuario
Sentencia de concesión incorrecta
GRANT CONNECT, RESOURCE, DBA TO cat;
ORA-01917: el usuario o rol 'CAT' no existeLenguaje del código: JavaScript (javascript)
El nombre de usuario es c##cat. Al conceder permisos debes usar exactamente el mismo nombre usado en la creación, no lo acortes a cat.
Sentencia de concesión correcta
GRANT CONNECT, RESOURCE, DBA TO c##cat;Lenguaje del código: CSS (css)
Descripción de permisos:
CONNECT: permiso básico para iniciar sesión y conectarseRESOURCE: rol habitual para desarrollo, permite crear tablas, índices y otros objetosDBA: privilegios completos de administrador de base de datos (usar solo en entornos de prueba, no se recomienda asignarlo libremente en producción)
Verificar inicio de sesión del nuevo usuario
- Ejecuta
exitpara cerrar la sesión del administrador sys y vuelve a abrir sqlplus
SQL> exitLenguaje del código: PHP (php)
- Prueba un inicio de sesión erróneo
Introduzca nombre‑usuario: cat
Introduzca contraseña: 123456
Error:ORA-01017: nombre de usuario/contraseña no válido; inicio de sesión rechazado
- Método correcto
Introduzca nombre‑usuario: c##cat
Introduzca contraseña: 123456Lenguaje del código: CSS (css)
Conexión satisfactoria con la base de datos.
Crear usuario