Archive for the ‘CEntOS’ Category

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

Sincronizacion de servidores con rsync

miércoles, mayo 8th, 2013

Cuendo requiere que un cambio en un servidor se refleje en ‘n’ servidores más debes pensar en utilizar rsync de forma de trabajar en un servidor y sincronizar todos los demás segun el cambio hecho en el que se trabajó.

Por lo mismo en el que estás trabajando lo puedes definir como «maestro» y los demás como segundarios. Pensando de esta forma se debe

sincronizacion

Desde el equipo maestro ejecutar

rsync -avz /ruta/a/carpeta/local/ usuarioRemoto@ip_o_hostname_equipo_que_recibe:/carpeta/remota/

n veces, cambiando la ip o hostname. En general, debido a que esta sincronizacion se hace por medio de ssh te solicitará una password, que es la del equipo remoto. Para saltarte la peticion de password ejecuta

ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub ip_o_hostname_equipo_que_recibe

Y listo, de ahi en adelante no te pedira password y podras introducirlo en un cron o algo asi.

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".

Instalando Oracle 11G/12c a línea de mando (Silent Mode)

miércoles, abril 24th, 2013

La verdad es que desde hace un tiempo las instalaciones de Oracle se pueden hacer en modo gráfico «como en Windows» pero para aquellos que estamos acostumbrados al modo texto o lisa y llanamente solo podemos utilizar un terminal a línea de mando, es util tener el conocimiento de co mo instalar Oracle de esta forma.

Preparación

Bien es cierto que la linea para ejecutar en modo silent es conocida, es necesario crear los usuarios y las carpetas necesarias para una instalación adecuada. Para ello debes primer crear los usuarios que se requieren para la instalación y ejecución de la base de datos.

groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle

Aunque es obvio, si estas leyendo esto es porque tienes los archivos de instalación

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip


Actualizacion (24-09-2015)
Por mi parte encuentro conveniente mover la carpeta descomprimida a /tmp, este articulo presume que los archivos de instalación estan en esta carpeta, por lo tanto en la carpeta que se descomprimió oracle debes aplicar

mv database/ /tmp
cd /tmp

Esto te genera una carpeta database/ en la ruta en donde descomprimiste. Para ejecutar el instalador como el usuario oracle es necesario dar los permisos necesarios

chown -R oracle.oinstall database/ 

Debes además crear las carpetas necesarias que utiliza inicialmente el instalador de Oracle, luego de crearlas en comando creará todas las subcarpetas, obviamente si se le dan los permisos adecuados.

mkdir /u01
chown -R oracle.oinstall /u01 
mkdir -p /u01/app
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app

Asegurarse que estan instalados los paquetes necesarios que utiliza Oracle

yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel  mksh

En este punto la unica discrepancia que tengo con el instalador es que igual, en un ambiente 64bits te reclama como necesarias ciertas librerías i386, que en rigor si estan instalados pero para 64bits.

Establecer los requerimientos mínimos exigidos por oracle (en su instalador de 64bits). Estas lineas las puedes establecer al final del archivo, fijandote previamente que alguna de estas variables no este establecida con anterioridad.

vi /etc/sysctl.conf
kernel.shmmax = 2147483648
kernel.shmall = 2097152
kernel.shmmni=4096
kernel.sem=250 32000 100 128
fs.file-max=6815744
net.ipv4.ip_local_port_range=9000 65500
net.core.rmem_default=1048576
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
fs.aio-max-nr=1048576

Para volcar estos parametros sin reiniciar (¡gracias Linux!) ejecutar

/sbin/sysctl -p

Editar adicionalmente 3 archivos, uno para establecer los limites de archivos

vi /etc/security/limits.conf
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536

Editar la seguridad para el logeo de usuarios de la máquina

vi /etc/pam.d/login
session    required     /lib/security/pam_limits.so
session    required     pam_limits.so

Editar profile (añadir al final) para establecer ciertos limites necesarios.

vi /etc/profile
if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi

Instalar Oracle

Y ahora instalar oracle

Crea un archivo en /etc o en /var/opt/oracle

[root@arocl ~]# vi /etc/oraInst.loc
inventory_loc=/tmp/oraInventory
inst_group=oinstall
su - oracle

y correr (situate en la carpeta donde descomprimiste oracle)

Actualizacion (24-09-2015)

cd /tmp/database


Actualizacion (12-04-2016)
Para el caso que estes instalando Oracle 12c entonces debes agregar

oracle.install.db.BACKUPDBA_GROUP=dba \
oracle.install.db.DGDBA_GROUP=dba \
oracle.install.db.KMDBA_GROUP=dba \

./runInstaller -silent -force -ignoreSysPrereqs -ignorePrereq \
FROM_LOCATION=/tmp/database/stage/products.xml \
oracle.install.option=INSTALL_DB_SWONLY \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=/tmp/oraInventory \
ORACLE_HOME=/u01/app/oracle/product/11.2/db_1 \
ORACLE_HOME_NAME="OraDb11g_Home1" \
ORACLE_BASE=/u01/app/oracle \
oracle.install.db.InstallEdition=SE \
oracle.install.db.isCustomInstall=false \
oracle.install.db.DBA_GROUP=dba \
oracle.install.db.OPER_GROUP=dba \
DECLINE_SECURITY_UPDATES=true

Y finaliza ejecutando

/u01/app/oracle/product/11.2/db_1/root.sh


Actualizacion (24-09-2015)
Pasos siguientes
Luego de instalar la base de datos deben seguirse ciertos pasos para completar la generación y conexión a una instancia:
Establecer la variables de entorno para Oracle
Crear una base de datos
Crear el listener

Problemas

[INS-06101] No se ha podido determinar la dirección IP del host local

Para esto debes fijarte si en el archivo /etc/hosts y en el archivo /etc/sysconfig/network este establecido el nombre del hostname

En mi caso

[root@arocl ~]# vi /etc/hosts
127.0.0.1   arocl localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         arocl localhost localhost.localdomain localhost6 localhost6.localdomain6

[root@arocl ~]more /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=arocl

[INS-32035] No se ha podido crear un nuevo inventario central en la ubicación especificada

Crea un archivo en /etc o en /var/opt/oracle

[root@arocl ~]# vi /etc/oraInst.loc
inventory_loc=/home/oracle/oraInventory
inst_group=oinstall

[INS-13013] El entorno de destino no cumple algunos requisitos obligatorios

Este es el error que no me gusta el log señala

	
INFO: Error Message:PRVF-7573 : El tamaño de intercambio suficiente no está disponible en el nodo "arocl" [Se necesita = 15,56GB (1.6316164E7KB) ; Se ha encontrado = 8GB (8388600.0KB)]
INFO: Error Message:PRVF-7543 : El parámetro del núcleo del sistema operativo "ip_local_port_range" no tiene un valor adecuado en el nodo "arocl" [Se esperaba = "between 9000 & 65500" ; Se ha encontrado = "between 9000 & 65000"]
INFO: Error Message:PRVF-7532 : Falta el paquete "libaio-0.3.105 (i386)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "glibc-2.3.4-2.41 (i686)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "compat-libstdc++-33-3.2.3 (i386)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "libaio-devel-0.3.105 (i386)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "libgcc-3.4.6 (i386)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "libstdc++-3.4.6 (i386)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "unixODBC-2.2.11 (i386)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "unixODBC-devel-2.2.11 (i386)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "pdksh-5.2.14" en el nodo "arocl"

Esto para mi es raro, debido a que estoy en un ambiente 64bits, por lo cual nota que este comando esta aplicado con los parametros -ignoreSysPrereqs -ignorePrereq, esto se salta cualquier validacion de sistema y de librerías.

En este caso es justificado.


Actualizacion (12-04-2016)

[FATAL] [INS-35344] No se ha especificado el valor para Database Backup and Recovery (OSBACKUPDBA) group.


Para el caso que estes instlanmdo Oracle 12c y te aparezca este error implica que debes adicionar a la linea de instalacion

Instalando el InstantClient de Oracle para PHP en Linux

miércoles, abril 24th, 2013

Aun cuando puedes encontrar en esta página una descripcion detallada de la instalación, aqui te muestro una instalación paso a paso de los comando aplicados en el orden que se expresa para linux, exceptuando la de php-devel que la instale debido a que no estaba. Esta instalación se hizo en RedHat 6.1.

[root@aro-cl oraclePhp]# rpm -Uvh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:oracle-instantclient11.########################################### [100%]
[root@aro-cl oraclePhp]# rpm -Uvh oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:oracle-instantclient11.########################################### [100%]
[root@aro-cl oraclePhp]# rpm -Uvh php-devel-5.3.3-3.el6.x86_64.rpm 
warning: php-devel-5.3.3-3.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:php-devel              ########################################### [100%]
[root@aro-cl oraclePhp]# tar -xzf oci8-1.4.7.tgz
[root@aro-cl oraclePhp]# cd oci8-1.4.7
[root@aro-cl oci8-1.4.7]# phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
[root@aro-cl oci8-1.4.7]# ./configure --with-oci8=instantclient,/usr/lib/oracle/11.2/client64/lib
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib
checking for PHP extension directory... /usr/lib64/php/modules
checking for PHP installed headers prefix... /usr/include/php
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking for Oracle Database OCI8 support... yes, shared
checking PHP version... 5.3.3, ok
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking size of long int... 8
checking checking if we're on a 64-bit platform... yes
checking Oracle Instant Client directory... /usr/lib/oracle/11.2/client64/lib
checking Oracle Instant Client SDK header directory... /usr/include/oracle/11.2/client64
checking Oracle Instant Client library version compatibility... 11.1
checking for a sed that does not truncate output... (cached) /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1966080
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for dlfcn.h... yes
checking for objdir... .libs
checking if cc supports -fno-rtti -fno-exceptions... no
checking for cc option to produce PIC... -fPIC -DPIC
checking if cc PIC flag -fPIC -DPIC works... yes
checking if cc static flag -static works... no
checking if cc supports -c -o file.o... yes
checking if cc supports -c -o file.o... (cached) yes
checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating ./config.status
config.status: creating config.h
config.status: executing libtool commands
[root@aro-cl oci8-1.4.7]# make install
/bin/sh /root/oraclePhp/oci8-1.4.7/libtool --mode=compile cc  -I. -I/root/oraclePhp/oci8-1.4.7 -DPHP_ATOM_INC -I/root/oraclePhp/oci8-1.4.7/include -I/root/oraclePhp/oci8-1.4.7/main -I/root/oraclePhp/oci8-1.4.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/include/oracle/11.2/client64  -DHAVE_CONFIG_H  -g -O2   -c /root/oraclePhp/oci8-1.4.7/oci8.c -o oci8.lo 
libtool: compile:  cc -I. -I/root/oraclePhp/oci8-1.4.7 -DPHP_ATOM_INC -I/root/oraclePhp/oci8-1.4.7/include -I/root/oraclePhp/oci8-1.4.7/main -I/root/oraclePhp/oci8-1.4.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/include/oracle/11.2/client64 -DHAVE_CONFIG_H -g -O2 -c /root/oraclePhp/oci8-1.4.7/oci8.c  -fPIC -DPIC -o .libs/oci8.o
/bin/sh /root/oraclePhp/oci8-1.4.7/libtool --mode=compile cc  -I. -I/root/oraclePhp/oci8-1.4.7 -DPHP_ATOM_INC -I/root/oraclePhp/oci8-1.4.7/include -I/root/oraclePhp/oci8-1.4.7/main -I/root/oraclePhp/oci8-1.4.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/include/oracle/11.2/client64  -DHAVE_CONFIG_H  -g -O2   -c /root/oraclePhp/oci8-1.4.7/oci8_lob.c -o oci8_lob.lo 
libtool: compile:  cc -I. -I/root/oraclePhp/oci8-1.4.7 -DPHP_ATOM_INC -I/root/oraclePhp/oci8-1.4.7/include -I/root/oraclePhp/oci8-1.4.7/main -I/root/oraclePhp/oci8-1.4.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/include/oracle/11.2/client64 -DHAVE_CONFIG_H -g -O2 -c /root/oraclePhp/oci8-1.4.7/oci8_lob.c  -fPIC -DPIC -o .libs/oci8_lob.o
/bin/sh /root/oraclePhp/oci8-1.4.7/libtool --mode=compile cc  -I. -I/root/oraclePhp/oci8-1.4.7 -DPHP_ATOM_INC -I/root/oraclePhp/oci8-1.4.7/include -I/root/oraclePhp/oci8-1.4.7/main -I/root/oraclePhp/oci8-1.4.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/include/oracle/11.2/client64  -DHAVE_CONFIG_H  -g -O2   -c /root/oraclePhp/oci8-1.4.7/oci8_statement.c -o oci8_statement.lo 
libtool: compile:  cc -I. -I/root/oraclePhp/oci8-1.4.7 -DPHP_ATOM_INC -I/root/oraclePhp/oci8-1.4.7/include -I/root/oraclePhp/oci8-1.4.7/main -I/root/oraclePhp/oci8-1.4.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/include/oracle/11.2/client64 -DHAVE_CONFIG_H -g -O2 -c /root/oraclePhp/oci8-1.4.7/oci8_statement.c  -fPIC -DPIC -o .libs/oci8_statement.o
/bin/sh /root/oraclePhp/oci8-1.4.7/libtool --mode=compile cc  -I. -I/root/oraclePhp/oci8-1.4.7 -DPHP_ATOM_INC -I/root/oraclePhp/oci8-1.4.7/include -I/root/oraclePhp/oci8-1.4.7/main -I/root/oraclePhp/oci8-1.4.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/include/oracle/11.2/client64  -DHAVE_CONFIG_H  -g -O2   -c /root/oraclePhp/oci8-1.4.7/oci8_collection.c -o oci8_collection.lo 
libtool: compile:  cc -I. -I/root/oraclePhp/oci8-1.4.7 -DPHP_ATOM_INC -I/root/oraclePhp/oci8-1.4.7/include -I/root/oraclePhp/oci8-1.4.7/main -I/root/oraclePhp/oci8-1.4.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/include/oracle/11.2/client64 -DHAVE_CONFIG_H -g -O2 -c /root/oraclePhp/oci8-1.4.7/oci8_collection.c  -fPIC -DPIC -o .libs/oci8_collection.o
/bin/sh /root/oraclePhp/oci8-1.4.7/libtool --mode=compile cc  -I. -I/root/oraclePhp/oci8-1.4.7 -DPHP_ATOM_INC -I/root/oraclePhp/oci8-1.4.7/include -I/root/oraclePhp/oci8-1.4.7/main -I/root/oraclePhp/oci8-1.4.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/include/oracle/11.2/client64  -DHAVE_CONFIG_H  -g -O2   -c /root/oraclePhp/oci8-1.4.7/oci8_interface.c -o oci8_interface.lo 
libtool: compile:  cc -I. -I/root/oraclePhp/oci8-1.4.7 -DPHP_ATOM_INC -I/root/oraclePhp/oci8-1.4.7/include -I/root/oraclePhp/oci8-1.4.7/main -I/root/oraclePhp/oci8-1.4.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/include/oracle/11.2/client64 -DHAVE_CONFIG_H -g -O2 -c /root/oraclePhp/oci8-1.4.7/oci8_interface.c  -fPIC -DPIC -o .libs/oci8_interface.o
/bin/sh /root/oraclePhp/oci8-1.4.7/libtool --mode=link cc -DPHP_ATOM_INC -I/root/oraclePhp/oci8-1.4.7/include -I/root/oraclePhp/oci8-1.4.7/main -I/root/oraclePhp/oci8-1.4.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/include/oracle/11.2/client64  -DHAVE_CONFIG_H  -g -O2   -o oci8.la -export-dynamic -avoid-version -prefer-pic -module -rpath /root/oraclePhp/oci8-1.4.7/modules  oci8.lo oci8_lob.lo oci8_statement.lo oci8_collection.lo oci8_interface.lo -Wl,-rpath,/usr/lib/oracle/11.2/client64/lib -L/usr/lib/oracle/11.2/client64/lib -lclntsh
libtool: link: cc -shared  .libs/oci8.o .libs/oci8_lob.o .libs/oci8_statement.o .libs/oci8_collection.o .libs/oci8_interface.o   -L/usr/lib/oracle/11.2/client64/lib -lclntsh  -Wl,-rpath -Wl,/usr/lib/oracle/11.2/client64/lib   -Wl,-soname -Wl,oci8.so -o .libs/oci8.so
libtool: link: ( cd ".libs" && rm -f "oci8.la" && ln -s "../oci8.la" "oci8.la" )
/bin/sh /root/oraclePhp/oci8-1.4.7/libtool --mode=install cp ./oci8.la /root/oraclePhp/oci8-1.4.7/modules
libtool: install: cp ./.libs/oci8.so /root/oraclePhp/oci8-1.4.7/modules/oci8.so
libtool: install: cp ./.libs/oci8.lai /root/oraclePhp/oci8-1.4.7/modules/oci8.la
libtool: finish: PATH="/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/sbin" ldconfig -n /root/oraclePhp/oci8-1.4.7/modules
----------------------------------------------------------------------
Libraries have been installed in:
   /root/oraclePhp/oci8-1.4.7/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Installing shared extensions:     /usr/lib64/php/modules/
[root@aro-cl oci8-1.4.7]# cd /etc/php.d
[root@aro-cl oci8-1.4.7]# vi oci8.ini
; Enable oci extension module
extension=oci8.so
[root@aro-cl php.d]# cd /etc/httpd/conf.d
[root@aro-cl conf.d]# vi oracle.conf
SetEnv NLS_LANG=AMERICAN_AMERICA.AL32UTF8

Error SQL30082N Reason Code 15 (o 24) en DB2

viernes, abril 12th, 2013

Si ya estas trabajando con DB2 9.1 o superior pero en los últimos sistemas operativos de linux, puede aparecer el error

SQL30082N Security processing failed with Reason Code 15
"Security processing at the server failed "

o

SQL30082N Security processing failed with Reason Code 24
"USERNAME AND/OR PASSWORD INVALID "

La razon la encontre aquí y tiene que ver con el algoritmo de encriptación de la password. Recordemos que DB2 utiliza el usuario de sistema operativo, a él es quién tu le asignas los permisos para accesar a una base de datos o a un esquema de DB2.

El problema es que actualmente los sistemas operativos Linux vienen con el algoritmo sha512 implementado para encriptar la password, siendo que DB2 sólo trabaja con MD5 o SHA1, por lo tanto tienes que cambiar el algoritmo de encriptamiento de la password.

Actualización: Aquí explico como cambiar el algoritmo de encriptamiento en linux