Archivo de Tips

A partir del 1 de Julio del presente año, Oracle a puesto a disposición del público una nueva herramienta, el Oracle SQL Developer Data Modeler, que está orientada al diseño de modelos entidad-relación y físicos, en base a los cuales se obtendrán nuevas bases de datos, así como también nos permite realizar la operación inversa, es decir, obtener un modelo físico o entidad-relación de una base de datos existente. También permite la interoperabilidad con otros motores de bases de datos, inicialmente con SqlSever2000 y 2005 y DB2. En resumen, es una herramienta CASE más pero propia de Oracle y es posible descargarla gratuitamente desde su sitio:

http://www.oracle.com/technology/products/database/datamodeler/index.html

A continuación les presento un pequeño ejemplo de cómo obtener el modelo de una base ya existente en oracle 10g y luego obtendremos el script para la creación de estas mismas estructuras pero en SqlSever2000.

Descargar el software de la página indicada anteriormente, en este caso descargamos la versión para Windows.

Descomprimir el archivo descargado “datamodeler-2.0.0-570.zip” .Se creará una carpeta llamada “datamodeler” y dentro de ella encontraremos el archivo ejecutable “datamodeler.exe” con el que se lanza la aplicación. Damos doble clic sobre este archivo y se nos presenta la pantalla principal del DataModeler.

Oracle Modeler

3.- Nos ubicamos en el menú “File” en la opción “Import” y seleccionamos el submenú “Data Dictionary” que es la opción para importar una base de datos de Oracle ya existente.

Oracle Modeler

Oracle Modeler

4.- Seguimos los pasos del wizard para obtener el modelo entidad relación de una base existente. En primer lugar en este caso vamos a añadir una base a la cual conectarnos, para esto damos clic en el botón “Add”.

pantalla4

A continuación se presenta una pantalla donde debemos ingresar los datos de la base a la cual nos queremos conectar. En “Connection Name” ingresamos un nombre para la conexión que estamos creando, “User Name” y “Password” serían el usuario y password en la base de datos a la que nos vamos a conectar, ingresamos el nombre del host o IP de la máquina en donde se encuentra la base (en este caso nuestra base se encuentra en un servidor Linux), dejamos el puerto por default 1521 e ingresamos el SID o nombre de la base.

pantalla5

Con el botón “Test Conection” podemos probar si la conexión funciona.

pantalla6

Damos clic en Aceptar y luego en OK y regresamos al wizard anterior.

5.- Damos clic en NEXT y nos ubicamos en el paso dos del wizard “Select Schema/Database”

pantalla7

En este paso escogemos el o los schemas que queremos importar, en este ejemplo vamos a importar al schema “estudiante01”.

6.- Una vez hecha la selección damos clic en “Next” y nos ubicamos en el paso tres “Select objects to import”

pantalla8

Como se puede observar se puede filtrar por tipos de objetos a importar. Se tiene una pestaña para cada tipo de objeto, esto no tiene tanta importancia ahora que vamos a obtener el modelo entidad-relación pero será útil cuando obtengamos un archivo con las sentencias DDL para re-crear esta base. En este caso seleccionamos todas las tablas y dejamos las demás opciones con su valor por default.

pantalla9

7.- Luego damos clic en NEXT y se presenta un resumen de las opciones que hemos escogido. Damos clic en FINISH para iniciar la generación del diseño.

pantalla10

Al terminar la generación se presenta un log indicándonos si tuvimos algún inconveniente y si queremos guardar o no este registro.

pantalla11

En este caso damos clic en “close” y ya podemos observar el modelo entidad-relación generado.

pantalla12

8.- A continuación vamos a obtener un script de creación de esta base en Sqlserver2000. Lo podemos hacer a través de la barra de herramientas dando clic en “generate ddl” como se muestra en la imagen a continuación, o a través del menú “File” y luego en “Export” “DDL file”

pantalla13

En la pantalla que se presenta a continuación, escogemos del listado SqlServer2000

pantalla14

Como vemos se presentan opciones para DB2 y otras versiones de Oracle. Luego de seleccionar el motor damos clic en “Generate”. Se nos presentan diferentes pestañas para ajustar detalles en la creación del script, como por ejemplo si eliminamos las dependencias entre tablas, etc. En nuestro caso dejamos todas las opciones por default y damos clic en OK para generar el script.

pantalla15

