Archive for the ‘Base de Datos’ Category

Qué hacer ante «DB2 SQL error: SQLCODE: -551, SQLSTATE: 42501»

domingo, septiembre 29th, 2013

La explicación de este error esta aquí, pero antes de que lo leas por completo, te invito a que revises los permisos (GRANT) debido a que este error sucede cuando alguien no tiene acceso al objeto de la base de datos.

Corregir «SQL0964C Transaction log for database is full» en DB2

domingo, septiembre 29th, 2013

Cuando utilizas la utilidad LOAD o IMPORT de DB2, sobretodo cuando las tablas o la cantidad de datos superan los millones, es común encontrar el error «SQL0964C Transaction log for database is full», esto porque los archivos de transaccion están llenos, para evitar que estos se llenen rápidamente existe la posibilidad de ampliar el tamaño de éstos, el comando estando conectados a la base de datos es:

UPDATE db cfg for < database_name > using LOGFILSIZ 5000

Sin estar conectados es igual pero con db2 (el programa cliente de db2):

db2 UPDATE db cfg for < datasbase_name > using LOGFILSIZ 5000

Despues de lo cual se debe aplicar los comandos

db2 force applications all
db2stop force

Ahora bien el valor minimo – máximo del tamaño son 1 a 524286, asumiendo que el tamaño de de página de 4K el tamaño real dentro del disco es el valor por los 4096 bytes, asi que se debe asegurar el espacio en disco antes de hacer alguna modificacion.

Visitar los siguientes enlaces para mayor información:

Fixing an «SQL0964C Transaction log for database is full» error
Ajuste de las características de anotaciones cronológicas de transacción
logfilsiz – Size of log files configuration parameter

RedHat Cambia de MySQL a MariaDB

lunes, junio 17th, 2013

Uno de los que puede ser otro golpe bajo para Oracle es que RedHat decidio cambviar en su distribución de MySQL a MariaDB. Recordemos que MySQL fue adquirido por Oracle a través de la adquisición de Sun Microsystems, lo que nunca dejo muy contento a la comunidad de MySQL y así como paso con Java hizo desertar a su creador Monty (es llamado así, pero su nombre es Ulf Michael Widenius) de MySQL.

Esto tiene varias implicancias debido a que CentoS y el mismisimo Unbrakeable Linux (de Oracle) estan basados en RedHat, para que decir Fedora…

Además RedHat es dentro de la comunidad Linux el referente más importante a la hora de su instalación en servidores, y por lo general cuando toma un rumbo, más de otra distribución lo sigue.

Referencias:
ITware (Red Hat ditches MySQL, switches to MariaDB)

Instalando el listener de Oracle en modo silent

martes, mayo 14th, 2013

Debido a que ya pude hacer una Instalación del motor de la base de datos de Oracle en modo silent, y además crear una base de datos igualmente bajo la linea de mando, lo que quedaba para completar el circulo de la operatividad era instalar el listener, esto (si te guiaste por los dos articulos anteriores) se hace ejecutando

./netca /silent /responsefile /u01/app/oracle/product/11.2/db_1/inventory/response/netca.rsp

En 12c

./netca -silent -responsefile /u01/app/oracle/product/12.1/db_1/assistants/netca/netca.rsp

Encontrar en Moodle (Oracle) un texto dentro de columnas codificadas en Base64

miércoles, mayo 8th, 2013

Una de las cosas que hace moodle que en las columnas donde guarda texto, para evitar ciertas problematicas que solo ellos conocen, codifican el dato en Base64. Esto implica que en algunos casos el texto de la columna se va a ver de la siguiente forma (mirar columna CONFIGDATA):

moodle_blockinstances

Una de las maneras de decodificar directamente en Oracle estas columnas es así (un ejemplo con la tabla m_block de moodle):

select id, utl_raw.cast_to_varchar2(utl_encode.base64_decode(utl_raw.cast_to_raw( configdata))) 
from m_block_instances 
where blockname = 'html' 
and utl_raw.cast_to_varchar2(utl_encode.base64_decode(utl_raw.cast_to_raw( configdata))) like '%algun texto%'

Crear la base de datos en linea de comando

miércoles, abril 24th, 2013

Luego de la instalación de Oracle, no termina el uso de la linea de mando, debido a que la instalación de oracle en modo silencioso no crea la base de datos. Para quienes han instalado a través del modo grafico recordarán que la creación de la base de datos es parte del proceso de instalación. En este caso no, solo instalamos el software, de ahí en adelante nos toca crear la base de datos, para lo cual utilizamos el comando dbca de la siguiente forma

[root@arocl ]$su - oracle
[oracle@arocl bin]$ ./dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname oinstall -sid orcl -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 30 -emConfiguration LOCAL
Introduzca la contraseña de usuario SYS: 
 
Introduzca la contraseña de usuario SYSTEM: 
 
Introduzca la contraseña de usuario DBSNMP: 
 
Introduzca la contraseña de usuario SYSMAN: 
 
Copiando archivos de base de datos
1% terminado
3% terminado
11% terminado
18% terminado
26% terminado
37% terminado
Creando e iniciando instancia Oracle
40% terminado
45% terminado
50% terminado
55% terminado
56% terminado
60% terminado
62% terminado
Terminando creación de base de datos
66% terminado
70% terminado
73% terminado
85% terminado
96% terminado
100% terminado
Para obtener información detallada, consulte el archivo log "/u01/app/oracle/cfgtoollogs/dbca/oinstall/oinstall.log".