Descargar software de edelivery con wget ( otn.oracle.com )

Cuando queremos descargar software de Oracle de edelivery directamente a una máquina sin entorno gráfico con wget podemos seguir los siguientes pasos.

1) Instalamos la extensión “cookie.txt export” en chrome (vamos a usar chrome por supuesto)
2) Navegamos por otn.oracle.com hasta el archivo que queremos descargar, copiamos el enlace
3) Oprimimos el boton de la extensión en chrome, copiamos y pegamos todas las cookies para oracle.com en un archivo cookies.txt ya sea en el servidor directamente o en local y luego lo pasamos al servidor con scp.
4) descargamos el software

wget --load-cookies cookies.txt --no-check-certificate http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip

Y listo eso es todo.

Oracle VM 3.1.1 Sandbox ( Entorno de pruebas VM Server )

Muchos queremos probar Oracle VM Server pero el requerimiento del al menos dos máquinas, una para el hipervisor y otra para el gestor nos frenan. En base a un blog del grupo Phytian y jugando un poco he logrado poner los dos ( el hipervisor y el manager ) en una sola máquina y desplegar una plantilla de las que proporciona Oracle.

La máquina que utilizaré tiene un procesador AMD de 4 núcleos 8 GB en RAM y dos discos, el primero de 500GB y el segundo de 1TB. Todos los componentes los compre y los ensamble en casa por algo menos de 400 euros, por lo que es un entorno interesante para probar el producto a un coste razonable.

Oracle VM desde la versión 3 espera que el repositorio se cree en otro disco por lo que si tenemos un sistema con un solo disco tendremos que presentarlo por NFS con todo lo que ello implica ( ciclos de CPU / posible inestabilidad  ), para presentar una partición por NFS podemos encontrar una referencia en otro post del blog de Pythian de Yuri Velikanov.

Lo primero es descargar Oracle VM 3.1.1 de Oracle E-Delivery quemarlo en CD e instalarlo en el servidor, para poder realizar esto requeriremos una cuenta de Oracle SSO, que la podemos crear en OTN.

Durante la instalación es importante editar la plantilla de particiones y asignarle más swap ( 2048M ) y asginarle mas espacio de disco al dom0 que está montado como raíz ( unos 36GB mínimo ) yo le asigné todo el espacio en el disco de 500G porque luego presentaré lo que reste por NFS y pondré un apache en el dom0 para usarlo para cargar las plantillas.

Editamos el archivo /boot/grub/grub.conf y le damos más memoria al dom0

[root@vmserver iso] cat /boot/grub/grub.conf
# grub.conf generated by anaconda
..
#boot=/dev/sdb
default=0
timeout=5
title Oracle VM Server-ovs (xen-4.1.2 2.6.39-200.1.1.el5uek)
	root (hd0,0)
	kernel /xen.gz dom0_mem=2048M
	module /vmlinuz-2.6.39-200.1.1.el5uek ro root=UUID=538a8508-9679-4d9d-8e9d-eac780c7743b
	module /initrd-2.6.39-200.1.1.el5uek.img
title Oracle VM Server-ovs serial console (xen-4.1.2 2.6.39-200.1.1.el5uek)
	root (hd0,0)
	kernel /xen.gz console=com1,vga com1=57600,8n1 dom0_mem=639M
	module /vmlinuz-2.6.39-200.1.1.el5uek ro root=UUID=538a8508-9679-4d9d-8e9d-eac780c7743b  console=tty console=ttyS0,57600n8
	module /initrd-2.6.39-200.1.1.el5uek.img

Editamos /etc/security/limits.conf  para aumentar el número de archivos abiertos al mismo tiempo.

[root@vmserver iso] cat /etc/security/limits.conf
# /etc/security/limits.conf
# .....
#@student        -       maxlogins       4

*		soft	nofile		65536
*		hard	nofile		65536

Agregamos el grupo dba y el usuario oracle

[root@vmserver stage]#groupadd dba
[root@vmserver stage]#useradd -g dba oracle

Instalamos el paquete bc que lo utiliza Oracle XE, se puede encontrar con una búsqueda en google

[root@vmserver stage]# rmp -Uvh bc-1.06-21.x86_64.rpm

listos estos pasos copiamos el iso de la instalación del, lo podemos copiar con scp desde otro servidor o con wiscp desde windows, por ejemplo yo lo he copiado en /stage. Luego montamos el iso en el sistema de archivos y lanzamos el runInstaller con la opción -n para que no de alertas en caso de no cumplir los requerimientos.

