BASE DE DATOS AVANZADA
APORTE INDIVIDUAL
UNIDAD 3: FASE 3 - ADMINISTRACIÓN DE BASES DE DATOS
PRESENTADO POR: DAIRO JOSE ORTEGA FONSECA COD: 88257790
GRUPO: 301125_48
TUTOR: HELENA CLARA ISABEL ALEMAN
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA VICERRECTORÍA ACADÉMICA Y DE INVESTIGACIÓN INGENIERIA DE SISTEMAS. ACACIAS META 2018
Actividades por desarrollar a. Crear y gestionar estructuras de almacenamiento
Ingresa con cuenta de administrador y realiza los siguientes procesos: Crear dos "tablespace" llamados NOMINA y ACADEMICO, que contendrán datos relativos a las aplicaciones de nómina y datos académicos de los empleados de una empresa, según las siguientes características: ca racterísticas:
Parámetros almacenamiento
ACADEMICOO
NOMINA
Tamaño inicial
1M
1M
Autoextensible
SI
SI
Extensión
200K
100K
Tamaño máximo
1400K
1500K
Initial
16K
16K
Next
16K
16K
Minextents
1
1
Maxextents
3
3
NOMINA: ------------Crear ------------Crear Tablespace------------------Tablespace------------------create tablespace NOMINA datafile 'C:\Dairo_Ortega\NOMINA\NOMINA.dbf' size 1M autoextend on next 100k maxsize 1500k default storage (initial 16k next 16k minextents 1 maxextents 3);
Listar Tablespace
ACADEMICO: ------------Crear Tablespace-----------------------create tablespace ACADEMICO datafile 'C:\Dairo_Ortega\ACADEMICO\ACADEMICO.dbf' size 1M autoextend on next 200k maxsize 1400k default storage (initial 16k next 16k minextents 1 maxextents 3);
Listar Tablespace
b. Crear y gestionar usuarios:
Buscar en la documentación en línea y en la base de datos el contenido de las vistas: o
dba_profiles
DBA_PROFILES Muestra todos los perfiles y sus límites.
Columna PROFILE
Tipo de datos
NULO
RESOURCE_TYPE
VARCHAR2(30) NOT NULL VARCHAR2(32) NOT NULL VARCHAR2(8)
LIMIT
VARCHAR2(40)
RESOURCE_NAME
o
Descripción Nombre de perfil Nombre del recurso Indica si el perfil del recurso es KERNEL un PASSWORD parámetro un parámetro. Límite colocado en este recurso para este perfil.
dba_roles
DBA_ROLES Enumera todos los roles que existen en la base de datos.
Columna ROLE
Tipo de datos
PASSWORD_REQUIRED
o
NULO Descripción
VARCHAR2(30) NOT Nombre de rol NULL VARCHAR2(8) Indica si el rol requiere una contraseña para ser habilitado
dba_users
DBA_USERS Describe a todos los usuarios de la b ase de datos. Vista relacionada USER_USERS Describe el usuario actual. Este punto de vista no muestra los PASSWORD, PROFILE, PASSWORD_VERSIONS, o EDITIONS_ENABLED columnas.
Columna
Tipo de datos
NUL O
Descripción
USERNAME
VARCHAR2(3 0)
Nombre del usuario
USER_ID
NUMBER
NOT NUL L NOT NUL L
PASSWORD
VARCHAR2(3 0)
ACCOUNT_STATUS
VARCHAR2(3 2)
NOT NUL L
Número de identificación del usuario Indica si el usuario está autenticado por OID ( GLOBAL) o externamente autenticado (EXTERNAL); NULL de lo contrario Estado de la cuenta: OPEN EXPIRED EXPIRED(GR ACE) LOCKED(TIM ED) LOCKED EXPIRED & LOCKED(TIM ED) EXPIRED(GR ACE) & LOCKED(TIM ED)
EXPIRED & LOCKED EXPIRED(GR ACE) & LOCKED Fecha en que se bloqueó la cuenta si el estado de la cuenta era LOCKED Fecha de expiración de la cuenta. Espacio de tabla predeterminado para datos Nombre del espacio de tabla predeterminado para las tablas temporales o el nombre de un grupo de espacio de tabla Fecha de creación del usuario
LOCK_DATE
DATE
EXPIRY_DATE
DATE
DEFAULT_TABLESPACE
VARCHAR2(3 0)
TEMPORARY_TABLESPACE
VARCHAR2(3 0)
CREATED
DATE
PROFILE
VARCHAR2(3 0)
INITIAL_RSRC_CONSUMER_ GROUP
VARCHAR2(3 0)
EXTERNAL_NAME PASSWORD_VERSIONS
VARCHAR2(4 000) VARCHAR2(8)
EDITIONS_ENABLED
VARCHAR2(1)
o
NOT NUL L NOT NUL L
NOT NUL L NOT NUL L
Nombre del perfil del recurso del usuario Grupo de consumidores de recursos iniciales para el usuario. Nombre externo del usuario Versión de la base de datos en la que se creó o cambió la contraseña reservado para uso futuro
dba_role_privs
DBA_ROLE_PRIVS describe los roles otorgados a todos los usuarios y roles en la base de datos. Vista relacionada USER_ROLE_PRIVS Describe los roles otorgados al usuario actual.
Columna GRANTEE
Tipo de datos
NULO Descripción
VARCHAR2(30)
GRANTED_ROLE VARCHAR2(30) NOT
Nombre del usuario o rol que recibe la concesión. Nombre de rol concedido
NULL
ADMIN_OPTION
VARCHAR2(3)
DEFAULT_ROLE
VARCHAR2(3)
o
Indica si la concesión fue conADMIN OPTION( YES) o no ( NO) Indica si el rol está designado como DEFAULT ROLE para el usuario ( YES) o no ( NO)
dba_tab_privs
DBA_TAB_PRIVS Describe todas las concesiones de objetos en la base de datos. Vista relacionada USER_TAB_PRIVS describe las concesiones de objetos para las cuales el usuario actual es el propietario, otorgante o concesionario del objeto.
Columna GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTABLE HIERARCHY
o
Tipo de datos
NULO Descripción
VARCHAR2(30) NOT Nombre del usuario al que se concedió NULL el acceso. VARCHAR2(30) NOT Propietario del objeto NULL VARCHAR2(30) NOT Nombre del objeto. El objeto puede ser NULL cualquier objeto, incluidas tablas, paquetes, índices, secuencias, etc. VARCHAR2(30) NOT Nombre del usuario que realizó la NULL subvención. VARCHAR2(40) NOT Privilegio sobre el objeto. NULL VARCHAR2(3) Indica si el privilegio se otorgó con GRANT OPTION( YES) o no ( NO) VARCHAR2(3) Indica si el privilegio se otorgó con HIERARCHY OPTION( YES) o no ( NO)
dba_sys_privs
DBA_SYS_PRIVS Describe los privilegios del sistema otorgados a los usuarios y roles.
Columna GRANTEE
Tipo de datos
NULO Descripción
VARCHAR2(30) NOT Nombre del donatario, usuario o rol NULL que recibe la subvención
PRIVILEGE ADMIN_OPTION
VARCHAR2(40) NOT NULL VARCHAR2(3)
Privilegio del sistema Indica si la concesión fue con laADMINopción ( YES) o no ( NO)
Conectarse como usuario SYSTEM a la base de datos y crear un usuario llamado “administrador” autentificado por la base de datos. Indicar como "tablespace" por defecto USERS y como "tablespace" temporal TEMP; asignar una cuota de 500K en el "tablespace" USERS.
Código: create user administrador IDENTIFIED by admin default TABLESPACE USERS TEMPORARY TABLESPACE temp QUOTA 500k on USERS;
Averiguar qué privilegios de sistema, roles y privilegios sobre objetos tiene concedidos el usuario “administrador”.
ROLES
Código: SELECT * FROM dba_role_privs WHERE grantee= 'ADMINISTRADOR';
PRIVI LEGI OS SOBRE OBJE TOS
Código: SELECT * FROM dba_tab_privs WHERE grantee= 'ADMINISTRADOR';
PRIVI LEGI OS DE SI STEMA
Código: SELECT * FROM dba_sys_privs WHERE grantee= 'ADMINISTRADOR';
Otorgar el privilegio “CREATE SESSION” al usuario “administrador” e intentar de nuevo la conexión Código: GRANT CREATE SESSION TO ADMINISTRADOR;
Se inicia Sesión Código: CONNECT ADMINISTRADOR
Conectarse como usuario “administrador” y crear un usuario llamado “prueba00” que tenga como "tablespace" por defecto USERS y como "tablespace" temporal TEMP; asignar una cuota de 0K en el "tablespace" USERS. ¿Es posible hacerlo? create user prueba00 IDENTIFIED by prueba default TABLESPACE USERS TEMPORARY TABLESPACE temp QUOTA 0k on USERS;
Conectado como usuario SYSTEM, otorgar el privilegio “create user” al usuario “administrador” y repetir el ejercicio anterior.
Averiguar qué usuarios de la base de datos tienen asignado el privilegio “create user” de forma directa, ¿qué vista debe ser consultada? DESC dba_sys_privs
c.
gestionar esquemas y objetos
crear un perfil y cinco roles cada con un grupo de privilegios, estos roles serán asignados a cada usuario de la base de datos, estos usuarios son los que integran el grupo colaborativo.
Vamos a crear el Perfi l “ Proyecto” con el siguiente Código:
--------------------------Crear Perfil Proyecto------------CREATE PROFILE "Proyecto" LIMIT COMPOSITE_LIMIT DEFAULT SESSIONS_PER_USER DEFAULT CPU_PER_SESSION DEFAULT CPU_PER_CALL DEFAULT LOGICAL_READS_PER_SESSION DEFAULT LOGICAL_READS_PER_CALL DEFAULT IDLE_TIME DEFAULT CONNECT_TIME DEFAULT PRIVATE_SGA DEFAULT FAILED_LOGIN_ATTEMPTS DEFAULT PASSWORD_LIFE_TIME DEFAULT PASSWORD_REUSE_TIME DEFAULT PASSWORD_REUSE_MAX DEFAULT PASSWORD_VERIFY_FUNCTION DEFAULT PASSWORD_LOCK_TIME DEFAULT PASSWORD_GRACE_TIME DEFAULT
Ahora Cr eamos los Rolles y Privilegios
Consulta: clave “Consulta”, Privilegios: SELECT ANY DICTIONARY, EXECUTE ANY PROCEDURE, EXECUTE ANY PROGRAM, EXECUTE ANY TYPE, EXECUTE ANY INDEXTYPE, DEBUG CONNECT SESSION, EXECUTE ANY OPERATOR, EXECUTE ANY RULE, DEBUG ANY PROCEDURE, SELECT ANY TABLE, EXECUTE ANY LIBRARY, EXECUTE ANY CLASS, EXECUTE ANY EVALUATION CONTEXT, SELECT ANY SEQUENCE, SELECT ANY TRANSACTION, LOCK ANY TABLE.
Código: CREATE ROLE "CONSULTA" IDENTIFIED BY VALUES '31A9328C6AD1D84B'; GRANT SELECT ANY TRANSACTION TO "CONSULTA"; GRANT EXECUTE ANY CLASS TO "CONSULTA"; GRANT EXECUTE ANY PROGRAM TO "CONSULTA"; GRANT DEBUG ANY PROCEDURE TO "CONSULTA"; GRANT DEBUG CONNECT SESSION TO "CONSULTA"; GRANT SELECT ANY DICTIONARY TO "CONSULTA"; GRANT EXECUTE ANY INDEXTYPE TO "CONSULTA"; GRANT EXECUTE ANY OPERATOR TO "CONSULTA"; GRANT EXECUTE ANY LIBRARY TO "CONSULTA"; GRANT EXECUTE ANY TYPE TO "CONSULTA"; GRANT EXECUTE ANY PROCEDURE TO "CONSULTA"; GRANT SELECT ANY SEQUENCE TO "CONSULTA";
GRANT SELECT ANY TABLE TO "CONSULTA"; GRANT LOCK ANY TABLE TO "CONSULTA";
I nvitado: Clave “Invitado”, Privilegios: SELECT ANY DICTIONARY, SELECT ANY SEQUENCE, SELECT ANY TABLE, SELECT ANY TRANSACTION.
Código: ------------Crear Roll y Privilegios-----------------------CREATE ROLE "INVITADO" IDENTIFIED BY VALUES 'C5DEDC2A170A8DED'; GRANT SELECT ANY TRANSACTION TO "INVITADO"; GRANT SELECT ANY DICTIONARY TO "INVITADO"; GRANT SELECT ANY SEQUENCE TO "INVITADO"; GRANT SELECT ANY TABLE TO "INVITADO";
Administrador_sistema: Clave “Sistema”, Privilegios: GRANT ADMINISTER ANY SQL TUNING, GRANT ADMINISTER SQL TUNING, GRANT IMPORT FULL DATABASE, GRANT GRANT ANY OBJECT PRIVILEGE, GRANT ADMINISTER DATABASE TRIGGER, GRANT GRANT ANY PRIVILEGE, GRANT GRANT ANY ROLE.
Código: ------------Crear Roll y Privilegios-----------------------CREATE ROLE "ADMINISTRADOR_SISTEMA" IDENTIFIED BY VALUES '60D4C5D19198914A'; GRANT ADMINISTER ANY SQL TUNING SET TO "ADMINISTRADOR_SISTEMA" WITH ADMIN OPTION; GRANT ADMINISTER SQL TUNING SET TO "ADMINISTRADOR_SISTEMA" WITH ADMIN OPTION; GRANT IMPORT FULL DATABASE TO "ADMINISTRADOR_SISTEMA"; GRANT GRANT ANY OBJECT PRIVILEGE TO "ADMINISTRADOR_SISTEMA" WITH ADMIN OPTION; GRANT ADMINISTER DATABASE TRIGGER TO " ADMINISTRADOR_SISTEMA" WITH ADMIN OPTION; GRANT GRANT ANY PRIVILEGE TO "ADMINISTRADOR_SISTEMA" WITH ADMIN OPTION; GRANT GRANT ANY ROLE TO "ADMINISTRADOR_SISTEMA" WITH ADMIN OPTION;
Lectura: Clave “Lectura”, Privilegios: SELECT ANY DICTIONARY, SELECT ANY SEQUENCE, SELECT ANY TABLE, SELECT ANY TRANSACTION.
Código: ------------Crear Roll y Privilegios-----------------------CREATE ROLE "LECTURA" IDENTIFIED BY VALUES '13EEA0EE1C0DD0BE'; GRANT SELECT ANY TRANSACTION TO "LECTURA"; GRANT SELECT ANY DICTIONARY TO "LECTURA"; GRANT SELECT ANY SEQUENCE TO "LECTURA"; GRANT SELECT ANY TABLE TO "LECTURA";
Escritura: Clave “Escritura”, Privilegios: CREATE ANY CLUSTER, CREATE ANY CONTEXT, CREATE ANY DIMENSION, CREATE ANY DIRECTORY, CREATE ANY EVALUATION CONTEXT, CREATE ANY INDEX, CREATE ANY INDEXTYPE, CREATE ANY JOB, CREATE ANY LIBRARY, CREATE ANY MATERIALIZED VIEW, CREATE ANY OPERATOR,
Código: ------------Crear Roll y Privilegios-----------------------CREATE ROLE "ESCRITURA" IDENTIFIED BY VALUES '010234AC9EB16D12'; GRANT CREATE ANY JOB TO "ESCRITURA"; GRANT CREATE ANY CONTEXT TO "ESCRITURA"; GRANT CREATE ANY DIMENSION TO "ESCRITURA"; GRANT CREATE ANY INDEXTYPE TO "ESCRITURA"; GRANT CREATE ANY OPERATOR TO "ESCRITURA"; GRANT CREATE ANY LIBRARY TO "ESCRITURA"; GRANT CREATE ANY DIRECTORY TO "ESCRITURA"; GRANT CREATE ANY MATERIALIZED VIEW TO "E SCRITURA";
GRANT CREATE ANY INDEX TO "ESCRITURA"; GRANT CREATE ANY CLUSTER TO "ESCRITURA";
Crear Usuarios según miembros del Grupo y asignar R oles a Usuarios MA NG LARE L OBATON contraseña: LOBATON Código:
------------------Crear usuario y Asignar Roll-------------------------CREATE USER "MANGLARE_LOBATON" IDENTIFIED '1151F7B1E827140A' DEFAULT TABLESPACE "ACADEMICO"" TEMPORARY TABLESPACE "TEMP"; GRANT "CONSULTA" TO "MANGLARE_LOBATON";
BY
VALUES
RODNEY_ALEJANDRO_SALAMANCA contraseña: SALAMA NCA
Código: ------------------Crear usuario y Asignar Roll-----------------------CREATE USER "RODNEY_ALEJANDRO_SALAMANCA" IDENTIFIED BY VALUES '3169AEF0AC80581C' DEFAULT TABLESPACE "NOMINA" TEMPORARY TABLESPACE "TEMP";
GRANT
"INVITADO"
TO
"RODNEY_ALEJANDRO_SALAMANCA";
I VA N_SALAM ANCA contraseña: SALAMA NCA
Código: ------------------Crear usuario y Asignar Roll-----------------------CREATE USER "IVAN_SALAMANCA" IDENTIFIED '541BFD3B87C15E1C' DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP"; GRANT "ADMINISTRADOR_SISTEMA" TO "IVAN_SALAMANCA";
BY
VALUES
WI LM E R_E SNE I DE R_CAL DE RON contraseña: CALDERON
Código: ------------------Crear usuario y Asignar Roll-----------------------CREATE USER "WILMER_ESNEIDER_CALDERON" IDENTIFIED BY VALUES '00B4B1ADC43258E5' DEFAULT TABLESPACE "SYSAUX" TEMPORARY TABLESPACE "TEMP"; GRANT "LECTURA" TO "WILMER_ESNEIDER_CALDERON";
DAI RO_ORTE GA contraseña: ORTEGA
Código: ------------------Crear usuario y Asignar Roll-----------------------CREATE USER "DAIRO_ORTEGA" IDENTIFIED BY VALUES 'FAC1047C5355D512' DEFAULT TABLESPACE "ACADEMICO" TEMPORARY TABLESPACE "TEMP"; GRANT "ESCRITURA" TO "DAIRO_ORTEGA";
Programar con el lenguaje SQL el Scripts DCL para otorgar los permisos sobre los objetos de la base de datos a otros usuarios/esquemas.
------------------Crear usuario, Asignar Roll y Permisos-----------------------CREATE USER "MANGLARE_LOBATON" IDENTIFIED BY '1151F7B1E827140A' DEFAULT TABLESPACE "ACADEMICO"" TEMPORARY TABLESPACE "TEMP"; GRANT "CONSULTA" TO "MANGLARE_LOBATON";
VALUES
------------------Crear usuario, Asignar Roll y Permisos-----------------------CREATE USER "RODNEY_ALEJANDRO_SALAMANCA" IDENTIFIED BY VALUES '3169AEF0AC80581C' DEFAULT TABLESPACE "NOMINA" TEMPORARY TABLESPACE "TEMP"; GRANT "INVITADO" TO "RODNEY_ALEJANDRO_SALAMANCA"; ------------------Crear usuario, Asignar Roll y Permisos-----------------------CREATE USER "IVAN_SALAMANCA" IDENTIFIED BY '541BFD3B87C15E1C' DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP"; GRANT "ADMINISTRADOR_SISTEMA" TO "IVAN_SALAMANCA"; ------------------Crear usuario, Asignar Roll y Permisos------------------------
VALUES
CREATE USER "WILMER_ESNEIDER_CALDERON" IDENTIFIED BY VALUES '00B4B1ADC43258E5' DEFAULT TABLESPACE "SYSAUX" TEMPORARY TABLESPACE "TEMP"; GRANT "LECTURA" TO "WILMER_ESNEIDER_CALDERON"; ------------------Crear usuario, Asignar Roll y Permisos-----------------------CREATE USER "DAIRO_ORTEGA" IDENTIFIED BY VALUES 'FAC1047C5355D512' DEFAULT TABLESPACE "ACADEMICO" TEMPORARY TABLESPACE "TEMP"; GRANT "ESCRITURA" TO "DAIRO_ORTEGA";
------------------Crear usuario, Asignar Roll y Permisos-----------------------use "MANGLARE_LOBATON" DEFAULT TABLESPACE "ACADEMICO"" TEMPORARY TABLESPACE "TEMP"; GRANT "CONSULTA" TO "MANGLARE_LOBATON"; ---------modificar el Tablespace--------------------------- ALTER USER MANGLARE_LOBATON DEFAULT TABLESPACE ACADEMICO; ALTER USER DAIRO_ORTEGA DEFAULT TABLESPACE NOMINA; ALTER USER WILMER_ESNEIDER_CALDERON DEFAULT TABLESPACE ACADEMICO; ALTER USER IVAN_SALAMANCA DEFAULT TABLESPACE NOMINA; ALTER USER RODNEY_ALEJANDRO_SALAMANCA DEFAULT TABLESPACE ACADEMICO;
BIBLIOGRAFÍA Ramakrishnan, Raghu, and Johannes Gehrke. S istemas de gestión de bases de datos (3a. ed .), McGraw-Hill España, 2007. ProQuest Ebook Central, pág. 442- 453 recuperado http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=469&docID=31953 47&tm=1531498791692 San, Martín González, Enrique. Salvaguarda y seguridad de los datos: administración de bases de datos (UF1473), IC Editorial, 2014. ProQuest Ebook Central, pág. 166178recuperado http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=172&docID=41841 53&tm=1531499076799 Abelló, Alberto, and María Elena Rodríguez. Diseño y administración de bases de datos, Universitat Politècnica de Catalunya, 2006. ProQuest Ebook Central, recuperado http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=240&docID=34296 40&tm=1531345651755