Вы находитесь на странице: 1из 28

ALCALDA DE SAN ANTONIO DEL SENA

Direccin de Servicios de Tecnologas de


Informacin y Comunicaciones DSTIC

Socializacin y evaluacin del modelo


transaccional en un motor de bases de datos

Octubre de 2017
Garantizamos la confidencialidad de su informacin
y la integridad de sus medios!

Presentado por:

Juan lvaro Bravo Rivera No. De ficha 1413037


Jhonny Delgado No. De Ficha 1413038
Alejandro Gmez Rodrguez No. De ficha 1413038
Contenido

1. Introduccin .......................................................................................................................... 3
2. Objetivo ................................................................................................................................... 3
2.1 Objetivos especificos ................................................................................................... 3
3. Alcance .................................................................................................................................... 4
4. Consideraciones ................................................................................................................. 4
5. Preguntas formuladas....................................................................................................... 4
5.1 Como es el manejo transaccional en una base de datos dependiendo
del motor utilizado? .................................................................................................................... 4
5.2 Cmo se genera un bloqueo? ............................................................................. 10
5.3 Como se libera un bloqueo? ............................................................................... 12
5.4 De que forma se hace seguimiento a las transacciones en un
determinado momento? ......................................................................................................... 13
5.5 Cundo mltiples usuarios acceden en un mismo instante de tiempo
a un recurso de la Base de Datos, como gestiona el motor la concurrencia?
24
6. Glosario ................................................................................................................................ 24
7. Referencias ......................................................................................................................... 27

Pgina. 2
1. Introduccin

La Evaluacin de una Base de Datos BD, es una de las tareas ms importantes de un


Administrador de Base de Datos. Este profesional es el encargado de analizar
constantemente el funcionamiento del Sistema manejador de Bases de Datos SMBD,
para optimizar el uso de los recursos, como CPU, Memoria, Disco y Red, para ver su
desempeo. El anlisis constante de un Sistema Manejador de Bases de Datos SMBD,
permite ver su desempeo en todo momento. Si se detecta que las transacciones no
son respondidas con la rapidez que se necesita o se pierden datos, el Administrador
de la Base de Datos, debe aplicar las medidas correctivas para solucionar las fallas,
analizando su comportamiento a travs de herramientas grficas provistas por el
fabricante de la aplicacin.

En este laboratorio se realizaran actividades en las que se aborda situaciones


problemticas que le ayudaran al administrador de bases de datos SQL Server a
desarrollar habilidades que le permitan realizar un control adecuado sobre la
concurrencia y bloqueos en la base de datos. Los DBA tienen la responsabilidad de
mantener disponibles los servicios que presta la base de datos, para ello deben
controlar el comportamiento de los procesos que acceden de forma concurrente sobre
datos compartidos y los bloqueos que estos generan sobre los mismos.
(Senaintro.blackboard.com, 2017)

2. Objetivo

Una vez conocido el detalle de los procedimientos y acciones a travs de los cuales el
motor de base de datos seleccionado gestiona transacciones, controla bloqueos y
concurrencia (Actividad AA10-3), debe participar en el foro temtico Socializacin y
evaluacin del modelo transaccional en un motor de Bases de Datos especfico,
aportando una conclusin con respecto a la manera como se manejan transacciones,
bloqueos y concurrencia en el SMBD de su eleccin. As la informacin estar
dispuesta en la plataforma para recibir la retroalimentacin de sus compaeros y
adems debe dar su opinin sobre el trabajo de dos o ms participantes del proceso.

2.1 Objetivos especificos

Reconocer las herramientas que son tiles para la supervisin de


transacciones y bloqueos en el SMBD SQL Server.
Utilizar las herramientas de supervisin para monitorear el comportamiento de
las transacciones y bloqueos en el SMBD SQL Server.
Administrar los recursos utilizados por las transacciones y bloqueos para
mantener disponible los servicios de la base de datos SQL.

Pgina. 3
3. Alcance

La evidencia del desarrollo de esta actividad va desde participar en el foro temtico de


acuerdo a las indicaciones dadas en la descripcin de la actividad. Ingresando al foro
a travs del enlace disponible en la opcin del men del curso Actividades.

4. Consideraciones

Antes de realizar la actividad es importante revisar aspectos tales como:

Soporte terico
Productos requeridos
Herramientas de SW

5. Preguntas formuladas

El presente laboratorio est compuesto por una serie de preguntas que permitirn
abordar los principales aspectos que deben ser tenidos en cuenta para gestionar
transacciones, controlar bloqueos, y concurrencia.

5.1 Como es el manejo transaccional en una base de datos dependiendo del motor
utilizado?

Una transaccin es un evento secuencial de cambios a una base de datos las


transacciones se emplean como mecanismos de peticin, los ejemplos ms bsicos
de transacciones son insercin, borrado y actualizacin de una base de datos, puede
generarse transacciones ms complejas que contengan una serie de pasos.

Es importante conocer las propiedades de una transaccin; las transacciones deben


poseer las siguientes caractersticas para ser exitosas e integrales:

Atomicidad: Todas las transacciones dentro de la sentencia deben ejecutarse


sin errores si por algn motivo no se cumple, la transaccin aborta en el punto
de ruptura y deshace todos los cambios

Consistencia: Se debe asegurar que todos los cambios en la base de datos


sean correctos y estn guardados.

Aislamiento: Dos transacciones no pueden estar visualizando informacin al


mismo tiempo.

Durabilidad: La transaccin debe asegurar que los cambios realizados


perdurarn aunque el sistema falle.

Pgina. 4
Para dirigir el flujo y mantener sus propiedades existen las siguientes sentencias en
SQL:

Commit: Guarda los cambios realizados


Rollback: Deshace los cambios realizados
Savepoint: Crea un punto de restauracin dentro de un conjunto de
trasacciones para luego deshacer los cambios si es necesario

Manejo de transacciones: EL manejo transaccional inicia tras ingresar a la base de


datos en este caso seleccionaremos la tabla SecSalud (Secretaria de salud), daremos
clic derecho sobre esta tabla y clic en mostrar las primeras filas para evidenciar que
tengamos informacin.

Como podemos apreciar la informacin contenida en la tabla es la siguiente.

Pgina. 5
Ahora procederemos a elaborar dos (2) transacciones diferentes insertando,
actualizando o eliminando registro de esta base de datos, todas estas transacciones
deben quedar abiertas.

Ahora procederemos a iniciar la transaccin.

Como podemos ver los comandos se han ejecutado correctamente. A continuacin el


cdigo empleado.
BEGIN TRANSACTION
INSERT INTO EstadoEPS (descripcion) VALUES ('Sin registro')

Pgina. 6
Como podemos ver los comandos se han ejecutado correctamente. A continuacin el
cdigo empleado.

BEGIN TRANSACTION
UPDATE EstadoEPS SET descripcion='Arbitrada' WHERE descripcion='Intervenida'

El comando COMMIT TRANSACTION le confirma al Sistema Manejador de Bases de


Datos SMBD que las modificaciones ejecutadas anteriormente deben ser permanentes
en la base de datos, es decir es el comando que autoriza la ejecucin de una sentencia
SQL o proceso de forma que sea permanente lo que se desea realizar, bien sea para
crear, consultar, guardar, modificar o eliminar en la base de datos o parte de ella.

Al volver a consultar las sentencias anteriores tuvieron efecto es decir fueron


efectuadas de forma permanente de tal forma que se realiz un nuevo registro en la
tabla con descripcin Sin registro y se actualizo el registro con descripcin
Intervenida por Arbitrada.

Pgina. 7
Que sucede al hacer una consulta de todos los datos de la tabla EPS si anteriormente
se ejecuta el comando?
BEGIN TRANSACTION
INSERT INTO EPS (ideps, nombre, estadoeps)
VALUES (15,'confisena',1)

Pgina. 8
Al realizar una consulta en la tabla EPS despues de ejecutar la sentencia, se notan los
mismos datos que tenia anteriormente, concluyendo que no se realizo el registro
propuesto en la sentencia ya que se genero un error con el mensaje de consulta
completada con errores A continuacin la evidencia.

Al ser una clave primaria y estar identificada como nica en la tabla y auto
incrementable, es decir que el SMBD lo aumenta en uno este campo, en las
inserciones no hay necesidad de nombrar y enviar un valor en este campo ya que el
SMBD se encarga de eso por ello es que internamente se apaga o se coloca en estado
OFF la propiedad IDENTITY_INSERT ya que si fuere ON su estado es porque permite
la insercin, ya que no es auto incrementable el campo sin importar si es o no una
clave primaria.

Para cancelar la transaccin hay que ejecutar la sentencia: ROLLBACK TRANSACTION

Pgina. 9
5.2 Cmo se genera un bloqueo?

Bloqueos.
Abra una nueva consulta. Use la base de datos Secretaria de Salud En una nueva
consulta ejecute sp_lock y revise los resultados.

Pgina. 10
Abra informe de transaccio nes de bloqueo para verificar que no hay ningn bloqueo
activo. Clic derecho en su bd -> informe -> informe estndar -> Todas las transacciones
de bloqueo.

Pgina. 11
Al realizar la anterior prctica se consultaron los bloqueos que presenta el sistema y
en ambos mtodos encontramos el mismo resultado. Actualmente no hay
transacciones de bloqueo para la base de datos (SecSalud).

En conclusin un bloqueo es generado tras requerir lectura o modificacin de datos


modificados por otros usuarios y esta es la razn principal de la pregunta generada en
este apartado.

5.3 Como se libera un bloqueo?

Para anular bloqueos de una base de datos SQL podemos seguir los pasos a
continuacin descritos:

1. Abrir la consola de SQL Server. sta se encuentra en el men "Inicio" de


Windows, bajo el men "SQL Server". Clic en "SQL Server Management Studio"
para abrir la consola.
2. Escribir "sp_who 'active' " en el espacio de trabajo y presiona la tecla "Entrar".
Esto muestra todos los procesos, nombres de usuario y sesiones de ID
asociadas a ellos. Identificar cul ID est provocando el bloqueo.

Pgina. 12
3. Identificar la ID de sesin para el registro bloqueado. Desde la lista que apareci
en el Paso 2, encontrar el usuario que tiene el bloqueo de registro y apuntar la
ID de sesin. Esta ID se requiere para los siguientes pasos.
4. Escribir "Kill <ID de sesin>" en la consola. Esto remover el bloqueo de registro
en la fila de la tabla. Una vez que el bloqueo haya sido removido, abrir la tabla
para comprobar que el bloqueo fue eliminado de forma exitosa.
5. Detener y reiniciar la aplicacin que experiment el problema al consultar la
tabla. Este paso es requerido si el bloqueo de registro estaba provocando
problemas con una aplicacin de escritorio. Esto adems ayuda a restablecer
cualquier aplicacin que haya estado causando errores cuanto intentbamos
consultar el registro bloqueado.

O bien sea solucionar el bloqueo a travs de una reversin con ROLLBACK TRANSACTION,
para que la sentencias guarden los cambios de forma permanente se coloca al final de
la sentencia un COMMIT TRANSACTION

5.4 De que forma se hace seguimiento a las transacciones en un determinado


momento?

El mtodo ms sencillo es el empleo de la herramienta que trae por defecto SQL en el


cual a travs de una serie de informes que se presentan a continuacin puede
realizarse el seguimiento en un momento determinado

Abra informe de transaccio nes de bloqueo para verificar que no hay ningn bloqueo
activo. Clic derecho en su bd -> informe -> informe estndar -> Todas las transacciones
de bloqueo.

Pgina. 13
Pgina. 14
Al realizar la anterior prctica se consultaron los bloqueos que presenta el sistema y
en ambos mtodos encontramos el mismo resultado. Actualmente no hay
transacciones de bloqueo para la base de datos (SecSalud).

Igualmente podemos realizar multiples informes para hacer seguimiento a las


trasacciones, entre los cuales encontramos:

Uso de Disco

Pgina. 15
Uso de disco por tablas superiores

Uso de disco por tabla

Pgina. 16
Uso de disco por particin

Eventos de copias de seguridad y restauracin

Pgina. 17
Todas las transacciones

Principales transacciones por edad

Pgina. 18
Principales transacciones por recuento de transacciones bloqueadas

Principales transacciones por recuento de bloqueo

Pgina. 19
Estadisticas de bloqueo de recursos por objetos

Historial de coherencia de la base de datos

Pgina. 20
Uso de memoria por objetos con optimizacin de memoria

Estadisticas de uso de indice

Pgina. 21
Estadisticas fisicas del indice

Historial de cambios de esquema

Pgina. 22
Estadisticas de usuario

De igual forma podemos realizar informes personalizados como se muestra


continuacin

Pgina. 23
Establecemos criterios y generamos informes acorde a las necesidades de la
organizaci y del administrador de bases de datos, los cuales son utiles en la
presentacin de informes y generacin de datos que den valor en la toma de
decisiones.

5.5 Cundo mltiples usuarios acceden en un mismo instante de tiempo a un


recurso de la Base de Datos, como gestiona el motor la concurrencia?

Si mltiples usuarios acceden en un mismo instante de tiempo a un recurso de la Base


de Datos la concurrencia se maneja a travs del bloqueo teniendo en cuenta los
diferentes tipos de bloqueos que se dan y el Deadlock.

6. Glosario

ATOMICIDAD: Es la propiedad de las transacciones que permite observarlas


como operaciones atmicas: ocurren totalmente o no ocurren.
Casos a considerar:
Consultas unitarias. Incluso para consultas unitarias hay que preservar la
atomicidad: en un sistema operativo de tiempo compartido, la ejecucin
concurrente de dos consultas SQL puede ser incorrecta si no se toman las
precauciones adecuadas.
Operacin abortada. Por ejemplo, debido a una divisin por cero; por privilegios
de acceso; o para evitar bloqueos

ADMINISTRACIN DE BASE DE DATOS RELACIONAL: Tcnica de administracin


de bases de datos en la que la informacin se guarda en tablas de datos
bidimensionales. El programa que funciona con dos tablas de datos al mismo tiempo,
relaciona la informacin mediante vinculaciones establecidas por una columna o
campos comunes.

ACCESO: La manera en la cual los archivos o conjunto de datos son referenciados


por la computadora.

BASE DE DATOS: Es una serie de datos organizados y relacionados entre s, los


cuales son recolectados y explotados por los Sistemas de Informacin de una empresa
o negocio en particular.

BUSCADORES: O tambin llamados motores de bsqueda, son herramientas que


permiten clasificar la informacin que existe en la red y hacerla localizable en poco
tiempo segn las preferencias del usuario.

CAMPO: Unidad bsica de una base de datos, un campo puede ser, por ejemplo, el
nombre de una persona. Los nombres de los campos, no pueden empezar con
espacios en blanco y caracteres especiales. No pueden llevar puntos, ni signos de
exclamacin o corchetes. Si pueden tener espacios en blanco en el medio.

Pgina. 24
CONFIDENCIALIDAD: (ISO/IEC 13335-1:2004) Propiedad de la informacin por la
que est no se muestra disponible o revelada para individuos, entidades o procesos
no autorizados.

CONSISTENCIA: La ejecucin aislada de la transaccin conserva la consistencia de


la base de datos.

CONFIGURACIN: Trmino genrico usado para describir un grupo de Elementos de


Configuracin que actan o funcionan juntos para proveer un Servicio de TI, o un
subconjunto representativo de un Servicio de TI. El trmino Configuracin tambin se
usa para describir los parmetros y ajustes realizados en uno o ms CIs.

CONTINGENCIA: Es un tipo preventivo, predictivo y reactivo, en el cual se presenta


una estructura estratgica y operativa que ayudar a controlar una situacin de
emergencia y a minimizar sus consecuencias negativas.

DISPONIBILIDAD: (ISACA/CISM) Garantizar que los sistemas de informacin y los


datos estn listos para su uso cuando se les necesita; a menudo se expresa como el
porcentaje de tiempo que se puede utilizar un sistema para trabajo productivo.

DATOS ESTADSTICOS: estos almacenan informacin estadstica sobre los datos en


la base de datos.

DBMS: Es un conjunto de programas que se encarga de manejar la cremacin y todos


los acceso a las bases de datos.

DDL: Es un lenguaje de definicin de datos

El DBMS: es un conjunto de programas que se encargan de manejar la creacin y


todos los accesos a las bases de datos.

ELIMINACIN: Es una solicitud de eliminacin que se expresa de forma muy parecida


a una consulta. Sin embargo, en vez de presentar tuplas al usuario, quitamos las tuplas
seleccionadas de la base de datos. Slo puede eliminar tuplas completas; no se puede
eliminar nicamente valores de determinados atributos.

FACILIDAD DE CONSULTAS: Permitir al usuario hacer cuestiones sencillas a la base


de datos. Este tipo de consultas tienen como misin proporcionar la informacin
solicitada por el usuario de una forma correcta y rpida.

FORMULARIO: es el elemento en forma de fecha que permite la gestin de los datos


de una forma ms cmoda y visiblemente ms atractiva

GESTOR DE BASE DE DATOS: Es un conjunto de programas que permiten crear y


mantener una base de datos, asegurando su integridad, confidencialidad y seguridad

Pgina. 25
INFORMES: Es un trabajo cuyos resultados o cuyo producto es esperado por
personas distintas a quien lo realiza o bien el mismo es encargado por terceros.

INDEPENDENCIA DE LOS DATOS: Se refiere a la proteccin contra los programas


de aplicaciones que pueden originar modificaciones cuando se altera la organizacin
fsica y lgica de las bases de datos.

JDBC: La Conectividad de Bases de Datos Java (Java Database Connectivity, JDBC)


es una especificacin de la interfaz de aplicacin de programa (application program
interface, API) para conectar los programas escritos en Java a los datos en bases de
datos populares.

LA MANIPULACIN DE DATOS: la manipulacin de datos es la recuperacin de


informacin almacenada en la base de datos

LENGUAJE DE CONSULTA: Son los lenguajes en el que los usuarios solicitan


informacin de la base de datos. Estos lenguajes son generalmente de ms alto nivel
que los lenguajes de programacin. Los lenguajes de consulta pueden clasificarse
como procedimentales y no procedimentales

MANIPULACIN DE BASE DE DATOS: Usando la base de Datos -- el usuario puede


aadir, borrar y modificar informacin a la base de datos as como tambin hacer
consultas

MODELO DE BASE DE DATOS ORIENTADO A OBJETOS: es una adaptacin a los


sistemas de bases de datos. Se basa en el concepto de encapsulamiento de datos y
cdigo que opera sobre estos en un objeto.

MODELOS DE RED: Este modelo permite la representacin de muchos a muchos de


una Base de Datos. El modelo de red evita redundancia en la informacin, a travs de
la incorporacin de un tipo de registro denominado el conector.

NIVEL LOGICO: definicin de las estructuras de datos que constituyen la base de


datos.

PLAN: Es una propuesta detallada que describe las actividades y recursos necesarios
para lograr un objetivo.

RECUPERACIN: Proporcionar como mnimo el mismo nivel de recuperacin que los


sistemas de bases de datos actuales. De forma que, tanto en caso de fallo de hardware
como de fallo de software, el sistema pueda retroceder hasta un estado coherente de
los datos.

REGLAS DE INTEGRIDAD: Son restricciones que definen los estados de


consistencias de las bases de datos.

Pgina. 26
SISTEMA DE ADMINISTRACIN DE BASES DE DATOS: Es el software que controla
la organizacin, almacenamiento, recuperacin, seguridad e integridad de los datos en
una base de datos

SOFTWARE: Es un sistema manejador de bases de datos que permite al usuario


accesar con facilidad a los datos almacenados o que ande ser almacenados

SERVIDOR: Mquina en la cual se almacena Informacin de las aplicaciones, y/o las


mismas aplicaciones.

SERVICIOS: Es un conjunto de actividades que buscan responder las necesidades de


un cliente, interno y /o externo.

SQL: Es un lenguaje declarativo de acceso a bases de datos relacionales que permite


especificar diversos tipos de operaciones en ellas. Una de sus caractersticas es el
manejo del lgebra y el clculo relacional que permiten efectuar consultas con el fin de
recuperar de forma sencilla informacin de inters de bases de datos, as como hacer
cambios en ella.

TI: Tecnologa de informacin

TRANSACCIONES COMPARTIDAS: Las transacciones compartidas soportan grupos


de usuarios en estaciones de trabajo, los cuales desean coordinar sus esfuerzos en
tiempo real, los usuarios pueden compartir los resultados intermedios de una base de
datos. La transaccin compartida permite que varias personas intervengan en una sola
transaccin.

TRANSACCIN: Una transaccin es una unidad de la ejecucin de un programa.


Puede consistir en varias operaciones de acceso a la base de datos. Est delimitada
por constructores como Begin Transaction y End Transaction.

USUARIO FINAL: es quien acceso a las bases de datos por medio de un lenguaje de
consulta o de programas de aplicacin.

7. Referencias

Senaintro.blackboard.com. (2017). Citar un sitio web - Cite This For Me. [online]
Disponible en:
https://senaintro.blackboard.com/webapps/blackboard/content/listContent.jsp?
course_id=_1860232_1&content_id=_93567484_1 [Accesado 15 Oct.
2017].https://docs.microsoft.com/es-es/sql/relational-
databases/indexes/reorganize-and-rebuild-indexes
Anon, (2017). [online] Disponible en:
https://senaintro.blackboard.com/bbcswebdav/pid-93567531-dt-content-rid-

Pgina. 27
127071882_4/institution/semillas/217219_1_VIRTUAL/OAAPs/OAAP5/inst_ev
al/egbd-p05-aa10-ev04.pdf [Accesado 15 Oct. 2017].
Angelfire.com. (2017). Glosario de Base de Datos. [online] Disponible en:
http://www.angelfire.com/ultra2/pecanpie/Bimestral/Glosario.htm [Accesado 15
Oct. 2017].
iscgarcia, M. (2017). Apuntes de Administracin de Bases de Datos -
Monografias.com. [online] Monografias.com. Disponible en:
http://www.monografias.com/trabajos19/administracion-base-
datos/administracion-base-datos.shtml [Accesado 15 Oct. 2017].
Co.video.search.yahoo.com. (2017). Cuando Usar Un Deadlock - Yahoo Search
Results Resultados de bsqueda de Yahoo Videos. [online] Disponible en:
https://co.video.search.yahoo.com/yhs/search;_ylt=A0LEVjrru.NZ00gAyn7XdA
x.;_ylu=X3oDMTByMjB0aG5zBGNvbG8DYmYxBHBvcwMxBHZ0aWQDBHNlY
wNzYw--?p=Cuando+Usar+Un+Deadlock&fr=yhs-iry-
fullyhosted_003&hspart=iry&hsimp=yhs-
fullyhosted_003#id=2&vid=26449bd533ddff707e13d11a72f26360&action=view
[Accesado 15 Oct. 2017].
Technet.microsoft.com. (2017). Detectar y finalizar interbloqueos. [online]
Disponible en: https://technet.microsoft.com/es-
es/library/ms178104%28v=sql.105%29.aspx [Accesado 15 Oct. 2017].
Techlandia.com. (2017). Citar un sitio web - Cite This For Me. [online] Disponible
en: https://techlandia.com/anular-bloqueo-base-datos-sql-como_137972/
[Accesado 15 Oct. 2017].

Pgina. 28