Sintaxis básica:
`` `SQL
Crear nombre de usuario de usuario identificado por contraseña;
`` `` ``
* `Username` :El nombre que desea dar al nuevo usuario. Esto debería seguir las reglas de identificación de Oracle (alfanumérica, hasta 30 caracteres, comenzando con una carta).
* `contraseña` :La contraseña para el nuevo usuario. Oracle tiene requisitos de complejidad de contraseña; Una contraseña débil podría ser rechazada.
Ejemplo:
`` `SQL
Crear usuario John_DOE identificado por MySeecurePassword123;
`` `` ``
Devención de privilegios:
Un usuario recién creado no tiene privilegios. Debe otorgarles explícitamente los permisos necesarios para acceder a los objetos de la base de datos. Esto se hace utilizando el comando `subvención '.
Por ejemplo, para otorgar al usuario `John_Doe` la capacidad de conectarse a la base de datos y crear tablas:
`` `SQL
Grant Connect, recurso a John_Doe;
`` `` ``
* `Connect` :Permite al usuario conectarse a la base de datos.
* `Resource` :Permite al usuario crear tablas, índices, etc. Este es un privilegio común para los usuarios de propósito general.
Otras cláusulas importantes:
* `TableSpace 'predeterminado :Especifica el espacio de tabla predeterminado para los datos del usuario. Si se omite, es predeterminado al espacio de tabla del sistema (que generalmente debe evitarse para nuevos usuarios).
* `Tablepace temporal` :Especifica el espacio de tabla para tablas temporales utilizadas por el usuario.
* `cuota` :Establece una cuota de almacenamiento (en MB o K) para el usuario dentro de un espacio de tabla específico. Esto evita que el usuario consuma un espacio de disco excesivo.
* `perfil` :Asigna un perfil al usuario, que puede limitar el consumo de recursos (tiempo de CPU, memoria, etc.). Los perfiles son útiles para administrar el uso de recursos en múltiples usuarios.
Ejemplo con cláusulas adicionales:
`` `SQL
Crear usuario jane_doe
Identificado por AnothersePassword
Usuarios de espacio de tabla predeterminado
Temperatura temporal
Cuota 100m en los usuarios
Perfil predeterminado;
`` `` ``
Esto crea un usuario `jane_doe` con una cuota de 100 MB en el espacio de tabla 'usuarios'. Utiliza el espacio de tabla `usuarios` para datos y` temp` para datos temporales. También usa el perfil predeterminado.
Consideraciones de seguridad importantes:
* Contraseñas seguras: Use contraseñas fuertes y únicas que sean difíciles de adivinar.
* Administración de contraseñas: No codifique las contraseñas en los scripts. Considere usar las herramientas de administración de contraseñas de Oracle o los mecanismos del sistema operativo para almacenar y administrar de forma segura las contraseñas.
* Principio de menor privilegio: Otorgue a los usuarios solo los privilegios que absolutamente necesitan para realizar sus tareas. Evite otorgar privilegios excesivos como `DBA` a menos que sea absolutamente necesario.
* Auditorías regulares: Auditar regularmente las cuentas y privilegios de los usuarios para asegurarse de que sigan siendo apropiados.
Dejar caer a un usuario:
Para eliminar un usuario (y todos sus objetos asociados), use el comando `Drop User`:
`` `SQL
Drop User John_Doe Cascade;
`` `` ``
La cláusula 'Cascade` es crucial; Asegura que todos los objetos propiedad del usuario también se eliminen. Sin `Cascade`, la caída fallará si el usuario posee algún objeto.
Recuerde conectarse siempre como usuario con los privilegios necesarios (por ejemplo, `sysdba` o un usuario con el privilegio` Crear usuario`) para ejecutar estos comandos. Siempre haga una copia de seguridad de su base de datos antes de realizar cambios significativos en el esquema.