M2 C12 2324

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 27

M02 – BASES DE DATOS

UF1.- Introducción a las bases de datos

UF2.- Lenguajes SQL: DML y DDL

UF3.- Lenguaje SQL: DCL y extensión procedimental


UF4.- Bases de datos objeto-relacionales

DAW– M02 – Clase 12


Clase 12

Tema 10: Lenguaje de control de datos


❑ 10.1.- Usuarios
o 10.1.1- Creación de usuarios
o 10.1.2- Modificación y borrado de usuarios
❑ 10.2.- Privilegios
o 10.2.1.- Privilegios del sistema
o 10.2.2.- Privilegios de objeto

DAW– M02 – Clase 12


Usuarios

Cuentas administrativas

Durante la instalación de Oracle se instalan dos cuentas administrativas y otras dos


con permisos especiales para tareas de optimización y monitorización de la base de
datos:
• SYS. Tiene el rol de DBA y en su esquema se crea el diccionario de datos,
por lo que no conviene de ninguna manera crear otro tipo de elementos en
su esquema.
• SYSTEM. Posee también el rol DBA y se crea durante la instalación. La
contraseña MANAGER que tiene por defecto se debería cambiar en la
instalación. En su esquema se suelen crear tablas y vistas administrativas
(pero no se deberían crear otro tipo de tablas).
• SYSMAN. Usado para realizar tareas administrativas con la aplicación
Enterprise Manager.
• DBSMNP. Monitoriza Enterprise Manager.

DAW– M02 – Clase 12


Usuarios
Propiedades de los usuarios de Oracle

• Nombre de usuario. Es único y como máximo debe tener 30 caracteres (letras del
alfabeto inglés, números, el símbolo del dólar o el símbolo de la barra baja _ )

• Configuración física. Se refiere al espacio asociado al usuario para almacenar sus


datos (lo que Oracle llama tablespace) y la cuota (límite de almacenamiento) que
se le asigna.

• Perfil asociado. El perfil del usuario indica los recursos y configuración que tendrá
el usuario en el sistema.

• Privilegios y roles. Indican las acciones que se le permiten realizar al usuario.

DAW– M02 – Clase 12


Usuarios

Estado de la cuenta de usuario:

▪ Abierta: El usuario puede conectar y realizar sus acciones habituales

▪ Bloqueada: El usuario no podrá conectar mientras siga en estado


bloqueado. El bloqueo lo realiza el DBA:
ALTER USER usuario ACCOUNT LOCK

▪ Expirada en período de gracia: La cuenta agotó el tiempo máximo


asignado a ella. Para salir de este estado, el usuario/a debe resetear su
contraseña de usuario.

▪ Expirada y bloqueada : Si, pasado el período para cambiar la contraseña,


el usuario no la cambia, la cuenta se bloquea automáticamente.

DAW– M02 – Clase 12


Usuarios

Para poder crear usuarios, hay que activar la variable de sesión


_ORACLE_SCRIPT, ejecutando la siguiente línea:

DAW– M02 – Clase 12


Creación de un usuario
CREATE USER nombre
IDENTIFIED BY “contraseña”
DEFAULT TABLESPACE tableSpacePorDefecto
QUOTA {cantidad [K|M] | UNLIMITED} ON tablespace
QUOTA {cantidad [K|M] | UNLIMITED} ON tablespace

PASSWORD EXPIRE
PROFILE “nombredelperfil”
ACCOUNT {UNLOCK|LOCK};

DAW– M02 – Clase 12


Trabajando con usuarios
Creamos el tablespace tienda almacenado en un fichero llamado tienda
con 100M:

Creamos un usuario llamado Santiago con contraseña Santi1234. Lo


asignamos al tablespace tienda, sin límite de tamaño:

Creamos un usuario llamado Ana con contraseña Ana1234. Lo asignamos


al tablespace tienda con un limite de 15M y le bloqueamos la cuenta:

DAW– M02 – Clase 12


Modificación de usuarios
ALTER USER nombre
modificación;
Cambiamos la contraseña de Ana:

Desbloqueamos la cuenta de Ana y le ponemos la cuota ilimitada en el


tablespace tienda:

Le asignamos a Santiago empresa como tablespace por defecto:

DAW– M02 – Clase 12


Borrado de usuarios

DROP USER nombre_usuario elimina los objetos del esquema del usuario
CASCADE; antes de eliminar al propio usuario. Es
obligatorio si el esquema contiene objetos

Borramos al usuario Santiago:

DAW– M02 – Clase 12


Consulta de usuarios
La vista DBA_USERS muestra la lista y configuración de todos los usuarios
del sistema.

DAW– M02 – Clase 12


Consulta tablas de usuario
La vista USERS_TABLES muestra la información de las tablas que son
propiedad del usuario actual (el que está conectado).

DAW– M02 – Clase 12


Consulta de tablas
La vista ALL_TABLES muestra la información de todas las tablas del sistema.
En el campo OWNER se puede ver qué usuario es el propietario de dicha
tabla y en el campo TABLESPACE_NAME se puede comprobar a qué
tablespace pertenece dicha tabla.

DAW– M02 – Clase 12


Conexión en modo texto
Acceder a la base de datos como un usuario concreto en modo texto:

DISCONNECT;
CONNECT usuario;

DAW– M02 – Clase 12


Conexión en modo gráfico
Conexión en modo gráfico:
Primero hay que crear una nueva conexión con
Luego, hay que desconectar la conexión activa (la que tiene el dibujo del
enchufe) y conectar la nueva.

DAW– M02 – Clase 12


Privilegios
“Oracle Database” garantiza la seguridad mediante asignación de
privilegios a nivel de objeto y de sistema, utilización de roles, perfiles de
usuario para gestión de contraseñas y recursos de servidor.

Los privilegios son permisos que damos a los usuarios para que puedan
realizar ciertas operaciones con la base de datos.

Los administradores son los encargados de crear los roles y asignarlos a


los usuarios.

En Oracle los privilegios se pueden clasificar en:

• privilegios del sistema

• privilegios de objeto

• roles de usuario.

DAW– M02 – Clase 12


Privilegios de sistema
Otorgan permisos para ejecutar sentencias del tipo DDL y DML.

Los privilegios que se pueden asignar se pueden consultar en la vista


SYSTEM_PRIVILEGE_MAP.

DAW– M02 – Clase 12


Privilegios de sistema
Privilegio Permite...
CREATE SESSION conectar con la base de datos.

RESTRICTED SESSION establecer sesión con la base de datos en modo restringido.

ALTER DATABASE modificar la estructura de la base de datos.

ALTER SYSTEM modificar los parámetros y variables del sistema.

CREATE TABLE/VIEW/INDEX/TRIGGER/PROCEDURE... crear y borrar tablas propias

GRANT ANY OBJECT PRIVILEGE conceder privilegios sobre objetos de otros usuarios.

CREATE ANY TABLE/VIEW/INDEX/TRIGGER/PROCEDURE... crear tablas sobre esquemas de otros usuarios.

DROP ANY TABLE/VIEW/INDEX/TRIGGER/PROCEDURE... borrar tablas sobre esquemas de otros usuarios.

SELECT ANY TABLE/VIEW/INDEX/TRIGGER/PROCEDURE... hacer consultas sobre tablas de otros usuarios.

INSERT ANY TABLE/VIEW/INDEX/TRIGGER/PROCEDURE... añadir datos sobre esquemas de otros usuarios.

UPDATE ANY TABLE/VIEW/INDEX/TRIGGER/PROCEDURE... actualizar datos sobre esquemas de otros usuarios.

DELETE ANY TABLE/VIEW/INDEX/TRIGGER/PROCEDURE... borrar datos sobre esquemas de otros usuarios.

DAW– M02 – Clase 12


Asignación de permisos de sistema

GRANT privilegio1 [,privilegio2[,…]]


TO usuario permite que el usuario al que se le concede el
privilegio pueda conceder los privilegios de
[WITH ADMIN OPTION]; sistema obtenidos a otros usuarios. Por tanto
deberemos utilizar esta opción con cautela

DAW– M02 – Clase 12


Revocación de permisos

REVOKE privilegio1 ,privilegio2,… Al revocar los privilegios, las


acciones llevadas a cabo con
FROM usuario; ellos no se anulan.

DAW– M02 – Clase 12


Privilegios de objeto

Se trata de privilegios que se otorgan a un objeto (tabla, vista, etc) para


dar permiso de uso a un usuario.

GRANT privilegios
ON propietario.objeto
TO usuario
El usuario podrá asignar este permiso a otros
[WITH GRANT OPTION] usuarios

DAW– M02 – Clase 12


Privilegios de objeto
Privilegio Aplicable a
SELECT Tablas, vistas, instantáneas.

INSERT, UPDATE, DELETE Tablas, vistas.

ALTER Tablas, secuencias

EXECUTE Procedimientos, funciones, paquetes, sinónimos, programas en directorios.

INDEX Tablas (para crear índices en la misma)

REFERENCES Tablas (para crear claves secundarias, FOREIGN KEY)

UNDER Vistas, para crear subvistas.

DEBUG Depurar procedimientos y funciones mediante programa externo.

ON COMMIT REFRESH Actualizar la vista materializada (o instantánea) al realizar un COMMIT.

QUERY REWRITE Escribir en la vista materializada (o instantánea).

READ, WRITE Directorios

FLASHBACK ARCHIVE Archivos de datos flashback (activar o desactivar)

DAW– M02 – Clase 12


Revocación de permisos de objeto

REVOKE privilegio1 ,privilegio2,…


ON propitario.objeto
FROM usuario CASCADE CONSTRAINTS elimina
[CASCADE CONSTRAINTS]; cualquier restricción que impida
el borrado del privilegio.

DAW– M02 – Clase 12


Consulta conexiones
La información sobre la sesión se puede consultar en la vista V$SESSION.

SELECT OSUSER, USERNAME


FROM V$SESSION
ORDER BY OSUSER;

DAW– M02 – Clase 12


Información sobre permisos
Vistas con información sobre los privilegios:
Las vistas que contienen información sobre los privilegios otorgados son:

Vista Contiene información sobre...


DBA_SYS_PRIVS Privilegios de sistema asignados a usuarios y roles.
DBA_TAB_PRIVS Lista de todos los privilegios de todos los objetos de la base de datos.
DBA_COL_PRIVS Lista de todos los privilegios aplicados a columnas de base de datos.
SESSION_PRIVS Privilegios en activo para el usuario y sesión actuales.

DAW– M02 – Clase 12

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy