viernes, 19 de septiembre de 2014

Problemas en la instalación de oracle-xe 11g y debian 7 00845 memory_target

Siguiendo todos los pasos de la instalación de Oracle Express 11 g en debian ver. 7 (wheezy) el momento de realizar el último paso:
                                      /etc/init.d/oracle-xe configure
realiza la creación de la base de datos, pero finaliza con un error quedando trunca la instalación.
Revizando los logs en: /u01/app/oracle/product/11.2.0/xe/config
da un 00845 memory_target
La solución:

root@booz# df -k
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1        6272596 3365612   2592464  57% /
udev             1017052       4   1017048   1% /dev
tmpfs             410336     888    409448   1% /run
none                5120       0      5120   0% /run/lock
none             1025836      80   1025756   1% /run/shm

Notamos que no existe un área de memoria que oracle express usa
en sus instalaciones: /dev/shm

Montando el área de memoria /dev/shm
            Creamos un script para montar esta memoria en el path de inicio de oracle:
      /etc/init.d/oracle-shm

El contenido del archivo debe ser:

#! /bin/sh
# /etc/init.d/oracle-shm
#
#
case "$1" in
  start)
    echo "Starting script /etc/init.d/oracle-shm"
    # Run only once at system startup
    if [ -e /dev/shm/.oracle-shm ]; then
      echo "/dev/shm is already mounted, nothing to do"
    else
      rm -f /dev/shm
      mkdir /dev/shm
      mount --move /run/shm /dev/shm
      mount -B /dev/shm /run/shm
      touch /dev/shm/.oracle-shm
    fi
    ;;
  stop)
    echo "Stopping script /etc/init.d/oracle-shm"
    echo "Nothing to do"
    ;;
  *)
    echo "Usage: /etc/init.d/oracle-shm {start|stop}"
    exit 1
    ;;
esac
#
### BEGIN INIT INFO
# Provides:          oracle-shm
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Bind /run/shm to /dev/shm at system startup.
# Description:       Fix to allow Oracle 11g use AMM.
### END INIT INFO

chmod 755 /etc/init.d/oracle-shm

ubuntu:
update-rc.d oracle-shm defaults 01 99

debian:
insserv en vez de update-rc.d
Salida de update-rc.d :
Adding system startup for /etc/init.d/oracle-shm ...
  /etc/rc0.d/K99oracle-shm -> ../init.d/oracle-shm
  /etc/rc1.d/K99oracle-shm -> ../init.d/oracle-shm
  /etc/rc6.d/K99oracle-shm -> ../init.d/oracle-shm
  /etc/rc2.d/S01oracle-shm -> ../init.d/oracle-shm
  /etc/rc3.d/S01oracle-shm -> ../init.d/oracle-shm
  /etc/rc4.d/S01oracle-shm -> ../init.d/oracle-shm
  /etc/rc5.d/S01oracle-shm -> ../init.d/oracle-shm

El siguiente paso es reiniciar el sistema para que los
cambios tengan efecto.

df -k nos mostrará la creación de la target memory.

Filesystem     1K-blocks     Used Available Use% Mounted on
none             3571460   4858060   2947372  18% /dev/shm
/etc/init.d/oracle-xe configure

miércoles, 3 de octubre de 2012

Instalacion de Oracle11gXE en Debian 64 bit

La instalación es simple, a primera vista, hay que tener en cuenta los pasos y ejecutarlos en forma secuencial sin saltar ninguno.

1.- Bajar la base de datos de www.oracle.com

    http://www.oracle.com/technetwork/products/express-edition/downloads/index.html

 2.- Instalar los paquetes necesarios

       apt-get update  (recomendable)
       apt-get install libaio1 alien

3.-  descompactar con unzip

      unzip oracle-xe-11.2.0.1....zip

4.-
       cd /Disk1
       alien --scripts oracle-xe-11.2.0-1.0.x84_64.rpm
     

5.-  Crear el archivo /sbin/chkconfig

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Debian by Dude
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01



derechos:  chmod 755 /sbin/chkconfig

6.- enlace simbolico a awk:  ln -s /usr/bin/awk /bin/awk
    
    crear carpeta: mkdir /var/lock/subsys


7.- Todo listo para la instalacion:

    dpkg --install ./oracle-xe_11.2.0-2_amd64.deb

     /etc/init.d/oracle-xe configure


Fin de Instalacion.

       

jueves, 29 de diciembre de 2011

Instalar Oralce express 10g y apex 4.0.2 en debian squeeze

Tratando de ser sintetico, los pasos para la base de datos son los siguientes:

Agregar a /etc/apt/sources.lst la siguiente linea:
deb http://oss.oracle.com/debian unstable main non-free

Escribir:
wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle
apt-key add RPM-GPG-KEY-oracle

Update del sources.lst:
apt-get update

Instalar:
apt-get install oracle-xe

-Fin de la instalación de la base de datos.

Instalación de Apex 4.0.2

Descargar de otn.oracle.com apex para linux.

Loguearse como oracle

desempaquetar en /usr/lib/oracle/xe (se puede instalar en otro lugar)

unzip apex_4.0.2.zip

crea la carpeta /usr/lib/oracle/xe/apex

cd apex/

sqlplus /nolog

conn sys as sysdba

Instalacion apex:

@apexins mi_contraseña SYSAUX SYSAUX TEMP /i/

Contraseña de admin

@apxxepwd.sql

Configuración de la ruta donde estan las imágenes

@apxldimg /i/

Como último paso en caso de no poder acceder desde otra pc
configurar:

SQL> exec DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

y listo!

Nota:

Existe una carpeta "utilities" dentro de apex

donde se puede reconfigurar la ruta de imágenes:

reset_image_prefix.sql

Para esto, sqlplus sys as sysdba

@reset_image_prefis.sql /nuevarutacompleta

Un aspecto sensible de la instalación de esta versión en oracle 10g.

lunes, 20 de junio de 2011

Conectar Forms 6i con Oracle 11g

Una pequena experiencia tuve cuando instale oracle 11g express edition y quise conectar on forms 6i, en principio no pude y el primer problema presentado es que se colgaba tanto forms como sqlplus.
Para solucionar esto, tuve que cambiar el set de caracteres a UTF8, de la siguiente manera:

C:\>sqlplus /nolog
SQL> connect / as sysdba
Conectado.
SQL> shutdown immediate
SQL> startup restrict
SQL> alter database character set internal_use UTF8;
SQL> shutdown immediate
SQL> startup

Me pude conectar correctamente pero cuando llamaba un form a otro, me salia

ORA - 1017

pidiendome nuevamente el usuario y password.
Investigando un poco encontre que la version 11g viene con el modo sensible a las mayúsculas y minúsculas. Algo a lo que no estamos acostumbrados en forms. La solución fué cambiar el parametro: sec_case_sensitive_logon de TRUE a FALSE, con
la instrucción:

alter system set sec_case_sensitive_logon = FALSE

Si bien encontre usuarios que recomiendad dejar el forms porque no está avalado por Oracle para el correcto funcionamiento con 11g, por circunstancias conocidas por los programadores, nos vemos obligados todavia a continuar con el uso del forms 6i.
Cualquier otro inconveniente lo daré a conocer.

martes, 18 de enero de 2011

Instalacion de SquirrelMail en Debian

1.- Instalacion de Software
2.- Configuracion
3.- Resolucion de problemas


1.- Instalacion:
Existen 2 maneras de instalar, ambas sin ninguna complicación, salvo se las haga en versiones anteriores de debian, donde es preferible bajar el archivo desde la web de squirrelmail www.squirrelmail.org

a: apt-get install squirrelmail

b: bajar desde www.squirrelmail.org/downloads

En mi caso, bajé la versión tar:

guardar en /usr/local/src

descompactar con tar -xvfz "nombre de archivo"

Nota: para no tocar la configuración de apache2
es aconsejable guardar dentro la ruta definida
en la variable Document Root
del archivo /etc/apache2/sites-available/"nombre de host"
suponiendo q la ruta por defecto es "/var/www":
movemos:
mv /usr/local/src/squirrelxxxxx /var/www/webmail

2.- Configuracion:

Ejecutar el programa /var/www/webmail/config.pl
Nos muestra un menú textual de fácil manejo donde
podemos definir el nombre del servidor, puertos
rutas, etc.
una vez definido esto, en lineas generales tendría que
andar todo. Hay algunas complicaciones que dependen de
los productos que tenemos instalados como por ejemplo
el servidor de correos, o el de IMAP. Tambien cabe destacar
que el idioma que se instala por defecto es el ingles.


3.- Resolución de Problemas:
Cambio de Idioma: Si bien no es un problema en si, pero
realizando el cambio a través de config.pl, no funcionó,
se hicieron los siguientes pasos:
verificar si esta instalada la libreria
gettext para php, requisito para cambio
de idioma.
apt-get install php-gettext
cambios en config.php
squirrelmail_default_language='es_ES'
default_charset='utf-8'

una vez hechos los cambios, ejecutar
los sgtes progs. del sistema operativo
para que tome apache

locale-gen es_ES

dpkg-reconfigure locales

luego reiniciamos apache

/etc/init.d/apache2 restart

y tenemos squirrelmail en español.

ERROR: Could not complete request (en columna izquierda)
Una vez que introducimos el usuario y password,
entramos a ver los mails pero en la columna de la
izquierda donde nos muestra las bandejas, sale este
error. No en todos los casos, dependiendo del cliente
Imap que se esta usando.
En mi caso tengo instalado dovecot y defini la
configuracion con este producto con el puerto, etc,
curiosamente recurriendo a la documentación que tenemos
en el sitio de squirrelmail, este dice que se debe
definir como defalut imap server: other en vez de
dovecot. (Ver SquirrelMailAndDovecotIMAP en el sitio)

ERROR: Server replied: 554 5.7.1 Relay access denied - Llegan mails
pero no se pueden enviar.

Solución simple para este caso: agregar en Postfix
el segmento de Red del Host donde figura el Servidor
y también el localhost en el archivo /etc/postfix/main.cf

mynetworks=127.0.0.0/8, xxxx.xxxx.xxxx.0/24

Nota a tomar en cuenta:
Algunos expertos dicen que es necesario tomar los recaudos
correspondientes en cuanto a seguridad al definir otros
segmentos de red en Postfix.

martes, 13 de julio de 2010

Conexiones a traves de ssh sin password

Haciendo transferencia de archivos automáticamente con conexión segura a través de ssh, es necesario que no nos pida el password a los fines de no tener que ingresar manualmente para seguir el proceso, los pasos que utilicé son los siguientes:

Cliente:

$ mkdir -p $HOME/.ssh
$ chmod 0700 $HOME/.ssh
$ ssh -keygen -t dsa -f $HOME/.ssh/id_dsa -P '' (Generamos una clave sin que nos pida una frase)

este comando genera dos archivos:
id_dsa (clave privada)
id_dsa.pub (clave pública)

Se debe pasar la clave pública (id_dsa.pub) al servidor.

Servidor:

Agregar id_dsa.pub al archivo authorized_keys

$ cat id_dsa.pub >> $HOME/.ssh/authorized_keys
$ chmod 0600 $HOME/.ssh/authorized keys (derechos solo para el propietario)

Nota: Tener encuenta la versiön de ssh, en algunos casos puede ser
authorized_keys2

Comentarios.-

Esta conexión la realicé entre 2 debian lenny, con resultados exitosos, una vez
que funcionó, hice scripts para que se ejecuten diariamente pasando información con
el comando rsync y con la seguridad de utilizar ssh.

miércoles, 21 de enero de 2009

Instalando Laop en vez de Lamp

Los servidores Web conocidos como LAMP (Linux, Apache, Mysql, Php/Perl/Python) son practicamente un estandar en internet. La popularidad de estos servidores se deben a varias razones ademas de la seguridad y el manejo especialmente a la hora de instalar.
En este articulo documento los pasos y algunas piedras en el camino que encontre cuando decidimos, con mi equipo de trabajo, instalar LAOP (Linux, Apache, Oracle, Php/Perl/Python).
Instalación:
** Actualización al 02/09/2013
** Realicé la misma instalación en Debian Wheezy la última versión que tenemos hoy.

Como primer paso instalar el paquete libaio1
apt-get install libaio1

Descargar del sitio de Oracle 3 rpms necesarios para instalar apache con oracle:
http://www.oracle.com/technetwork/database/features/instant-client/
o
http://www.oracle.com/technetwork/topics/linuxsoft-082809.html

Una vez bajado el archivo con unzip obtenemos 3 rpms.
Los convertimos a .deb con el programa alien, las siguientes lineas las extraje del sitio Zital:

apt-get install alien
alien oracle-instantclient-basic_11.1.0.1-2_i386.rpm
alien oracle-instantclient-devel_11.1.0.1-2_i386.rpm
alien oracle-instantclient-sqlplus_11.1.0.1-2_i386.rpm


** Actualización al 30/08/2013
Los instantclient están actualmente en la versión 12.1
y ya tendremos los deb correspondientes.
los instalamos:
dpkg -i oracle-instantclient-basic_11.1.0.1-2_i386.deb
dpkg -i oracle-instantclient-devel_11.1.0.1-2_i386.deb
dpkg -i oracle-instantclient-sqlplus_11.1.0.1-2_i386.deb

Dos pasos importantes:
- Crear la carpeta /etc/oracle y grabar en esta el archivo tnsnames.ora
En este archivo estan los parametros para conectarse a la base de datos con la que vamos a trabajar, puede
estar en el mismo servidor o bien algún otro de la red local o inclusive que este en otro lugar físico.
- Editar el archivo /root/.bashrc como usuario root.
Este archivo lo consulta apache cuando recibe un pedido de conexión con la base de datos.
vi /root/.bashrc
export TNS_ADMIN=/etc/oracle
export SQLPATH=/usr/lib/oracle/11.1.0.1/client/bin
export LD_LIBRATY_PATH=/usr/lib/oracle/11.1.0.1/client/lib:$LD_LIBRARY_PATH
export PATH=$PATH:$SQLPATH

Instalar Apache 2.2 y php 5
apt-get install apache2.2-common libapache2-mod-php5 php5

Instalar oci8 para php:
apt-get install php-pear php5-dev
luego ejecutar el siguiente comando: pecl install oci8
y nos pide elegir lo siguiente: 
shared,instantclient,/usr/lib/oracle/11.1.0.1/client/lib:
ingresar la ruta donde se instalo instantclient: /usr/lib/oracle/11.1.0.1/client

Una vez finalizada la instalacion de oci8 se debe agregar al archivo php.ini la siguiente linea:
echo extension=oci8.so >> /etc/php5/apache2/php.ini
Como ultimo para agregar (importante) la localizacion de /etc/oracle en apache
echo TNS_ADMIN=/etc/oracle >> /etc/apache2/envvars

Reiniciamos apache: /etc/init.d/apache2 restart

y tenemos apache on conexion a oracle, existen programas en php que pueden probar la conexion.

__