Archive for the ‘Uncategorized’ Category

Forms in socket mode

Thursday, October 31st, 2013

Algun cliente alguna vez debe haber sufrido de un extraño issue con  los forms y se preguntara si vale la pena cambiarlos a ‘socket’ mode, y él se estará preguntando (con toda razón):

A.      When the forms are changed to socket mode:

1.      Will this affect the EBS application in anyway (will it be slow than now)

2.      Do we need to perform any change on our or the workstation’s side ?

ASSESSMENT AND SOLUTION

Please look at the Note in Metalink 310976.1. It seems that the Java Console in JInitiator tells you at the beginning which mode you are using.

Verifying the Forms Client Connection to the Forms Server

Once the Applet has initialized and started, it connects to the Forms Listener, using the serverPort, serverHost and connectMode parameters displayed in the Java console.  Steps to verify this are:

HOWTO : Getting User Responsability on EBS 11i using a Database user (BOLINF or APPS)

Thursday, October 31st, 2013

Find below the SQL statement to generate an extract with active users together with their active responsibilities.

The statement extracts all the active assignments of responsibilities by using the FND_USER_RESP_GROUPS table which combines DIRECT and INDIRECT responsibilities.

If you need only the DIRECT responsibilities than you also have the option to use the seeded view FND_USER_RESP_GROUPS_DIRECT. If you need only the INDIRECT responsibilities (added by roles – like Application Diagnostics and others) than use the seeded view FND_USER_RESP_GROUPS_INDIRECT.

As always adjust the SQL to cover your needs.

SELECT
fuser.USER_NAME USER_NAME
, per.FULL_NAME FULL_NAME
, per.EMPLOYEE_NUMBER EMPLOYEE_NUMBER
, frt.RESPONSIBILITY_NAME RESPONSIBILITY
FROM
FND_USER fuser
, PER_PEOPLE_F per
, FND_USER_RESP_GROUPS furg
, FND_RESPONSIBILITY_TL frt
WHERE
fuser.EMPLOYEE_ID = per.PERSON_ID
AND fuser.USER_ID = furg.USER_ID
AND (to_char(fuser.END_DATE) is null
OR fuser.END_DATE > sysdate)
AND frt.RESPONSIBILITY_ID = furg.RESPONSIBILITY_ID
AND (to_char(furg.END_DATE) is null
OR furg.END_DATE > sysdate)
AND frt.LANGUAGE = ‘US’
ORDER BY
, fuser.USER_NAME;

Ramakrishnan & Gehrke Sailors script for Oracle database

Saturday, October 19th, 2013

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

Flashback database Oracle 11gR2 after resize datafile

Sunday, May 5th, 2013

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)

Sunday, May 5th, 2013
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

Saturday, May 4th, 2013

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

Thursday, May 3rd, 2012

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 :

Protected: Ejemplo de reporte enviado por email usando OEM 10g

Wednesday, April 11th, 2012

This content is password protected. To view it please enter your password below:

Maquinas Virtuales preconfiguradas con herramientas Oracle

Saturday, March 12th, 2011

Muchos alumnos o desarrolladores que se inician con las herramientas Oracle demoran bastante tiempo para configurar sistemas operativos y herramientas de desarrollo en ambientes virtualizados antes de quedar completamente operativos.

La buena noticia es que Oracle está proveyendo MV completamente preconfiguradas con las herramientas de su elección. Esto se está haciendo con el software de virtualización VirtualBox desarrollado incialmente por Sun microsystems, y que ahora es propiedad de Oracle Corporation.

Los pasos son los siguientes

1.- Bajar e instalar Virtual Box para la version de Sistema Operativo Host que tenga (Windows XP 32 bits, Linux RedHat, Linux Ubuntú, Linux Centos y muchos más) ir a   Oracle OTN VM VirtualBox

2.- Bajar la imagen de la MV con el paquete de productos que sea de su interes:

  • Java Development (Oracle Linux 5, Java SE (JDK) 1.6, Java FX runtime , Netbeans, Glassfish Server, JRockit Mission COntrol Eclipse 3.6 )

¿Cual es la diferencia entre ROW CHAINING y ROW MIGRATION?

Sunday, January 16th, 2011

Ok, este es un tema clásico de Oracle que clásicamente induce a confusión para aquellos que no tienen claros conceptos como block size, bloque de base de datos y bloque de S.O., extent, y mucha otra teoría.

Una fila migrada se migra ya que fue movida a otro bloque debido a que un UPDATE la hizo muy grande para que su tamaño calce dentro del bloque original junto a las otras filas de allí. Otra acotación es que no podemos solo ‘mover’ la fila ya que tenemos un montón de índices apuntando al bloque original.

Una fila encadenada es demasiado grande para caber en un solo bloque, entonces si tenemos el tamaño del bloque de la base de 2K pero el tamaño de mi fila es de 4K, usaremos 3 bloques de la base para almacenar esa fila en partes. Cualquier tabla cuyo tamaño de fila excede el bloque de la base de datos tendrá CHAINED ROWS.