logo
MyWebStudies - Página de inicio
INGRESAR

REGISTRARSE
Buscador

Eliminando roles en Oracle DBA: pasos necesarios

Selecciona el idioma :

Este video solo está disponible para los alumnos que han adquirido el curso

Transcripción Eliminando roles en Oracle DBA: pasos necesarios


En la administración de base de datos es muy importante la consulta a los roles existentes en el sistema, así como los privilegios asociados a los mismos.

Para esto podemos consultar el contenido de varias tablas. Por lo que vamos a ver algunas de las principales tablas de las que nos podemos auxiliar para acceder a la información relacionada con los roles.

Tablas a nivel de sistema.

DBA_ROLES.

La primera que veremos es la tabla DBA_ROLES, aquí podremos ver un listado con los roles existentes, así como los diferentes atributos asociados a los mismos. Por tanto, para ver el contenido de la tabla escribiremos la siguiente consulta:

  • SELECT ROLE_ID, ROLE FROM DBA_ROLES

De esta manera estaremos listando el id y el nombre de todos los roles del sistema. Esta tabla contiene otros atributos como por ejemplo:

  • PASSWORD_REQUIRED, AUTHENTICATION_TYPE, ORACLE_MAINTAINED, INHERITED y otros, los cuales puede consultar si son de su interés.

Al ejecutar la consulta podemos ver que nos arroja como resultado 90 registros o filas, donde se nos muestran los roles existentes ya sean del sistema o creados por un usuario.

Si por ejemplo ahora creamos un nuevo rol ejecutando la línea:

  • CREATE ROLE PRODUCCIÓN

Y ahora vamos y consultamos nuevamente la tabla DBA_ROLES. Pero esta vez seleccionando los atributos ROLE, ORACLE_MAINTAINED, los cuales nos mostrarán el nombre del rol y si es mantenido por Oracle.

Vemos como resultado que nos aparece el rol PRODUCCIÓN que hemos creado, y si nos fijamos podemos ver que no es mantenido por Oracle.

Recordar que los datos mantenidos por Oracle solo pueden ser modificados por scripts desarrollados por Oracle, en este caso los dos últimos roles han sido creados por un usuario y no son mantenidos por Oracle, por lo que se pueden modificar.

DBA_ROLES_PRIVS.

Otra de las tablas más importantes relacionadas con los roles es la tabla DBA_ROLES_PRIVS.

Si por ejemplo escribimos:

  • SELECT GRANTEE, GRANTED_ROLE FROM DBA_ROLES_PRIVS

Y ahora ejecutamos la consulta. Podemos ver entonces los privilegios asociados a los diferentes usuarios a nivel del rol. Anteriormente vimos que son muchos registros en la tabla DBA_ROLES_PRIVS.

Para filtrar mejor el resultado de nuestra consulta vamos a buscar por usuario:

  • SELECT GRANTEE, GRANTED_ROLE FROM DBA_ROLES_PRIVS WHERE GRANTEE = 'DESA1'

De esta manera buscaremos solo los roles asignados al usuario DESA1. Si ahora ejecutamos la consulta, podemos ver que para el usuario DESA1 tenemos los roles CONNECT y DESARROLLO. Podemos también invertir la búsqueda y buscar a partir del rol, es decir listar los usuarios a partir del rol asignado.

Para esto podemos escribir:

  • SELECT GRANTEE, GRANTED_ROLE FROM DBA_ROLES_PRIVS WHERE GRANTED_ROLE = 'DESARROLLO'

Al ejecutar la consulta entonces, podemos ver que con el rol DESARROLLO tenemos dos usuarios, el usuario SYS y el usuario DESA1.

Tablas a nivel de usuario.

Hasta ahora hemos visto cómo consultar información de los roles a nivel de sistema. Veamos cómo consultar información de los roles a nivel de usuario.

Para esto vamos a salir de la sesión e iniciar sesión con el usuario DESA1.

SESSION_ROLES.

Una vez iniciada la sesión lo primero que estaremos viendo es cómo obtener los roles con los que estamos trabajando en la misma. Para esto vamos a auxiliarnos de la tabla SESSION_ROLES, la cual contiene los roles asociados al usuario de la sesión. Por tanto, vamos a ejecutar la consulta:

  • SELECT * FROM SESSION_ROLES

Cómo vemos se muestra de manera básica la información acerca de los roles de la sesión.

USER_ROLE_PRIVS.

Para ver más información acerca de los roles podemos consultar la tabla USER_ROLE_PRIVS. En este caso vamos a ejecutar la consulta con los atributos más importantes.

Así que escribimos:

  • SELECT USERNAME, GRANTE








eliminando roles

¿Hay algún error o mejora?

¿Dónde está el error?

¿Cúal es el error?

Publicaciones Recientes de oracle dba

imagen del Post
Curso de Administración de Base de Datos Oracle
  • 198 Videos
  • 23 Hrs de video
  • 190 Test
  • 184 Hrs de estudio
  • 194288
  • 12 €
imagen del Post
Plan Quiero Estudiar VIP

Accede de forma ilimitada a todos los cursos online de la web por un único pago

99 €
Introducción a oracle sql y pl/sql
Introducción a oracle sql y pl/sql

Oracle SQL y PL/SQL son tecnologías clave para manejar y procesar grandes v...

Implementación de la seguridad en oracle database
Implementación de la seguridad en oracle database

La implementación de la seguridad en Oracle Database es fundamental para pr...

Optimización del rendimiento en oracle database
Optimización del rendimiento en oracle database

Una de las primeras y más importantes prácticas para optimizar el rendimien...

Uso de oracle enterprise manager para la gestión de bases de datos
Uso de oracle enterprise manager para la gestión de bases de datos

Oracle Enterprise Manager (OEM) es una herramienta integral que permite a l...

Imagen del Post
Explora Temas Interesantes

Desde guías prácticas hasta análisis profundos, nuestro blog está lleno de contenido que te inspirará