Crear cuentas de usuarios en oracle

Breve guía para la administración de usuarios en base de datos ORACLE. Espero les sea de utilidad.

[pic]

1. CREACIÓN DE USUARIOS

Una de las más básicas tareas de un administrador de base de datos es identificar los usuarios. Cada usuario que conecta en la base de datos debe de tener una cuenta. En las cuentas compartidas son difíciles de aplicar una auditoria.

Para crear un usuarioutilizamos la sentencia CREATE USER. Cuando creas una cuenta como mínimo tienes que asignar un único nombre (username) y una contraseña para poder autenticarse.

Para cambiar alguno de los atributos que se le ha añadido al usuario creado se utiliza la sentencia ALTER USER.

2. AUTENTICACIÓN ORACLE

Cuando uno se conecta con una instancia de una base de datos la cuenta de usuario debe de estarautenticada. ORACLE provee tres métodos de autenticación para nuestra cuenta de usuario.

AUTENTICACIÓN MEDIANTE PASSWORD

Cuando un usuario conecta con una base de datos verifica que este usuario y la contraseña introducida almacenada en la base de datos, sea correcta. Las contraseñas se guardan encriptadas en la base de datos (en el data dictionary).

SQL > CREATE USER david IDENTIFIED BYtititus;

En este caso tititus es la contraseña de david que será guardada encriptada en la base de datos.

AUTENTICACIÓN EXTERNA

Cuando un usuario conecta con la base de datos se verifica que el nombre de usuario es el mismo que el nombre de usuario del sistema operativo para permitir la validación.

No se almacenan las cuentas en la base de datos de ninguna forma. Estas cuentas estánsiempre referidas con OPS$ .A partir de la versión 10g puedes configurar OS_AUTHENT_PREFIX en el spfile

SQL > CREATE USER ops$david IDENTIFIED BY tititus;

Mediante IDENTIFIED EXTERNALLY decimos a la base de datos que nuestra cuenta es externa y tiene que ser validada con el sistema operativo.

AUTENTICACIÓN GLOBAL

Cuando un usuario se conecta con la base de datos se verifica globalmentecuando la información pasa por una opción avanzada de seguridad ( ADVANCED SECURITY OPTION ) para la autenticación tal como Kerberos, RADIUS ….

Para las cuentas globales no se almacena tampoco nada en la base de datos.

SQL > CREATE USER david IDENTIFIED GLOBALLY AS ‘CN=alumnos,OU=campus …….’

Mediante IDENTIFIED GLOBALLY decimos a la base de datos que nuestra cuenta se autenticaglobalmente, mediante otra opción de seguridad avanzada.

3. ASIGNACIONES A LOS USUARIOS

ASIGNACIÓN DE UN USUARIO A UN TABLESPACE ( DEFAULT TABLESPACE )

Mediante esta sentencia asignamos un usuario a un tablespace, este será su tablespace por defecto cuando creamos un usuario.

SQL > CREATE USER david IDENTIFIED BY tititus DEFAULT TABLESPACE users;

Mediante esta sentencia, en caso de tenercreado ya el usuario le asignamos un tablespace.

SQL > ALTER USER david DEFAULT TABLESPACE users;

La base de datos toma un tablespace por defecto, en caso de querer cambiar este tablespace utilizamos la siguiente sentencia:

SQL > ALTER DATABASE DEFAULT TABLESPACE users;

ASIGNACIÓN DE UN USUARIO A UN TABLESPACE TEMPORAL

Un tablespace temporal se utiliza para almacenar “segmentos”temporales que son creados durante operaciones como ORDER BY,SELECT DISTINCT, MERGE JOIN o CREATE INDEX.A veces a los usuarios se les asocia un tablespace temporal para realizar este tipo de operaciones, cuando estas operaciones finalizan este segmento temporal que se ha creado exclusivamente para la operación desaparece.

SQL > CREATE USER david IDENTIFIED BY tititus DEFAULT TABLESPACE usersTEMPORARY TABLESPACE temp;

Mediante TEMPORARY TABLESPACE asignamos como tablespace temporal temp al usuario david.

En caso de que el usuario esté creado si queremos asignarle un tablespace temporal utilizamos ALTER USER

SQL > ALTER USER david TEMPORARY TABLESPACE Temp;

ASIGNACIÓN DE UN PERFIL A UN USUARIO

Al igual que podemos asignar un tablespace a un usuario, también podemos…