Ramakrishnan & Gehrke Sailors script for Oracle database
post

The chapter 5 of the  book “Database Management Systems” (Ramakrishnan, Raghu & Johannes Gehrke.) introduces the Sailors data model, a set of three tables named Sailors, Boats and Reserves

In this article, the SQL script that implements the creation of these relational structures is developed and adapted  for Oracle Database. This script is based on the script worked by Hjalmtyr Hafsteinsson for PostgreSQL database.

The script does the following tasks

Cleans Sailors Schema and tablespaces of previous script executions

Creates Sailors_data and Sailors_index  tablespaces

Creates Sailors Schema

Grants roles and privileges to Sailors user

Connects to Sailors user

Creates tables, constraints,  in the Sailors Schema

Populates tables

Adds new columns  and new constraints (that are not part of the original data model)

Creates B-tree indexes for columns that are used in WHERE clause

Cambiar logfile del Listener sin tener que detenerlo
post

Hay veces que el log del listener crece sin parar y puede llegar a pesar varios GB . Una solucion para esto es detener el listener, truncar el archivo y volver a levantarlo, pero hay veces que las base de datos son 24/7 y esta solucion no sirve .

La solucion que voy a postear es una de las muchas que encontre en este link : http://msutic.blogspot.com/2009/06/truncating-rotating-flushing.html

La solución que implemente fue en un Oracle 10.2.0.5 y consistia en crear un nuevo log para el listener por cada mes del año con el siguiente formato :listener_yyyymm.log , asi cada mes del año iba a tener su propio log.

Estos son los pasos :

1) Conectarse con el utilitario LSNRCTL y setear el listener actual (Por lo general el nombre default es LISTENER)

C:UsersJCAJ>lsnrctl

LSNRCTL> set current_listener LISTENER

Current Listener is LISTENER

Paquete LT_CTX_PKG inválido (9.2.0.8)
post

El otro día revisando los objetos inválidos del SYS de una BD Oracle 9.2.0.8 me encontré que el paquete LT_CTX_PKG estaba inválido por que había un código no identificado dentro del BODY de este.

Buscando bien por internet me encontré con la solución y lo que hay que hacer por si a alguien se le presenta este problema es ejecutar el wrapped package : owmctxb.plb
Un wrapped package es un paquete codificado y no puede ser leído de forma normal como los *.sql.
Este paquete se encuentra en la ruta : $ORACLE_HOME/rdbms/admin
Entonces ejecutamos este paquete como sys  :
sqlplus «/as sysdba» @$ORACLE_HOME/rdbms/admin/owmctxb.plb

Con esto se arreglaría el problema de invalidez del LT_CTX_PKG .
Ademas esto también arreglaría el problema de invalidez de otros paquetes como el LTADM y el LTUTL también pertenecientes al SYS .

Flashback database Oracle 11gR2 after resize datafile
post

It is very important to read the documentation before to use the Oracle facility of Flashback Database. Furthermore, you have to take a full rman database backup to be protected against any contingency (bugs or restrictions) of flashback database features.

If you create restore points and after that you do a datafile resizing, then you have to create again a new restore point, because you cannot flashback database across a datafile resize.  For example:

SQL> CREATE RESTORE POINT before_test0 GUARANTEE FLASHBACK DATABASE;
SQL> ALTER DATABASE DATAFILE 6 RESIZE 2048G;
SQL> CREATE RESTORE POINT before_test1 GUARANTEE FLASHBACK DATABASE;

For more information, please read the oracle documentation.

http://docs.oracle.com/cd/E11882_01/backup.112/e10642/flashdb.htm

Oracle RAC One Node (nuevo desde Oracle 11gR2 EE)
post
Oracle Real Application Clusters (RAC) One  node es una nueva opción para  Oracle  Database 11g Release 2 Enterprise Edition. Esta opción proporciona alta disponibilidad mejorada  para las bases de datos de una sola instancia, protegiendo tanto del tiempo de inactividad planificado y no planificado.
Oracle RAC proporciona un nodo:
  • Sistema de alta disponibilidad «always on»  para servicios de base de datos de una sola instancia.
  • Mejor consolidación de servidores de bases de datos
  • Virtualización mejorada
  • Menor costo de desarrollo y plataforma de pruebas para full RAC
Cambio Política de Parches de Oracle. Nota metalink 1189783.1
post

Es importante si ud va a instalar la última versión de oracle, esta se puede obtener en la forma de parche full, que no requiere instalar versiones anteriores de oracle. La version 11.2.0.1 tiene varios bugs que se resuelven con las versiones más recientes. Lamentablemente estas versiones full de parches están solo disponibles en Oracle Support (metalink), y por lo tanto frecuentemente la gente comete el error de bajar el último release oficial disponible para todo público en el sitio web de Oracle y después, al tratar de parchar se  dan cuenta que podrían haber instalado desde el principio la versión full con el último parche.

SQLITE3 – La base de datos de Android
post

Hola again,

bueno, me ha tocado lidiar con Android y por esas cosas de la vida me puse a investigar si trae una base de datos, yyyyyyy SURPRISE!!

SI: se llama SQLITE y en Android 2.3.x va en la version 3.0.8

Bueno, si desean saber un poco de historia,
SQLITE clasifica como SQL database engine, osea, un motor de bd. y lo mejor que el codigo es de dominio publico, y si te lo compran…puedes venderlo!..

SQLITE esta mantenido y fue creado por un consorcio de 23 miembros, la mayoria son empresas, las cuales se comprometieron a darle
vitalidad e independencia a SQLite. El contrato esta en un Staff de abogados llamado Hipp, Wyrick & Company, Inc.. por si quieres unirteles.

Dejemonos de chachara y vamos a crear nuestra primera base de datos con tablas dentro, las cuales creare en mi telefono, desde mi Laptop :

Comandos utiles para hacer limpieza en Oracle sobre UNIX
post

Todos sabemos que para administrar una base de datos Oracle sobre UNIX necesitamos obligatoriamente tener cierto control sobre el sistema operativo, y poder mantener «la casa ordenada» en la cual vive nuestra base de datos.

Uno de las labores que normalmente los ingenieros de sistemas delegan a los DBAs es que se hagan cargo de sus filesystems (filesystem con owner oracle), entonces necesitaremos por ejemplo buscar los logs que crecen, los archivos que han crecido demasiado y quiza no son parte de Oracle, core dump y otros.

Para esto usemos lo siguiente :

1) Buscar archivos grandes (sobre 2MB)

# para esto usaremos el comando find con parametros, y salida la ordenaremos de forma numérica por tamaño :

find / -size +2000 -exec ls -s {} ; | sort -nr >large_files.out

# Un ejemplo del archivo generado sería:

cat large_files.out

18916604 /home/jacevedofl/.VirtualBox/HardDisks/Winblows XP.vdi

Laboratorio: Creación manual de base de datos en Oracle 11gR2
post

LABORATORIO CREACION MANUAL (sin usar DBCA) DE BASE DE DATOS ORACLE

Este es un laboratorio que hice para mis alumnos de www.duoc.cl y me pareció interesante compartirlo con la comunidad en internet.

El ambiente es un Linux (oracle linux, redhat, Centos o similar). El software oracle es versión 11g R2. El software está instalado en un usuario llamado «oracle»

El prompt # para linea de comando asume usuario root

El prompt $ para linea de comando asume usuario oracle

Debe tener cuidado con el cut & paste, porque podria haber transaformación de algunos caracteres, especialmente las cremillas simples ‘

Dos cremillas simples seguidas » podria confundirse con doble cremilla »

1.- Permita el uso de Xwindows a usuarios distintos a root

# xhost +

2.- Abra una ventana como usuario oracle

# su – oracle

1 2 3 4 5