Y se obtiene finalmente un script que se puede correr dentro de una base SqlServer 2000 para crear estas estructuras.

Como se puede observar es una herramienta bastante fácil de utilizar, muy intuitiva y que nos facilitará ciertas tareas en nuestro trabajo diario.

microsoftlinux

Para los que no sabían les dejo un dato de la certificación de Oracle sobre Windows de 64 bits para procesadores AMD64 y EM64T:

Oracle Database 11g (11.1) Release 1 Supported Windows Operating Systems
32-bit Database Server and Client 32-bit Windows
32-bit Client 64-bit Windows x64
64-bit Database Server and Client 64-bit Windows x64
Oracle Database 10g (10.2) Release 2 Supported Windows Operating Systems
32-bit Database Server and Client 32-bit Windows
32-bit Client 64-bit Windows x64
64-bit Database Server and Client 64-bit Windows x64
Oracle Database 10g (10.1) Release 1 Supported Windows Operating Systems
32-bit Database Server and Client 32-bit Windows
32-bit Database Client 64-bit Windows x64
Oracle Database 9i (9.2) Release 2 Supported Windows Operating Systems
32-bit Database Server and Client 32-bit Windows
32-bit Database Client 64-bit Windows x64

Como pueden observar en la tabla no existe una versión de Oracle 9i o 10g Release 1 que pueda ser instalada en Microsoft Windows de 64 bits para procesadores AMD64/EM64T, Oracle recién certificó este tipo de instalación a partir de 10g Release 2 y por supuesto la nueva versión Oracle 11g Release 1 está completamente certificada.

A pesar de estas malas noticias Oracle fue el primer proveedor de base de datos en certificar su solución para Microsoft Windows de 64 bits con Oracle 9i Release 2, pero para plataformas Itanium en Diciembre del 2000.

Para los que estén en este dilema al momento pues los invito a probar Oracle 9i Release 2 para 64 bits en procesadores AMD64/EM64T utilizando Linux, en este caso, no existe el problema que se presenta en Microsoft Windows y es posible instalar Oracle en: Asianux 2.0, Oracle Enterprise Linux 4, Red Hat Enterprise Linux AS/ES 3 y 4 y Suse Linux 8 y 9.

Vía: Oracle Technology Network
Autor: Paola Pullas

Para cambiar el nombre o cambiar de ubicación a los redo logs, se debe tener privilegio de sistema para alterar la base de datos ALTER DATABASE. Además, se necesita privilegios de sistema operativo para copiar los archivos a la ubicación deseada y privilegios para abrir y respaldar la base de datos.

Nota: Es recomendable que antes de reubicar tus redo logs, o hacer un cambio estructural a la base de datos la respaldes completamente, ya que se podría tener algún problema en la operación a realizar.
Después de renombrar o reubicar un set de redo log files debes inmediatamente respaldar los archivos de control de la base de datos.

A continuación se describe el problema:

1: Los log files de este ejemplo están localizados sobre dos discos: disk01 y disk02

2: El primer grupo de redo logs consiste de los siguientes miembros: /disk01/logs/log101.rdo y /disk02/logs/log102.rdo, y el segundo grupo consiste de los miembros /disk01/logs/log201.rdo y /disk02/logs/log202.rdo.

3: Los redo log files localizados sobre el disk01 deben ser reubicados al disk03, y deberán reflejar las siguientes rutas: /disk03/logs/log103.rdo y /disk03/logs/log203.rdo.

Pasos para renombrar o reubicar los redo logs:

1: Bajar la base de datos:

SHUTDOWN

2: Copiar los redo redo log files a la nueva localización utilizando comandos de sistema operativo.

3: En el caso de Unix o Linux para mover los redo logs a una nueva localización ejecutamos el siguiente comando:

mv /disk01/logs/log101.rdo /diskc/logs/log103.rdo
mv /disk01/logs/log201.rdo /diskc/logs/log203.rdo

4: Levantamos la base de datos en modo MOUNT:

STARTUP MOUNT

5: Utilizando la sentencia ALTER DATABASE con la cláusula RENAME FILE renombramos los redo logs:

ALTER DATABASE
RENAME FILE ‘/diska/logs/log1a.rdo’, ‘/diska/logs/log2a.rdo’
TO ‘/diskc/logs/log1c.rdo’, ‘/diskc/logs/log2c.rdo’;

