En este artículo vamos aprender a utilizar la sentencia para crear un usuario en Oracle. La sentencia que vamos a usar es CREATE USER.
Especificaciones del entorno
- Microsoft Windows 10
- Oracle 19c
- SQL Developer 20.4
Sintaxis
La sentencia CREATE USER permite crear un nuevo usuario en la base de datos. Su sintaxis es:
CREATE USER nombreUsuario IDENTIFIED BY password [DEFAULT TABLESPACE tablespace] [QUOTA {size | UNLIMITED} ON tablespace] [PROFILE profile] [PASSWORD EXPIRE] [ACCOUNT {LOCK | UNLOCK}];
Si analizamos cada línea:
- CREATE USER nombreUsuario: este sera el nombre del usuario con el que se realizara el login.
- IDENTIFIED BY password: debemos sustituir la palabra password por la contraseña que tendrá este usuario.
- DEFAULT TABLESPACE: si no especificas ningún tablespace se le asignara el que este por defecto, normalmente USERS.
- QUOTA {size | UNLIMITED} ON tablespace: especifica la cuota asignada, puedes escribir un tamaño o escribir unlimited para que no tenga limite.
- PROFILE profile: si se omite se creara con el perfil predeterminado. Se utiliza para limitar los recursos de la base de datos a ciertos usuarios.
- PASSWORD EXPIRE: utiliza esta opción para forzar a que el usuario cambie la contraseña al iniciar sesión por primera vez.
- ACCOUNT {LOCK | UNLOCK}: especifica si el usuario esta bloqueado o no.
Ejemplos
Ejemplo 1
Puedes crear un usuario omitiendo casi todas las opciones. El siguiente código creara el usuario miguelTroyano en el tablespace USERS y el perfil por defecto.
CREATE USER miguelTroyano IDENTIFIED BY Codigo1234;
Ejemplo 2
En el siguiente ejemplo se esta creando el usuario miguelTroyano con contraseña Codigo1234 y el usuario tendrá que cambiar la contraseña en el primer inicio de sesión.
CREATE USER miguelTroyano IDENTIFIED BY Codigo1234 PASSWORD EXPIRE;
Ejemplo 3
En el siguiente ejemplo se esta creando el usuario miguelTroyano con contraseña Codigo1234 en el tablespace llamado miTablespace. Además el usuario no tendrá limite en el tablespace, deberá cambiar la contraseña y su cuenta no estará bloqueada.
CREATE USER miguelTroyano IDENTIFIED BY Codigo1234 DEFAULT TABLESPACE miTablespace QUOTA UNLIMITED ON miTablespace PASSWORD EXPIRE ACCOUNT UNLOCK;
Si al crear el usuario obtienes el error ORA-65096 lee el siguiente articulo.
GRANT CREATE SESSION
De cualquier modo que crees el usuario, no olvides después otorgar a los usuarios el permiso para crear una sesión. Esto se hace fácilmente con la siguiente sentencia:
GRANT CREATE SESSION TO miguelTroyano;