Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Privilegios
Los privilegios son la correcta ejecución de una sentencia SQL en particular. El
administrador de la base de datos (DBA) es un usuario de alto nivel con la
posibilidad de otorgar acceso a la base de datos y sus objetos a los usuarios.
Los usuarios requieren privilegios de sistema para otorgar acceso a la base de
datos y privilegios de objeto para manipular el contenido de los objetos en la
base de datos. Los usuarios también pueden otorgar los privilegios que les han
sido otorgados a otros usuarios o roles, el cuál es llamado grupos de privilegios
relacionados.
Esquemas
Un esquema es una colección de objetos, como tablas, vistas y secuencias. El
esquema es propiedad de un usuario de la base de datos y tiene el mismo
nombre que el usuario.
Creando usuarios
El DBA crea usuarios con la ejecución de la sentencia CREATE USERS. El
usuario no tiene ningún privilegio en este punto. El DBA puede otorgar
privilegios al usuario. Estos privilegios determinan lo que el usuario puede
hacer a nivel base de datos.
En el ejemplo anterior se resumen la sintaxis para crear un usuario.
Donde:
user es el nombre del usuario a ser creado
password especifica el password con el que el usuario puede
registrarse
Parcial III: 5 Lección 13
Donde:
privilege es el privilegio del sistema que ha sido
otorgado
user | role | PUBLIC es el nombre del usuario, nombre del rol o
designación publica a quien se le otorga el
privilegio
Nota: Los privilegios del sistema otorgados pueden encontrarse en la vista del
diccionario de datos SESSION_PRIVS.
Parcial III: 5 Lección 13
¿Qué es un rol?
Un rol es el nombre de un grupo de privilegios asociados que pueden ser
otorgados a los usuarios. Este método hace más fácil el quitar y administrar los
privilegios.
Parcial III: 5 Lección 13
Un usuario puede tener acceso a varios roles, y varios usuarios pueden ser
asignados al mismo rol. Los roles son típicamente creados por una aplicación
de la base de datos.
Sintaxis
CREATE ROLE role;
Donde:
role es el nombre del rol a ser creado
Ahora que el rol ha sido creado, el DBA puede usar la sentencia GRANT para
asignar usuarios al rol como se asignaron los privilegios al rol.
Cambiando tu password
El DBA crea una cuenta e inicializa el password para cada usuario. Se puede
cambiar el password utilizando la sentencia ALTER USER.
Sintaxis:
Donde:
user es el nombre del usuario
password especifica el nuevo password
Donde:
object_priv es un privilegio de objeto a ser otorgado
ALL especifica todos los privilegios del objeto
columns especifica la columna de una tabla o vista en
donde los privilegios son otorgados
ON object es el objeto en el cual los privilegios se
encuentran
TO identifica a quien se le otorgan los privilegios
PUBLIC otorga los privilegios del objeto a todos los
usuarios
WITH GRANT OPTION permite que el concesionario de los privilegios
pueda asignárselos a otros
Parcial III: 5 Lección 13
Normas a seguir
• Para otorgar privilegios de un objeto, el objeto debe estar en tu esquema
o deben ser otorgados los privilegios con la opción WITH GRANT
OPTION
• El propietario de un objeto automáticamente adquiere todos los
privilegios del objeto
• Un propietario de un objeto puede otorgar todos los privilegios del objeto
a cualquier otro usuario o rol de la base de datos
Si recibes el mensaje de error del servidor de Oracle “table or view does not
exist (la tabla o vista no existe)” tienes dos caminos a seguir:
• El Nombre de la tabla o vista no existe
• Estas Intentando ejecutar una operación en una tabla o vista en la cual
no tienes un privilegio apropiado
Parcial III: 5 Lección 13
Puedes acceder el diccionario de datos para ver los privilegios que tienes. La
tabla siguiente describe varias vistas del diccionario de datos.
Donde:
CASCADE CONSTRAINTS es requerido para remover cualquier
constraint de integridad referencial
hecha al objeto por el privilegio
REFERENCES
Por ejemplo:
Resumen