[root@vmserver stage]# ls
bc-1.06-21.x86_64.rpm  iso  VM3.3.1_Manager.iso
[root@vmserver stage]# pwd
/stage
[root@vmserver stage]# mount -o loop VM3.3.1_Manager.iso /stage/iso/
[root@vmserver stage]# cd iso
[root@vmserver iso]# ./runInstaller.sh -n

Oracle VM Manager Release 3.1.1 Installer

Oracle VM Manager Installer log file:
 /tmp/install-2012-05-25-113143.log

Please select an installation type:
   1: Demo
   2: Production
   3: Uninstall
   4: Help

   Select Number (1-4): 1

Starting demo installation ...

The Demo installation type will use an XE database.  The usage of XE is for *demo purposes only* and is not supported for production. Please *do not* plan to start with XE and migrate to a supported version of the database as this may not be possible. For production environments or any long term usage please use the "Production" option with an SE or EE database.
   1: Continue
   2: Abort

   Select Number (1-2): 1

Verifying installation prerequisites ...
Oracle VM Manager can only be installed on a 64 bit Oracle Linux version 5.5 and higher.
Current version is 'redhat' version '3.1.1'
*** WARNING: Recommended memory for the Oracle VM Manager server installation is 3950 MB RAM
Ignoring prerequisites check ...

One password is used for all users created and used during the installation.
Enter a password for all logins used during the installation:
Enter a password for all logins used during the installation (confirm): 

Verifying configuration ...

Start installing the configured components:
   1: Continue
   2: Abort

   Select Number (1-2): 1

Step 1 of 9 : Database ...
Installing Database ...
Retrieving Oracle Database 11g XE ...
Installing Oracle Database 11g XE ...
Configuring Oracle Database 11g XE ...

Step 2 of 9 : Java ...
Installing Java ...

Step 3 of 9 : Database Schema ...
Creating database schema 'ovs' ...

Step 4 of 9 : WebLogic ...
Retrieving Oracle WebLogic Server 11g ...
Installing Oracle WebLogic Server 11g ...

Step 5 of 9 : ADF ...
Retrieving Oracle Application Development Framework (ADF) ...
Unzipping Oracle ADF ...
Installing Oracle ADF ...
Installing Oracle ADF Patch...

Step 6 of 9 : Oracle VM  ...
Retrieving Oracle VM Manager Application ...
Extracting Oracle VM Manager Application ...
Installing Oracle VM Manager Core ...

Step 7 of 9 : Domain creation ...
Creating Oracle WebLogic Server domain ...
Starting Oracle WebLogic Server 11g ...
Configuring data source 'OVMDS' ...
Creating Oracle VM Manager user 'admin' ...

Step 8 of 9 : Deploy ...
Deploying Oracle VM Manager Core container ...
Deploying Oracle VM Manager UI Console ...
Deploying Oracle VM Manager Help ...
Enabling HTTPS ...
Granting ovm-admin role to user 'admin' ...

Step 9 of 9 : Oracle VM Manager Shell ...
Retrieving Oracle VM Manager Shell & API ...
Extracting Oracle VM Manager Shell & API ...
Installing Oracle VM Manager Shell & API ...

Retrieving Oracle VM Manager Upgrade tool ...
Extracting Oracle VM Manager Upgrade tool ...
Installing Oracle VM Manager Upgrade tool ...
Copying Oracle VM Manager shell to '/usr/bin/ovm_shell.sh' ...
Installing ovm_admin.sh in '/u01/app/oracle/ovm-manager-3/bin' ...
Installing ovm_upgrade.sh in '/u01/app/oracle/ovm-manager-3/bin' ...
Enabling Oracle VM Manager service ...
Shutting down Oracle VM Manager instance ...
Restarting Oracle VM Manager instance ...
Waiting 15 seconds for the application to initialize ...
Oracle VM Manager is running ...
Oracle VM Manager installed.

Please wait while WebLogic configures the applications... This can take up to 5 minutes.

Installation Summary
--------------------
Database configuration:
  Database host name          : localhost
  Database instance name (SID): XE
  Database listener port      : 1521
  Application Express port    : 8080
  Oracle VM Manager schema    : ovs

Weblogic Server configuration:
  Administration username     : weblogic

Oracle VM Manager configuration:
  Username                    : admin
  Core management port        : 54321
  UUID                        : 0004fb00000100009f9331dd1f11aec3

Passwords:
There are no default passwords for any users. The passwords to use for Oracle VM Manager, Oracle Database 11g XE, and Oracle WebLogic Server have been set by you during this installation. In the case of a default install, all passwords are the same.

Oracle VM Manager UI:
  http://vmserver.oralab:7001/ovm/console
  https://vmserver.oralab:7002/ovm/console
Log in with the user 'admin', and the password you set during the installation.

Please note that you need to install tightvnc-java on this computer to access a virtual machine's console.

For more information about Oracle Virtualization, please visit:
  http://www.oracle.com/virtualization/

Oracle VM Manager installation complete.

Finalizada la instalación es buena idea hacer que la base de datos consuma menos memoria:

root@vmserver iso]# su - oracle
[oracle@vmserver ~]$ cd /u01/app/oracle/product/11.2.0/xe/
[oracle@vmserver xe]$ export ORACLE_HOME=`pwd`
[oracle@vmserver xe]$ export ORACLE_SID=XE
[oracle@vmserver xe]$ export PATH=$ORACLE_HOME/bin:$PATH
[oracle@vmserver xe]$ sqlplus

SQL*Plus: Release 11.2.0.2.0 Production on Fri May 25 17:56:56 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Enter user-name: / as sysdba

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL> alter system set sga_max_size=0 scope=spfile;

System altered.

SQL> alter system set memory_max_target=300M scope=spfile;

System altered.

SQL> alter system set memory_target=300M scope=spfile;

System altered.

SQL> create pfile from spfile;

File created.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  187928576 bytes
Fixed Size		    2224792 bytes
Variable Size		   96472424 bytes
Database Buffers	   83886080 bytes
Redo Buffers		    5345280 bytes
Database mounted.
Database opened.
SQL>

Podemos también cambiar los requerimientos de memoria del Oracle VM Manager editando el archivo /etc/init.d/ovmm editando las líneas que contienen los parámetros de uso de memória.

JVM_MEMORY_MIN=512m
JVM_MEMORY_MAX=1200m
JVM_MAX_PERM=384m

Una vez realizados todos estos cambios reiniciamos el servidor y entramos a la consola que estará en http://nombre-servidor:7001/ovm/console.

Los pasos siguientes serán:

  • Descubrir el servidor
  • Agregar el servidor a un server pool
  • Crear un respositorio en el segundo disco
  • Modificamos la red por defecto para que sirva para storage y máquinas virtuales
  • Agregamos unas cuantas ( unas 10 ) virtual nics
  • Descargamos un plantilla de la web de Oracle y la instalamos con el OVM
  • Creamos nuestra primera máquina virtual en base a la plantilla
  • Editamos la máquina virtual y le asignamos un virtual nic ( si no no tendrá red )

Realizando los pasos anteriores tuve unos pequeños problemas.

Primer problema no se desplegaba el segundo disco del server como almacenamiento local, buscando en los foros vi que era necesario levantar el mapeo de iscsi y lo detectaba.

[root@vmserver mapper]# service multipathd start
Starting multipathd daemon:                                [  OK  ]
[root@vmserver mapper]# ls /dev/mapper/
control  SATA_Hitachi_HDS5C30_ML0220F30UPE7D
[root@vmserver mapper]# chkconfig multipathd on

Otro inconveniente es que las plantillas las carga por http de otro servidor, así que me plantee poner un servidor apache en el dom0, para ello agregue un repositorio de los que Oracle tiene como públicos. Al tener un apache en el mismo servicor ya puedo poner las plantillas que se descarguen desde Oracle en /var/www ahorrando tiempo de red. La configuración de un repositorio en el hipervisor no es recomendada pero recordemos que este es un entorno de prueba.

[root@vmserver yum.repos.d]# pwd
/etc/yum.repos.d
[root@vmserver yum.repos.d]# cat oul5_u7_base.repo
[ol5_u7_base]
name=Oracle Linux $releasever – U7 – $basearch – base
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL5/7/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=1
[root@vmserver yum.repos.d]# yum list
[root@vmserver yum.repos.d]# yum install httpd
[root@vmserver yum.repos.d]# vi /etc/httpd/conf.d/welcome.conf

Y el problema final fue que al lanzar la consola de la máquina virtual desde el OVM entraba en un lazo infinito de descargar un archivo, para solucionarlo hay que ejecutar el archivo con javaws. En mi sistema de escritorio que es un Ubuntu fue hacer que lance  la descarga con /usr/bin/javaws, un proeblema relacionado fue la necesidad de tener el tightVNC instalado, en Ubuntu se instala el paquete xtightvnc.

En el mac tuve que instalar tigthVNC en su versión java y modificar el lanzador de la aplicación a

/usr/bin/java -jar /Users/fjandrade/tightvnc-jviewer.jar -host ${host} -port ${port}

Espero que sea de ayuda!

Migrar una máquina virtual Windows XP de VMWare a VirtualBox

Esto es bastante sencillo pero si no se sigue paso a paso puede ser complejo porqué tendremos que darnos contra el regedit o encontrarnos con que no tenemos conexión de red a la máquina.

Lo primero es lanzar la máquina virtual de Windows XP con VMWare y ya dentro, en el panel de control desinstalar los VMWare Tools.

Lo segundo e importante es descargar y dejar el driver de la tarjeta de red  Intel pro 1000 para XP dentro de la máquina virtual. Al parecer VMWare reemplaza los drivers para la controladora AMD que utiliza por defecto por lo que al enganchar la maquina al VirtualBox cambiamos el tipo; Windows XP no trae este controlador por defecto por ello hay que dejarlo dentro de la máquina virtual para después instalarlo.

El tercer paso es copiar/mover los archivos, lanzar el VirtualBox y crear una nueva máquina virtual cuando nos pida el disco le damos el archivo vmdk principal, si esta dividido en múltiples archivos es aquel que no lleva un número. En Settings/Características de la máquina virtual en la pestaña system/sistema activamos  IO APIC y nos aseguramos que el Chipset sea PIIX3. Finalmente en la red/network para la primera controlado abrimos el cuadro de dialogo avanzada/advanced y cambiamos el tipo de adaptador a Intel PRO/1000 MT Desktop.

Arrancamos la máquina virtual, instalamos el driver de la tarjeta de red y luego el VirtualBox Guess Additions y eso es todo.

 

VirtualBox 4.0.4 Interface Web en Linux (vboxweb phpvirtualbox CentOS 5.6)

Partimos de asumir que se tiene un VirtualBox instalado y ejecutando correctamente, también asumimos que se tiene en el mismo servidor Apache y PHP.

Para activar el acceso web en VirtualBox creamos un fichero /etc/default/virtualbox

[root@localhost ~]# cat /etc/default/virtualbox
VBOXWEB_USER=fjandrade

#VBOXWEB_PIDFILE=
VBOXWEB_HOST=127.0.0.1
VBOXWEB_PORT=18083
VBOXWEB_TIMEOUT=0
#VBOXWEB_CHECK_INTERVAL=5
#VBOXWEB_THREADS=100
#VBOXWEB_KEEPALIVE=100
#VBOXWEB_LOGFILE=/var/log/vbox/web
#INSTALL_DIR=/usr/lib/virtualbox
El usuario debe ser el mismo que vamos a emplear para iniciar las máquinas virtuales y tiene que pertenecer al grupo vboxusers, sobre todo tener en cuenta los permisos de archivo al declarar el usuario.
Una vez creado este archivo levantamos el servicio
[root@localhost ~]# /etc/init.d/vboxweb-service start
Starting VirtualBox web service                            [  OK  ]
finalmente descargamos phpvirtualbox de esta dirección http://code.google.com/p/phpvirtualbox/ y descomprimimos su contenido en el directorio del servidor web.
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
phpvirtualbox-4.0-5.zip
[root@localhost html]# unzip phpvirtualbox-4.0-5.zip
[root@localhost html]# ln -s phpvirtualbox-4.0-5 phpvirtualbox
[root@localhost html]# rm phpvirtualbox-4.0-5.zip
Finalmente copiamos y editamos el archivo de configuracion de phpvirtualbox
[root@localhost html]# cd phpvirtualbox
[root@localhost phpvirtualbox]# cp config.php-example config.php
[root@localhost phpvirtualbox]# vi config.php
Modificamos las lineas, con el usuario y la contraseña del sistema operativo que emplearemos principalmente en la gestión de las máquinas virtuales.
/* Username / Password for system user that runs VirtualBox */
var $username = ‘fjandrade’;
var $password = ‘XXXXX’;
Finalmente podremos acceder a la interface web en:
http://servidor/phpvirtualbox
El usuario y contraseña predefinidos son admin/admin.

Guia de Instalación Oracle 11gR2 con ASM en VirtualBox

He escrito una pequeña guia de instalación de Oracle 11gR2 con ASM (Oracle Restart /Grid Infraestructure) y Virtualbox 4.04 que se encuentra en este enlace:

http://www.fjandrade.com/Download/Instalacion_Oracle11g_ASM_OUL.pdf

Como fue escrito para la Comunidad Oracle Hispana existen dos foros abiertos con preguntas, si tienen alguna duda puede que ya este respondida allí.

http://comunidadoraclehispana.ning.com/forum/topics/instalando-oracle-virtual-box

http://comunidadoraclehispana.ning.com/forum/topics/instalando-oracle-database-11g

El tutorial requiere unos retoques, espero trabajar en ello pronto.

Saludos y espero que sea de ayuda.

Oracle 11g (11.1.0.6.0) problema con OEM CPU al 100% o muy alto

Update!

Esto tiene una solución mas sencilla que la anterior. Simplemente hay que seguir los siguientes pasos:

  • Bajar la consola como el usario oracle con el comando: emctl stop dbconsole.
  • Conectarse a la base de datos con sqplus como el usario SYSMAN y ejecutar el comando: execute MGMT_PAF_UTL.STOP_DAEMON;
  • Conectarse a la base de datos con sqplus como el usario SYSMAN ejecutar el comando: execute MGMT_PAF_UTL.START_DAEMON;
  • Levantamos la consola como el usuario oracle con el comando: emctl start dbconsole.

El primer comentario lo expone claramente, pero muchas personas me preguntan lo mismo, asi que lo documento aquí.

Links:
http://forums.oracle.com/forums/thread.jspa?messageID=2207494&#2207494
http://edin.no-ip.com/content/100-cpu-usage-overhead-running-em-dbconsole-11g-debian-sid

—-> old post:

Si tienes una instalación nueva de 11g el CPU se pone al 100% por un problema con un trabajo de mantenimiento. La query siguiente pone el CPU a tope.

SELECT EXECUTION_ID, STATUS, STATUS_DETAIL
FROM MGMT_JOB_EXEC_SUMMARY
WHERE JOB_ID = :B3 AND TARGET_LIST_INDEX = :B2 AND EXPECTED_START_TIME = :B1

Al parecer un workaround simple es borrar el trabajo PROVISIONING DAEMON de la tabla sysman.mgmt_job. Por lo pronto el bug se presenta sobre entornos con máquinas virtuales.

La solución de los foros de OTN:

bajar el oem ( emctl stop dbconsole)

create table mgmt_job_bad as select * from sysman.mgmt_job where job_name = ‘PROVISIONING DAEMON’;
delete from sysman.mgmt_job where job_name = ‘PROVISIONING DAEMON’;
commit;

subir el oem (emctl start dbconsole)

Por lo pronto este workaround y a esperar el parche.

Oracle Instant Client + Ubuntu

Probado en un 9.04 64 bits. Asumo que será similar en otras versiones.

El instant client se descarga de la red de tecnologia de Oracle.

Se necesita libaio para la versión 11, para la versión 10 no es necesario.

apt-get install libaio1

A partir de este punto existen dos posibles formas de instalar el instant client.

1) Transformando los paquetes RPM en DEB con alien.

apt-get install alien

alien oracle-instantclient11.1-basic-11.1.0.7.0-1.i386.rpm
alien oracle-instantclient11.1-devel-11.1.0.7.0-1.i386.rpm
alien oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.i386.rpm

dpkg -i oracle-instantclient11.1-basic_11.1.0.7.0-2_i386.deb oracle-instantclient11.1-devel_11.1.0.7.0-2_i386.deb  oracle-instantclient11.1-sqlplus_11.1.0.7.0-2_i386.deb

2) Descomprimiento los ZIPs y declarando las variables de entorno.

sudo mkdir -p /opt/oracle/
cd /opt/oracle/
sudo unzip instantclient-basic-linux32-11.1.0.7.zip
sudo unzip instantclient-jdbc-linux32-11.1.0.7.zip
sudo unzip instantclient-sdk-linux32-11.1.0.7.zip
sudo unzip instantclient-sqlplus-linux32-11.1.0.7.zip
sudo ln -s /opt/oracle/instantclient_11_1 client
cd /home/oracle/client /opt/oracle/
sudo ln -s  libclntsh.so.11.1 libclntsh.so
sudo ln -s  libocci.so.11.1 libocci.so

export ORACLE_HOME=/opt/oracle/client
export PATH=$ORACLE_HOME/client:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/client:$LD_LIBRARY_PATH
export TNS_ADMIN=<directorio tnsnames.ora>

Para probarlo podemos utilizar el SQLPLUS contra un servidor disponible.

sqlplus <user>/<pass>@<host>:<puerto>/<servicio>

Slds

FJAProbado en un 9.04 64 bits. Asumo que será similar en otras versiones.

El instant client se descarga de la red de tecnologia de Oracle.

Se necesita libaio para la versión 11, para la versión 10 no es necesario.

apt-get install libaio1

A partir de este punto existen dos posibles formas de instalar el instant client.

1) Transformando los paquetes RPM en DEB con alien.

apt-get install alien

alien oracle-instantclient11.1-basic-11.1.0.7.0-1.i386.rpm
alien oracle-instantclient11.1-devel-11.1.0.7.0-1.i386.rpm
alien oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.i386.rpm

dpkg -i oracle-instantclient11.1-basic_11.1.0.7.0-2_i386.deb oracle-instantclient11.1-devel_11.1.0.7.0-2_i386.deb  oracle-instantclient11.1-sqlplus_11.1.0.7.0-2_i386.deb

2) Descomprimiento los ZIPs y declarando las variables de entorno.

sudo mkdir -p /opt/oracle/
cd /opt/oracle/
sudo unzip instantclient-basic-linux32-11.1.0.7.zip
sudo unzip instantclient-jdbc-linux32-11.1.0.7.zip
sudo unzip instantclient-sdk-linux32-11.1.0.7.zip
sudo unzip instantclient-sqlplus-linux32-11.1.0.7.zip
sudo ln -s /opt/oracle/instantclient_11_1 client
cd /home/oracle/client
sudo ln -s  libclntsh.so.11.1 libclntsh.s
sudo ln -s  libocci.so.11.1 libocci.so

export ORACLE_HOME=/opt/oracle/client
export PATH=$ORACLE_HOME/client:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/client:$LD_LIBRARY_PATH
export TNS_ADMIN=<directorio tnsnames.ora>

Para probarlo podemos utilizar el SQLPLUS contra un servidor disponible.

sqlplus <user>/<pass>@<host>:<puerto>/<servicio>

Slds

FJA

ApEx, OracleXe en Servidor Dedicado ( Desarrollo Oracle Económico?)

Versión — 0001

apex_logo

Estaba buscando una forma económica de desarrollar con Oracle, probé con Amazon Web Services (AWS) pero salía la cuenta muy alta ( alrededor de 100 USD mes ).  Ahora encontré un servidor dedicado por 20 EUR al mes ( económico ) en la gama baja de ovh.es, completamos el cuadro con Oracle XE y Apex.

Limitaciones: La base de datos XE está limitada a un procesador y 4GB que es más que suficiente para una aplicación orientada a una PYME. El servidor de entrada de ovh.es es un Celeron con 1GB en RAM, nuevamente suficiente para una PYME.

Resumen: Contratamos un servidor en Kemsirve con Ubuntu ( gama baja de ovh.es ),  instalamos Oracle XE para Ubuntu( Base de datos ), y luego instalamos Oracle ApEx ( Entorno RAD para Oracle ).

Tutorial:

Después de contratar un servidor en Kemsirve, llegará un mail con instrucciones para conectarse como root al servidor contratado. Para conectarse al servidor se puede utilizar putty si se está en windows o ssh directamente si se está en un servidor linux. Una vez conectado como root es bueno configurar unas pocas reglas de iptables ya que el servidor Ubunto no tendrá un muro de fuego por defecto, especialmente para no exponer la base de datos directamente al internet ( muy mala idea ).

iptables -A INPUT -i eth0 -p tcp –dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp –dport 8080 -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -j ACCEPT
iptables -A INPUT -i eth0 -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -I INPUT 5 -m limit –limit 5/min -j LOG –log-prefix “iptables denied: ” –log-level 7
iptables -A INPUT -i eth0 -j DROP

Las anteriores son reglas que permiten el acceso a los puertos 22,80 y 8080 (ssh, 80 y 8080) , a hacer ping y bloquean todo el resto del tráfico.

Una vez que esto está listo se puede instalar Oracle XE, como root editamos el archivo /etc/apt/sources.list ( se puede usar el comando nano si no se sabe usar en vi ) y agregamos esto al final:

#oracle repos
 deb http://oss.oracle.com/debian unstable main non-free

Esto incluye el repositorio de Oracle en la lista de aquellos que se puede utilizar para instalar paquetes. Luego instalamos el Oracle XE con los siguientes comandos como root ( el servidor de Kemsirve usar root, si es un Ubuntu se puede usar el comando sudo).

#>wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle  -O- | sudo apt-key add –
#>apt-get update
#>apt-get install oracle-xe

Después de unos minutos está instalado el software pero no tenemos la base todavia, para  instalar y configurar la base como root ponermos el comando:

#>/etc/init.d/oracle-xe configure

Durante el procesos de configuración se nos solicitará la clave para los usuarios administradores de la base SYS y SYSTEM ( recordarla! ), luego nos preguntará si queremos iniciar el servicio de la base de datos y listener cuando el servidor se arranque. El proceso crear la una base de datos, configura el listener y establece los archivos de necesarios para iniciar los servicios ( ya se que no hay servicios en los debian!).

Oracle XE ya viene con una versión de ApEx pero es una versión anterior para actualizarla debemos descargarla de la red de tecnología de oracle (otn.oracle.com)  y tener una cuenta activa, el registro es gratuito pero es un paso indispensable para continuar. Una vez que se tenga la cuenta podemos proceder con la descarga desde el servidor utilizando lynx ( recurso obtenido de la página web del Pythian Group ), asi como oracle:

#>su – oracle — para pasar a ser el usuario oracle
oracle> cd   — para regresar al home de oracle
~oracle> rm .lynx_cookies — en caso de existir este archivo
~oracle> vi  lynx.cfg –se puede utilizar nano

Añadimos las siguiente líneas archivo al editarlo

SET_COOKIES:TRUE
PERSISTENT_COOKIES:TRUE
ACCEPT_ALL_COOKIES:TRUE
COOKIE_FILE:~/.lynx_cookies
INCLUDE:/etc/lynx.cfg

Luego llamamos a lynx ( navegador web en consola (que locura!)).

~oracle> lynx -cfg=./lynx.cfg http://download.oracle.com/otn/java/appexpress/apex_3.1.2.zip

Se nos presentará una pantalla para introducir el usuario y contraseña de la red tecnológica de oracle, luego aplastamos botón derecho o intro para descargar el archivo en el mismo directorio en el cual llamamos a la aplicación. Tomá unos pocos minutos es una descarga de alrededor de 90MB.

El instalador de Oracle para debian y todos sus primos está bien, sin embargo no declara las variables de entorno para poder usar la base de datos XE, es por ello que creamos  como oracle ( ojo seguimos como oracle ) el archivo .bash_profile.

~oracle> vi .bash profile— en caso de existir este archivo

Agregamos estas líneas:

#!/bin/bash
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin
export PATH

Luego cargamos estas variables de entorno que nos permitirán usar el software de la base de datos.

~oracle> . .bash_profile 
–para cargar el perfil en la sesión actual, no necesario si se realizan otras conexiones.
~oracle> env | grep ORACLE 
–para valirdar que el ORACLE_HOME y ORACLE_SID esten presentes

~oracle> env | grep PATH
–para valirdar que el PATH apunte a ORACLE_HOME/bin

Una vez establecidas estas variables se debe descomprimir el software que descargamos en algún lugar, yo lo pongo junto a los binarios de la base:

~oracle> cd    –para regresar al home de oracle
>>oracle>mv apex_3.1.2.zip ./app/oracle/product/
>>oracle>cd app/oracle/product/
>>oracle>unzip apex_3.1.2.zip

esto crea un directorio que se llama “apex”.

>>oracle>cd apex
>>oracle>sqplus sys@xe as sysdba — para ingresar a la base como sys
—> ingresamos el password
SQL> @apexins SYSAUX SYSAUX TEMP /i/ –este comando instala apex

Después de unos 30 minutos el proceso debe terminar sin errores, inmediatamente sale al sistema para debemos configurar todavia la cuenta de administrador y el puerto del ApEx, para ello como oracle:

~oracle>sqplus sys@xe as sysdba
— para ingresar a la base como sys
SQL>@apxchpwd
— para cambiar la password del usuario “admin” de apex
SQL>@apex_epg_config  /usr/lib/oracle/xe/app/oracle/product
— para configurar el plsql gateway (la web)
SQL>ALTER USER ANONYMOUS ACCOUNT UNLOCK;
–desbloquea el usuario anónimo (para la web)

SQL>@apxldimg.sql /usr/lib/oracle/xe/app/oracle/product
–para actualizar la imágenes de ApEx
SQL> SELECT DBMS_XDB.GETHTTPPORT FROM DUAL;
–para validar en que puerto está configurado el gateway ( tiene que ser 8080)
.
SQL>EXEC DBMS_XDB.SETHTTPPORT(8080);
–para establecer el puerto (en caso de que no sea correcto).

Todos estos pasos se encuentran en la guía de instalación de Oracle ApEx aunque un poco más dispersos. Para ingresar a apex ponemos la dirección del servidor http://miservidor:8080/apex , para ingresar a la consola de administraciónhttp://miservidor:8080/apex/apex_admin.

Ahora bien con esto termino la versión 00001 de esta guía, para poder realizar una aplicación se ingresa a la consola con administrador se crea un workspace de desarrrollo se hace logout y se ingresa con el usuario de desarrollo y el nombre del workspace ( hoy ya me cansé pongo pantallas de eso luego).

Como podrá intuir cualquier paranoico ( yo soy uno ) esta configuración no es extremadamente segura ( depende de que tan seguro sea el oracle ), se puede utilizar un servidor web para redireccionar la información de ApEx eso también espero descubrir como.

Finalmente el producto no está completo sin poder generar PDFs para descargar documentos imprimibles, sé que eso se puede realizar redireccionando datos a un Tomcat y utilizando unas cuantos servlets, ya que la solución de Oracle para ello es de pago, eso también espero adjuntarlo a este tutorial.

Espero que sea de utilidad.

Slds

FJA

Redes sociales, comunidades alrededor de Oracle

Bueno esto de estar en varias redes sociales al mismo tiempo es un lio terrible. Redes sociales orientadas al Castellano ( Español ) y (AND)  Oracle no exisitian que conociera y hace poco me invitaron a una en NING, es muy parecida a Oracle Community que la fundo hace no mucho Eddie Awad y ya tiene 3200 miembros. Estas redes sociales estan fuera de Oracle y son esfuerzos de particulares, Oracle quizo hacer su propia Web 2.0 con Oracle MIX y un wiki de Oracle .

Creo que las redes sociales tiene un problema fundamental cuando atacan un tópico tan amplio como Oracle que puede tener muchas derivaciones. Al final la dispersión de temas hace que sea mas el ruido que el beneficio que le puedes sacar a una red social, eso me pasa con MIX y el WIKI ( que de wiki tiene poco ).

La red de Oracle Community tiene el agravante que ingresa gente muy diversa y muchos de ellos están muy  nuevos en temas de redes sociales lo que hace que la discusión baje muchisimo de nivel. Además que llegas a no tener ninguna relación con nadie, es como ir de turista a cualquier lugar lleno de otros turistas al final nadie se entera de nada.

Creo que la red de Communidada Oracle Hispana va por un buen camino, al menos esta más focalizada. Va a un mercado que es relativamente común ( Latinoamerica – España ) permitiendo que conozcas gente con la cual realizar negocios, contactos o compartir información y conocimiento … que es para lo que una red social debe servir.  Veo que tiene la verticalidad suficiente, ahora sería interesante que salga a delante que ese ya es otro tema.

Buscando otras comunidades encontré grupos en lengua castellana tanto en yahoo como en google, muchos orientados a la certificiacion, otros a desarrollo y unos pocos a DBA.  Voy a inscribirme en uno a ver si me aceptan =).

Bueno me queda invitarlos a Oracle Community a ver si se puede organizar algo interesante por esa red, esta muy orientado al Latinoamericano-Argentino (creo que el Latinoamericano se debe reconocer como lengua derivada del Castellano ) pero no creo que nadie se ofenda.


Ver mi página en Comunidad Oracle Hispana

También estoy en Oracle Community

View my page on Oracle Community

Y en Xing, y en LinkedIn y en ….
¿ya comente que estar en las redes sociales es un lio no?