Problemas con librerias.
Para realizar una optima instalación de un motor de base de datos, u OAS es importante chequear bien lo prerequisitos de la documetación oficial.
Red Hat Enterprise Linux 4.0: binutils-2.15.92.0.2-10.EL4 compat-db-4.1.25-9 control-center-2.8.0-12 gcc-3.4.3-9.EL4 gcc-c++-3.4.3-9.EL4 glibc-2.3.4-2 glibc-common-2.3.4-2 gnome-libs-1.4.1.2.90-44.1 libstdc++-3.4.3-9.EL4 libstdc++-devel-3.4.3-9.EL4 make-3.80-5 pdksh-5.2.14-30 sysstat-5.0.5-1 xscreensaver-4.18-5.rhel4.2
Algunas veces ocurre que trabajamos con servidores bajo plataformas de 32bits (i386) o 64bits (x86_64) y esto es imortante tenerlo en cuenta a la hora de la instalación de los paquetes necesarios.
Ahora bien, cuando tenemos instalado un sistema operativo de 64 bits en un servidor de 64 bits, si queremos correr binarios o aplicaciones construidas bajo 32 bits, va a precisar que estas esten instaladas estas librerias.
Ejemplo para una aplicación de Python que corre en 64bits.
|Bin | Lib | ArCh | |sqlplus | setuptools-0.6c11 | x86_64 | |sqlplus | setuptools-0.6c11 | i386 |
En el caso puntual que voy a exponer como problema, transcurre en un Red Hat 4, y para ver un mejor detalle de la version del SO, voy a ejecutar un cat sobre el archivo /etc/issue
[root@sdat4104lx ~]# cat /etc/issue Red Hat Enterprise Linux ES release 4 (Nahant Update 8) Kernel \r on an \m
También podemos ver el detalle de los procesadores que poseemos en el server.
[root@sdat4104lx ~]# cat /proc/cpuinfo | grep model model : 7 model name : Intel(R) Core(TM)2 CPU E8500 @ 3.16GHz model : 7 model name : Intel(R) Core(TM)2 CPU E8500 @ 3.16GHz [root@sdat4104lx ~]#
Chequeo en este caso el requerimento de Oracle y me da como respuesta correcta las librerias que preciso.
Cuando lanzo la ejecución del ./runinstaller.sh , agrego los path correspondientes, y luego que el instalador grafico me muestra el ok de los prerequisitos, comienza la instalación del software.
En la evolución de la instalación, cuando comienza con el linkeo de las librerias, comienzan los problemas
Como puede ser posible ?
El chequeo de los rpm estuvio bien, y lo pre-requisitos del instalador también.
Entonces aca comienza a jugar el papel de las librerias y su correspondiente arquitectura.
Como primer paso les sugiero usar el comando rpm con los wildcards que les paso.
# rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' libaio
De esta manera podemos ver que de la misma libreria hay dos rpm’s y difieren solo en la arquitectura.
# rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' libaio libaio-0.3.105-2 (i386) libaio-0.3.105-2 (x86_64)
Revisemos algunos errores y vamos a darle solución.
make -f /u01/app/oracle/OraHome_1/sysman/lib/ins_sysman.mk relink_sharedobj SHAREDOBJ=libnmemso make[1]: Entering directory `/u01/app/oracle/OraHome_1/sysman/lib' gcc -o /u01/app/oracle/OraHome_1/sysman/lib/libnmemso.so -m32 ...
Bajamos el rpm necesario y lo instalamos a mano o si tenemos el repositorio lo hacemos con up2date. Vamos hacer con ambos ejemplos las soluciones.
rpm -Uvh glibc-devel-2.3.4-2.13.i386.rpm
rpm -Uvh libgcc-3.4.4-2.i386.rpm
#up2date -i libgcc-3 –arch=i386 #up2date -i glibc-devel –arch=i386
# Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/oracle/product/10.2.0/db_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oracle/oraInventory/logs/installActions2005-11-13_01-07-04AM.log' for details.
up2date -i compat-libstdc++-33 –arch=x86_64
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory $ sqlplus / as sysdba SQL*Plus: Release 10.2.0.4.0 - Production on Fri Apr 23 10:45:29 2010 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. oracle+ASM: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory ERROR: ORA-12547: TNS:lost contact Enter user-name:
El error ocurre por que esta la libreria, pero no la de 64bits correspondiente.
rpm -qa libaio libaio-0.3.105-2 # rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' libaio libaio-0.3.105-2 (i386) # up2date -i glibc-devel --arch=x86_64 # up2date -i libaio --arch=x86_64
Estos errores que vimos te quitan dolores de cabeza y convierte tu manera de instalar en una forma proactiva y metodica a la hora de puesta en marcha.
Hola, como estas??? te queria hacer una consulta tecnica, tengo que hacer un back up de la base, pero a ese backup lo quiero levantar en otra base nueva recien creada, lo que yo hice fue:
Hacer el backup de la base con backup database plus archivelog
cree el catalogo de recuperacion, lo sincronice y todos lo demas
cree la base nueva y la pase a modo archivelog con archivado automatico
sincronize el catalogo
le conigure el channel en el mismo path a las 2 bases
empeze la recuperacion y ahi se me corta, con el comando “restore database” me dice:
RMAN> restore database;
Iniciando restore en 26/04/10
canal asignado: ORA_DISK_1
canal ORA_DISK_1: sid=11 devtype=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 04/26/2010 09:04:11
RMAN-06026: some targets not found – aborting restore
RMAN-06023: no backup or copy of datafile 10 found to restore
RMAN-06023: no backup or copy of datafile 9 found to restore
RMAN-06023: no backup or copy of datafile 8 found to restore
lo raro de todo esto es que lo probe en una pc virtual que tengo y andubo todo bien, pero cuando lo quiero aplicar en el servidor ahi se me corta, bueno desde ya muchas gracias….
lo que pude ver no se si sirve de algo, es que cuando tiro el comando LIST BACK UP OF DATABASE en la base nueva, o sea en la base que cree para cargarle el backup de la otra base, no me aparece nada, ahi tendria que aparecer el backup que quiero cargar?? muchas gracias, nos vemos
LikeLike
Gonzalo, buen dia:
Cuando te aparece el mensaje RMAN-06026: some targets not found – aborting restore, es por que la pieza no puede ser leida por RMAN.
O sea si vos tomaste el backup en un server, por ejemplo en el path /u03/rman_database_backup y lo llevas a otro host y lo pones en un nuevo path, el que quieras , solo basta con catalogarlo.
Usas por ejemplo un script de rman:
rman target /
y luego
run {
catalog backuppiece ‘/nuevo/path/backup/pieza1.dbf’;
catalog backuppiece ‘/nuevo/path/backup/pieza2.dbf’;
catalog backuppiece ‘/nuevo/path/backup/pieza1.arc’;
catalog backuppiece ‘/nuevo/path/backup/pieza1.ctl’;
}
Con ello, al listar el backup deberias poder verlo.
Y con ello podrias arrancar tu restore.
Te recomiendo que corras el catalogado de las piezas de esta manera.
Si persite el problema, te pido que postees los pasos y sus salidas para poder hacer un analisis mejor del problema.
LikeLike
Te recomiendo que leas la seccion de RMAN https://burzaco.wordpress.com/2009/07/28/recuperando-ambiente-con-rman/#more-8 que esta tambien comentado.
LikeLike
hola juan, ante nada muchas gracias por todo y por la buena onda, vos sabes que los comando que me diste no me andan, ninguno de los catalog, aca usamos oracle 9i, tambien estube probando unos que son para catalogar un directorio pero no lo pude hacer andar, pero ahora reinstale oracle desde cero en la pc virtual para probar, con las 2 bases nuevas y despues te cuento, muchas gracias nos vemos
LikeLike
mi problema es que instalo con rpm o con apt-get install las librerias y cuando compruebo con rpm -q si esan me dice que no estan instaladas. ¿Sabes cual puede ser el problema?
Gracias de antemano.
LikeLike