6: Abrimos la base de datos:

ALTER DATABASE OPEN;

Nota: Si queires aprender más sobre Administración de Base de Datos, puedes inscribirte en nuestros cursos Oracle en Ecuador, puedes contactarme en esta dirección paola.bolanos@refundation.com

Autor: Paola Bolaños Andrade

Para levantar el servidor de aplicaciones JBoss lo primero que se debe hacer es instalar jdk, la versión que yo utilicé para este ejemplo es jdk1.5.0_08:

Luego realizamos la instalacion de JBoss, el que puede ser descargado de la página http://labs.jboss.com/jbossas/downloads/. Recomiendo que se utilice la version 4.2.2 GA ya que es la más estable.

El archivo que se descarga de la página está en formato zip, por lo que lo único que se tiene que hacer es descomprimirlo y ubicarlo en una carpeta del disco duro, en mi caso, lo coloqué dentro de la unidad C:

Luego vamos a la carpeta C:\jboss-4.2.2.GA\bin y localizamos el archivo run.bat:

Al hacer clic en el archivo empieza a levantarse el servidor JBoss:

Listo!!! tienes levantado el servidor de aplicaciones JBoss en tu computador. Ahora puedes comprobar esto digitando en un browser lo siguiente: http://localhost:8080, el puerto 8080 es donde JBoss funciona por defecto, tienes que tomar en cuenta que este puerto no se encuentre ocupado por otra aplicación como en mi caso que al digitar la dirección anterior se me presenta lo siguiente:

Podemos ver al subir el servidor el error que nos indica que el puerto 8080 se encuentra ocupado:

Ahora para poder cambiar el puerto hacemos lo siguiente:

Abrimos el archivo server.xml el cual se encuentra en la ruta: C:\jboss-4.2.2.GA\server\default\deploy\jboss-web.deployer

En este archivo buscamos la línea que contiene el puerto que utiliza JBoss:

Connector port=”8080″ address=”${jboss.bind.address}”
maxThreads=”250″ maxHttpHeaderSize=”8192″
emptySessionPath=”true” protocol=”HTTP/1.1″
enableLookups=”false” redirectPort=”8443″ acceptCount=”100″
connectionTimeout=”20000″ disableUploadTimeout=”true” />

Una vez localizada la línea cambiamos el número de puerto, en mi caso al 8081:

Una vez realizado esto grabamos los cambios, y reiniciamos el servidor de aplicaciones, y ahora, al ir al browser podemos ver que el servidor esta correctamente levantado:

Autor: Paola Rodríguez V.

Para multiplexar el control file seguimos unos pasos muy sencillos que te pueden sacar de varios aprietos.

a) Determinamos la ruta del controlfile utilizando el siguiente comando dentro de SQL*Plus:

show parameter control_files

o puedes utilizar la siguiente consulta:

select * from v$controlfile;

b) Alteramos el parámetro CONTROL_FILES para reflejar la ruta donde estará el nuevo control file:

alter system set control_files='/home/oracle/control01.ctl','/home/oracle/control02.ctl' scope=spfile;

En este caso el control01.ctl era el que ya teníamos trabajando en nuestra base de datos y el control02.ctl es el que aumentaremos para la multiplexación.

c) Una vez hecho este cambio procedemos a bajar la base de datos:

sqlplus / as sysdba
shutdown immediate;

d) Con la base de datos abajo procedemos a multiplexar el controlfile en la nueva ruta:

cp /home/oracle/control01.ctl /home/oracle/control02.ctl

e) Levantamos nuevamente la base de datos:

sqlplus / as sysdba
startup;

Como pueden mirar la multiplexación del controlfile es un procedimiento que se realiza en frío por lo que habrá que programar mantenimiento de la base de datos para la realización de esta tarea. 

ByeNota:  Si queires aprender más sobre Administración de Base de Datos, puedes inscribirte en nuestros cursos Oracle en Ecuador, puedes contactarme en esta dirección paola.pullas@refundation.com

Autor: Paola Bolaños Andrade 

Debido a que los accesos a diferentes bases de datos en PHP no se encuentran estandarizados, se necesita de una librería que permita encapsular las diferencias entre cada API de bases de datos y asi acceder fácilmente a estas; para esto se requiere de la versión de PHP 4.0.5 o posterior, la librería que nos permite realizar esto es ADODB.

Una vez que se tiene todos los archivos de la librería en un directorio accesible al servidor Web, se realiza un archivo.php para poder realizar la conexión, hay que tomar en cuenta que este archivo debe ser creado en el mismo lugar donde se encuetra la librería:

                                        <?php

                                        include('adodb/adodb.inc.php');

                                        $db = ADONewConnection($dbdriver);

                                        $db->Connect($servidor, $usuario, $contraseña, $database);

                                                   ?>

Para dar un ejemplo más claro tenemos el archivo bases.php con las siguientes líneas de código:

                                          <?php

                                            include ("../util/adodb/adodb.inc.php");

                                            $db = NewADOConnection("oci8");

                                            $db->Connect('orcl', "scott", "tiger");

                                           ?>

Este archivo permite conectarnos a la base de datos, y para tener acceso al mismo lo único que se debe hacer es que en cada archivo en el que necesitamos utilizar esta conexión le llamamos de la siguiente manera:

                                        <?php

                                        include ("../util/bases.php");

                            ?>

 

Por:  Paola Rodríguez 

Hace algún tiempo tengo algunos libros muy interesantes en formato digital y muchos de ellos están en formato .chm que es un formato propietario de Microsoft por lo tanto muy difíciles de poder leerlos en un sistema operativo que no sea de Microsoft. Pero como siempre en el mundo Linux hay un reemplazo para casi todo les voy a mostrar una forma de poder leer estos archivos.

Este mini tutorial lo vamos a realizar en un Sistema Operativo Linux Ubuntu Gutsy Gibbon.

Hay dos aplicaciones que nos permiten manipular estos tipos de archivos, la una es gnochm y la otra es arCHManage. Primero vamos a instalar gnochm y luego analizar que nos permite realizar arCHMAnage.

Instalamos gnochm:

$sudo aptitude install gnochm

Así de sencillo, ahora con el botón derecho de nuestro mouse podemos utilizar la opción de “Abrir con CHM Viewer”, con este viewer tenemos todas las opciones necesarias para poder leer los archivos.

chm files linux

arCHManage es una aplicación mucho mas completa que nos permite entre otras cosas extraer el contenido del archivo chm y convertirlo en una página web, vamos a instalar arCHManage:

$sudo aptitude install archmanage

Para extraer el contenido a un directorio digitamos el siguiente comando que creara un directorio llamado miLibro:

$sudo archmage elarchivo.chm miLibro

Ahora solo debemos abrir nuestro web browser y abrir el archivo index.html que ha sido generado en el directorio creado.

Está es una muestra más que en Linux se puede realizar cualquier tarea.

Autor: Christian Pazmiño

Cuando tengan algún inconveniente con cualquier tipo de infraestructura, aplicación, base de datos, etc. Estos generalmente te indican que revises los logs o directamente te indican el error que ha ocurrido.

Una lección que se aprende cuando se usan estos productos de TIC y en general en la vida es que “A TI NO ES AL PRIMERO QUE LE PASA” y por lo general a quienes ya les sucedió suelen colocar la solución en Internet. De esta manera si tu te molestas en revisar con algo de detenimiento el error que te ocurrió y utilizas los comandos Control+C y Control+V, en Google o cualquier buscador de la amplia gama que existen en la web. A continuación “voilá” te salen mas de una página de foros y blogs de personas a las que ya les pasó lo mismo que ha ti y lo han podido solucionar. Esto significa que no te debes hacer problema por esas cosas.

A continuación coloco un tip que me parece de mucha utilidad, el objetivo es generar reportes de tipo HTML desde SQL*Plus:

1. Primero generamos un archivo que contenga el script que deseamos correr, en este caso es interesante el uso de la opción SET MARKUP tal como se detalla a continuación:

SET MARKUP HTML ON SPOOL ON HEAD “<TITLE>Ejemplo de reporte HTML generado desde SQL*Plus</title> -
<STYLE TYPE=’TEXT/CSS’><!–BODY {background: ffffc6} –></STYLE>”
SET ECHO OFF
SPOOL archivo.htm
SELECT FIRST_NAME, LAST_NAME, SALARY
FROM EMPLOYEES
WHERE SALARY>12000;
SPOOL OFF
SET MARKUP HTML OFF
SET ECHO ON

2. Luego ejecutamos el script utilizando el comando START o el @:

START script.sql

Simple no?

Autor: Paola Pullas