Professional Documents
Culture Documents
TABLAS
Cada columna debe tener un dato. La columna debe ser definida como "nulo"
o "no es nulo" y si este valor se deja en blanco, la base de datos supone "nulo"
es la opción predeterminada.
EJEMPLO:
• Eliminar una columna (s) en una tabla: Para excluir a una columna
en una tabla existente, la sintaxis de ALTER TABLE es la siguiente:
DROP TABLE: El DROP TABLE le permite eliminar una tabla a partir de la base
de datos. La sintaxis básica para la declaración de DROP TABLE es la
siguiente:
PRIMARY KEY
);
EJEMPLO:
EJEMPLO:
FOREIGN KEY
Una clave externa significa que los valores en una tabla debe figurar también
en otra tabla. Una clave foránea se pueden definir ya sea en un comando
CREATE TABLE o ALTER TABLE.
EJEMPLO:
EJEMPLO:
UNIQUE
Un unique es un solo campo o una combinación de campos que se define
únicamente un registro. Algunos de los campos pueden contener valores
nulos, siempre que la combinación de valores es única. El unique puede
definirse por el create table o alter table.
EJEMPLO:
EJEMPLO:
EJEMPLO:
CHECK
EJEMPLO:
EJEMPLO:
EJEMPLO:
INDEX
EJEMPLO:
PROMPT"CREANDO INDEX"
CREATE INDEX indice ON Division.Pais(idCiudad);
EJEMPLO:
INSERT
EJEMPLO:
Privilegio Capacidades
Manejo de
...
Objetos
CREATE ANY INDEX Crear cualquier índice.
CREATE [PUBLIC]
Crear sinónimos [públicos].
SYNONYM
Crear tablas. El usuario debe tener cuota en el
CREATE [ANY]
espacio de tablas, o ha de tener asignado el
TABLE
privilegio UNLIMITED TABLESPACE.
CREATE [ANY] VIEW Crear vistas.
ALTER ANY INDEX Alterar cualquier índice.
ALTER ANY TABLE Alterar cualquier tabla
DROP ANY INDEX Borrar cualquier índice.
DROP ANY
Borrar cualquier sinónimo.
SYNONYM
DROP PUBLIC
Borrar sinónimos públicos.
SYNONYM
DROP ANY VIEW Borrar cualquier vista.
DROP ANY TABLE Borrar cualquier tabla.
SELECT ANY TABLE Efectuar selecciones de cualquier tabla o vista.
INSERT ANY TABLE Insertar en cualquier tabla o vista.
Borrar filas de cualquier tabla o vista, y también
DELETE ANY TABLE
truncar.
ALTER SESSION Alterar los parámetros de la sesión.
CREATE SESSION Conectarse a la BD.
Gestión de la BD ...
CREATE PROFILE Crear perfiles de usuario.
CREATE ROLE Crear roles.
CREATE ROLLBACK
Creación de segmentos de rollback.
SEGMENT
CREATE
Crear espacios de tablas.
TABLESPACE
CREATE USER Crear usuarios.
ALTER PROFILE Alterar perfiles existentes.
ALTER ANY ROLE Alterar cualquier rol.
ALTER ROLLBACK
Alterar segmentos de rollback.
SEGMENT
ALTER TABLESPACE Alterar espacios de tablas.
ALTER USER Alterar usuarios.
DROP PROFILE Borrar un perfil existente.
DROP ANY ROLE Borrar cualquier rol.
DROP ROLLBACK
Borrar un segmento de rollback existente.
SEGMENT
DROP TABLESPACE Borrar un espacio de tablas.
Borrar un usuario. Añadir CASCADE si el usuario
DROP USER
posee objetos.
ALTER DATABASE Permite una sentencia ALTER DATABASE.
GRANT ANY Otorgar cualquiera de estos privilegios.
PRIVILEGE
GRANT ANY ROLE Otorgar cualquier rol a un usario.
UNLIMITED Puede usar una cantidad de almacenamiento
TABLESPACE ilimitada.
DROP PROFILE Borrar un perfil existente.
Los privilegios se pueden agrupar en roles, para así satisfacer a distintos tipos
de usuarios. En la instalación se crea un rol llamado OSOPER que sirve para los
operarios de la máquina donde está la BD y permite realizar copias de
seguridad en frio y en caliente. Los privilegios de OSOPER son STARTUP,
SHUTDOWN, ALTER DATABASE OPEN/MOUNT, ALTER DATABASE BACKUP,
ARCHIVE LOG, RECOVER y RESTRICTED SESSION.
Se pueden crear nuevos roles. Por ejemplo, podemos crear un rol llamado
creadorCuentas que sólo pueda crear usuarios y no pueda realizar ninguna otra
operación de DBA. Las sentencias que permiten hacer esto son las siguientes:
Oracle incluye otros tres roles de sistema: CONNECT, RESOURCE y DBA, cuyos
privilegios son:
Rol Privilegios
alter session, create session, create cluster, create table,
CONNECT create view, create synonym, create sequence, create
database link
create cluster, create table, create procedure, create
RESOURCE
sequence, create trigger
todos los privilegios de sistema con la opcion with admin
DBA
option
Los recursos que pueden ser limitados via perfil son los siguientes:
Recurso Descripción
El número de sesiones concurrentes que
SESSIONES_PER_USER
un usuario puede tener en una instancia.
El tiempo de CPU, en centenas de
CPU_PER_SESSION
segundos, que una sesión puede utilizar.
El número de minutos que una sesión
CONNECT_TIME
puede permanecer activa.
El número de minutos que una sesión
IDLE_TIME puede permanecer sin que sea utilizada
de manera activa.
LOGICAL_READS_PER_SESSIO El número de bloques de datos que se
N pueden leer en una sesión.
El número de bloques de datos que se
LOGICAL_READS_PER_CALL
pueden leer en una operación.
La cantidad de espacio privado que una
PRIVATE_SGA sesión puede reservar en la zona de SQL
compartido de la SGA.
El número de total de recursos por
sesión, en unidades de servicio. Esto
resulta de un calculo ponderado de
CPU_PER_SESSION, CONNECT_TIME,
COMPOSITE_LIMIT
LOGICAL_READS_PER_SESSION y
PRIVATE_SGA, cuyos pesos se pueden
variar con el comando ALTER RESOURCE
COST.
En general, el perfil por defecto debe ser adecuado para los usuarios normales;
los usuarios con requerimientos especiales deberían tener perfiles especiales.
Los usuarios pueden entrar en la BD una vez que han dado un nombre de
usuario y una palabra de paso. Sin embargo, es posible aprovecharse del
Sistema Operativo para obtener un nivel adicional de autentificación.
$ sqlplus /
$ sqlplus ops$alu10/01ula
Los passwords puede proteger tanto cuentas como roles. Los passwords se
fijan a la hora de la creación de ambos y se pueden modificar con los
comandos ALTER USER y ALTER ROLE, respectivamente.
Los privilegios dan acceso a los usuarios a los datos que no poseen. Los roles
con grupos de privilegios que facilitan la administración de los privilegios. Pero
los privilegios se pueden manejar de manera explícita en algunas
circunstancias.
Los roles pueden asignarse a los usuarios. Así, podemos asignar el rol
INSERTA_PEREZ al usuario alu20:
Vista Contenidos
DBA_ROLES Nombres de los roles y su estado del password.
DBA_ROLES_PRIVS Usuarios a los que han sido otorgados roles.
Usuarios a los que han sido otorgados privilegios del
DBA_SYS_PRIVS
sistema.
Usuarios a los que han sido otorgados privilegios
DBA_TAB_PRIVS
sobre objetos.
Usuarios a los que han sido otorgados privilegios
DBA_COL_PRIVS
sobre columnas de tablas.
ROLE_ROLE_PRIVS Roles que han sido otorgados a otros roles.
ROLE_SYS_PRIVS Privilegios de sistema que han sido otorgados a roles.
ROLE_TAB_PRIVS Privilegios de tabla que han sido otorgados a roles.
Auditando Acciones
Se puede auditar cualquier acción que afecte a cualquier objeto de la BD. Para
facilitar la gestión, las acciones a auditar se encuentran agrupadas según los
grupos que se muestran en la siguiente tabla: