Archive for the ‘Base de Datos’ Category

Instalar lisbstdc++.so.5 en Centos 6

miércoles, septiembre 5th, 2012

Para lograr compatibilidad de algunas aplicaciones antiguas que quieras instalar en Centos 6, como en mi caso DB2 9.1, debes primero instalar el paquete de compatibilidad que contiene esta librería.

yum install compat-libstdc++-33

Listar las conexiones activas en DB2

jueves, agosto 16th, 2012

Uno de los comando para listar las conexiones que estan activas en DB2 es

db2 list applications # show detail 

Con esto aparecerá la lista de todas las conexiones, entre aplicaciones y usuarios directos.

Auth Id  Application    Appl.      Application Id                                                 DB       # of
         Name           Handle                                                                    Name    Agents
-------- -------------- ---------- -------------------------------------------------------------- -------- -----
DB2INST1 db2bp          742        *LOCAL.db2inst1.120817020005                                   AROSAMP  1    
AROSAMP  db2jccPrograma 699        NF000001.JCD5.120817013230                                     AROSAMP  1    
AROSAMP  db2jccserver.s 697        NF000001.JBD5.120817013229                                     AROSAMP  1    
AROSAMP  db2jccVerifica 695        NF000001.JAD5.120817013228                                     AROSAMP  1    
AROSAMP  db2jccVerifica 698        NF000001.J9D5.120817013227                                     AROSAMP  1    
AROSAMP  db2jccserver.s 694        NF000001.J8D5.120817013226                                     AROSAMP  1    
AROSAMP  db2jccWebConta 211        NF000001.HD83.120816192305                                     AROSAMP  1    
AROSAMP  db2jccImp_AI_F 939        NF000001.FD8D.120816121516                                     AROSAMP  1    
AROSAMP  db2jccImDI1F61 940        NF000001.FC8D.120816121515                                     AROSAMP  1    
AROSAMP  db2jccImDI1F52 857        NF000001.NAC3.120815003417                                     AROSAMP  1    
DB2INST1 db2evmg_DB2DET 10         *LOCAL.DB2.120806024420                                        AROSAMP  1    
AROSAMP  db2taskd       9          *LOCAL.DB2.120806024418                                        AROSAMP  1    
AROSAMP  db2stmm        8          *LOCAL.DB2.120806024417                                        AROSAMP  1    

Transacciones ACID

miércoles, julio 25th, 2012

En el contexto de transacciones de bases de datos, ACID es un acrónimo de Atomico (Atomic), Consistente (Consistent), Aislado (Isolation) y Durabilidad(Durable). Las transacciones proporcionan un modelo sencillo de éxito o fracaso una o un conjunto de operaciones en la base de datos. Una transacción se compromete (es decir, todas sus acciones se ejecutaron de forma correcta), o se anula (es decir, si una accion fallo, entonces todas sus acciones hechas hasta ese momento se deshacen). Los atributos de una transacción ACID son las siguientes:

Atomicidad

Una transacción permite la agrupación de uno o más cambios en las tablas y filas en la base de datos para formar una operación atómica e indivisible. Es decir, o bien se producen todos los cambios o ninguno de ellos. Si por alguna razón la transacción no puede completarse, la operación debe restablecer el estado de la base de datos al momento en que estaba antes del inicio de la transacción a través de una operación de reversa (rollback).

Consistencia

Las transacciones siempre operan en una visión coherente de los datos y cuando terminan deben también dejar los datos en un estado coherente. Mientras que una transacción se ejecuta se generan inconsistencias momentaneas dentro de la base de datos, pero la transaccion no puede dejar ver estas inconsistencias; al finalizar, debido a que en la finalización todas las inconsistencias deben son eliminadas, la transaccion libera los datos para que puedan ser leídos/escritos nuevamente.

Aislamiento

Para una operación determinada, debería ser como si ésta se estuviese ejecutando sola en la base de datos. Los efectos de la ejecución simultánea de las transacciones son invisibles para esta transacción, y los efectos de esta transacción son invisibles para los demás hasta que la transacción ha comprometido su trabajo.

Durabilidad

Una vez que se confirma una transacción y sus efectos, se garantiza que persista incluso en el caso de fallos posteriores del sistema. Hasta antes de que se confirme la transacción, los cambios realizados por esa transacción no son durables, y no persisten en la cara de un fallo del sistema, al recuperarse de un fallo se deshacen las inconsistencias provocas por la ejecución no terminada de la transaccion.

La simplicidad de las transacciones ACID es especialmente importante en un entorno de base de datos distribuida, donde las transacciones se realizan de forma simultánea.

Oracle 11g no exporta algunas tablas

jueves, abril 26th, 2012

En la versión Enterprise de Oracle 11g se añadió la funcionalidad de no exportar tablas con una cantidad de cero(0) registros. Esto yo asumo que lo hizo para la economización de espacio, CPU o cualquier otra razón. Pero para los que ocupamos esta utilidad para mover bases de datos enteras y trasaladarlas de un lado a otro, creo que nos dejo de ser muy util.

El tema se registra en que un tabla con creo registros no tiene ubicado espacio, por lo que no se exportará. Por lo mismo debemos saber que tablas son las que poseen cero registro y aplicar

ALTER TABLE nombre_tabla ALLOCATE EXTENT; 

Con esto la tabla ya va a ser exportada aun cuando no posea registros.
Para ello es ulti la consulta.
Con ella generamos la siguiente

 SELECT 'ALTER TABLE ' || table_name || ' ALLOCATE EXTENT; '
 FROM all_Tables
 WHERE owner = '&usuario' and num_rows=0;

La salida de esta script la ejecutas luego y estarás listo para exportar.

Extraer la cantidad de registros de una tabla en Oracle

jueves, abril 26th, 2012

Para extraer la información de que cantidad de registros tiene una tabla en la base de datos Oracle se debe utilizar la siguiente consulta:

SELECT table_name
FROM all_Tables
WHERE owner = '&usuario' and num_rows=0;

Esta retornará todas las tablas con cero(0) registros

Instalar el cliente de Oracle 10g en windows 7 (Home Premium)

jueves, febrero 9th, 2012

Oracle no tiene certificadas las aplicaciones de Oracle 10g para Windows 7. Por mi parte al intentar instalar el cliente de Oracle 10g reclamaba porque las versiones no eran compatibles. Para la instalación ejecute el setup con el siguiente parametro:

setup.exe -ignoreSysPrereqs

Con ello la instalación se logró en Windows 7 Home Premium, el unico problema es que el menu solo apareció al reinicio.