Estimados:

EL evento ya es oficial y auspiciado por Oracle Chile y OTN, tendremos stand con empresas dando entrevistas y participando en el primer evento del Grupo de Usuarios de Oracle de Chile “CLOUG”.

Reserva tu entrada porque el evento ya se aproxima y estará de lujo !!

Tendremos a personalidades del ambito internacional de Oracle, en diversas áreas, DBA´s, funcionales, Directores ACE´s de diferentes paises.

Mas información en www.cloug.cl o www.cloug.org

Cloug 2009, 13 y 14 de Abril ... NO TE LO PIERDAS !!!!!!!!!!!

Feb 16 2009

Cuentas con password por defecto

Juan Jose Puga Germany | Uncategorized | 0 Comments

Este script te permite saber que cuentas tienen password por defecto y se pueden utilizar.-

set feed off pages 0 head off

select ‘*** User ‘||USER||’ uses default password on database ‘||
GLOBAL_NAME||’ ***’
from global_name
– The next line must be left blank!!!

conn sys/change_on_install
/
conn system/manager
/
conn hr/hr
/
conn oe/oe
/
conn sh/sh
/
conn scott/tiger
/
conn adams/wood
/
conn jones/steel
/
conn clark/cloth
/
conn blake/paper
/
conn outln/outln
/
conn ctxsys/ctxsys
/
conn tracesvr/trace
/
conn dbsnmp/dbsnmp
/
conn ordplugins/ordplugins
/
conn ordsys/ordsys
/
conn mdsys/mdsys
/
conn dssys/dssys
/
conn perfstat/perfstat
/
conn csmig/csmig
/

Jan 31 2009

PREMIOS CLOUG 2009

Juan Jose Puga Germany | Actualidad, Oracle | 0 Comments

PREMIOS CLOUG 2009

Ayudenos a premiar a los mejore professionales y empresas Oracle del ano 2008 durante CLOUG 2009.

Para esto, necesitamos su apoyo respondiendo las siguientes encuentas:

* Provedor del Ano
* Instructor del Ano
* Consultor del Ano
* Empresa de Servicios del Ano
* Professional Oracle del Ano
* Desarrollador del Ano
* DBA del Ano
* Mejor Blog Oracle Chileno del Ano
* Proyecto Oracle del Ano

Muchas Gracias por su participacion, para premiar a lo mejor de lo mejor en Chile.

CLOUG 2009

Estimados,

Por fin Chile tiene su proprio grupo de Usuarios Oracle. Nuestro objetivo es apoyar la comunidad Oracle en Chile, divulgar nuevas tecnicas y tecnologias a todos los miembros de este grupo. Dependera de nosotros mismos que tan activo sera este grupo, ya que nosotros somos los responsables iguales que a una planta, de cuidar esta semilla y hacerla crescer en todo su explendor.

Cloug 2009

Por Primera vez en Chile y en Sudamerica una verdadera constelacion de estrellas del ambiente Oracle Internacional. Venga a conocer y escuchar a personalidades internacionales tales como:

Tim Hall, www.oracle-base.com

Oracle ACE Director, Oracle ACE del ano 2006 por Oracle Magazine. Tim tiene confirmada 2 presentaciones en CLOUG 2009, no se las pierda.

Presentado:

* Boost Performance with PL/SQL Programming Best Practices
* 11g New Features for PL/SQL developers

Francisco Munoz Alvarez, www.oraclenz.com www.oracleenespanol.com www.oraclemania.ning.com

Oracle ACE, el chileno mas famoso en el ambiente Oracle internacional. Francisco tiene confirmada 2 presentaciones en CLOUG 2009, no se las pierda.

Presentando:

* Logging or NoLogging:That is the Question!
* Be a hero be Proactive - Proactive Methodology Best Practices

Plinio Arbizu, www.jdeveloperLa.com

Oracle ACE Director, Peru, uno de los lideres latinoamericanos en Middleware.

* Improve your Applications with Web 2.0 Services using Oracle WebCenter 11g

Mauricio Naranjo, http://www.lucasian.com/soa

Oracle ACE Director, Colombia, uno de lideres en Miiddleware, co-autor del libro Oracle 9i Java Programming.

Presentando:

* Improving Government’s financial services with SOA in Latin-America

Marcelo Ochoa, http://marceloochoa.blogspot.com/

Oracle ACE, Argentina. En el mundo XML el es conocido como el desarrollador del DB Generator para el proyecto Apache Coccon, el proyecto open source DBPrism y DBPrism CMS y la integracion de Lucene-Oracle usando Oracle JVM Directory.

Presentando:

* Unlock the power of your Oracle Database by using Java inside the DB. Introduction and Case Study.

Dennis Remmer

Oracle ACE Director, Australia. Dennis es un especialista en SOA, aplicaciones distribuidas y Middleware (incluyendo en particular Oracle Fusion Middleware). Dennis fue por muchos anos el presidente del grupo de usuarios Oracle de Australia (AUSOUG).

Presentando:

* BPEL: SOA in Action “From the Land Down Under”

Dan Norris , http://dannoris.com,

Oracle ACE Director, Oracle Master, Presidente del renombrado RAC SIG, Dan es una personalidad Oracle muy conocida y viene de realizar 3 presentaciones en el OOW de San Francisco.

Presentando:

* Troubleshooting Oracle Clusterware
* Avoiding Common RAC Problems

Juan Camilo Ruiz, http://oracleradio.blogspot.com

Senior Product Manager para herramientas de desarrollo para JDeveloper/ADF de Oracle Corporation California, USA. Viene a Chile trayendo sessiones presentadas en Oracle OpenWorld 2008.

Presentando:

* Become Fusion Developer with no Java: A JDeveloper 11g Masterclass
* RIA and Web 2.0 Development without coding

Robert Freeman, (www.robertgfreeman.blogspot.com)

Ingeniero Principal, Escritor. Escribio muchos libros sobre Oracle tales como:

* OCP: Oracle Database 11g Administrator Certified Professional Study Guide (Sybex)
* Oracle Database 11g New Features (Oracle Press)
* Portable DBA: Oracle (Oracle Press)
* Oracle Database 10g New Features (Oracle Press)
* Oracle9i RMAN Backup and Recovery (Oracle Press)
* Oracle9i New Features (Oracle Press)

Presentando:

* Getting Started with RMAN Backup and Recovery
* Advanced RMAN Backup and Recovery

Ben Prusinski, (www.oracle-magician.blogspot.com)

Oracle Consultant, Escritor. Escribio varios libros sobre Oracle, viene de realizar varias presentaciones en OOW San Francisco. Algunos libros escritos por Ben son:

* MIgrando a Oracle: Secretos secretos para migrar de SQL Server y MySQL a Oracle (Rampant)
* 11g Insider Secrets (Rampant)

Presentando:

* Undocumented Oracle DBA Utilities: Black Magic for the Oracle Expert

Oct 16 2008

Convertir particiones de FAT32 a NTFS

Juan Jose Puga Germany | Microsoft, Plataforma | 0 Comments

Ya varias veces me ha pasado que necesito cambiarle el formato a una partición de windows que tiene un sistema de archivo FAT32 a NTFS porque la partición FAT no soporta archivos superiores a los 4 Gb, en cambio la partición NTFS si lo hace.

Para esto me permito compartir una forma fácil, rápida y segura de como realizar dicho cambio.-

1.- La partición que deseo modificar en la F: (CAMPEON). Si se fijan esta partición corresponde a FAT32.-

Particion Original

2.- Ahora hay que abrir una consola de DOS (INICIO -> EJECUTAR -> cmd.exe). Una vez en la consola se utiliza el parámetro

convert [LETRA_UNIDAD]: /fs:ntfs

Que en nuestro es:

convert f: /fs:ntfs

Conversión de archivos a NTFS

3.- Ahi comienza el proceso. La partición es de 80Gb (notar que a la partición le quedaban sólo 14 Gb disponibles).-

Proceso en ejecución

En mi caso el proceso de conversión completo duró 7 minutos.-

Proceso finalizado

4.- Finalmente la partición se convierte de FAT32 a NTFS y los datos nunca se vieron afectados.-

Unidad ya convertida de FAT32 a NTFS

Observación: Algunas consideraciones sobre el escenario en donde hice el cambioi:

SO: Windows XP Profesional
Unidad: Disco Externo USB 2.0 de 80 GB
Sistema de Archivos: FAT32

Oct 14 2008

Crear DATABASE LINK o DBLINK

Juan Jose Puga Germany | Oracle, Bases de Datos, Query | 8 Comments

Muchas veces en las aplicaciones de negocio es necesario obtener datos que no necesariamente están en las mismas bases de datos o en los mismos servidores. Para poder suplir esta necesidad Oracle tiene un objeto llamado “DATABASE LINK” o “DBLINK”. Mediante a este objeto es posible realizar una conección entre dos bases de datos, las cuales NO necesariamente pueden ser Oracle - Oracle, sin que pueden ser desde Oracle a diferentes motores de bases de datos.-

Ahora bien, hay que tener una serie de consideraciones al momento de crear un DBLINK:

  • Tener claro si el DBLINK a generar será Publico o sólo podrá ser usado bajo un esquema determinado
  • Utilizar una cuenta con los privilegios que sólo necesita el DBLINK y NO el user y pass del esquema, ya que no tenemos control de quien estará utilizando el DBLINK en la otra base de datos

La siguiente figura es un template que en lo personal utilzo para crear DBLINK, ya que ahi uno incluye toda la información del DBLINK que se va a crear

Template creacion DBLINK

Mediante el template anterior es posible definir:

  • Nombre del DBLINK
  • Nombre del servidor (ORIGEN y DESTINO)
  • IP del Servidor (ORIGEN y DESTINO)
  • Nombre de Base de Datos (ORIGEN y DESTINO)
  • Esquema de Base de Datos (ORIGEN y DESTINO)
  • Observacion (indica si es PUBLICO o Privado [Sólo a un esquema])
  • Usuario y Password que se utiliza
  • Objetos que requieren ser accesados
  • Permisos sobre estos objetos
  • Script de creación del DBLINK
  • Script de creación del usuario

Una vez ya se tiene toda la información establecida, se procede a crear el DATABASE LINK

1.- Creación de la cuenta de usuario del DBLINK, Esto se debe realizar desde la instancia DESTINO

CREATE USER USER_DBLINK IDENTIFIED BY PASS_DBLINK
DEFAULT TABLESPACE USER_DBLINK
TEMPORARY TABLESPACE TEMPORAL
QUOTA UNLIMITED ON USER_DBLINK
PROFILE DEFAULT
ACCOUNT UNLOCK
/
GRANT "CONNECT" TO USER_DBLINK
/
ALTER USER USER_DBLINK DEFAULT ROLE "CONNECT"
/

NOTA IMPORTANTE 1: La cuenta de usuario sólo debe tener el rol de CONNECT para establecer la conección a través del DBLINK, NO es recomendable otorgar otro rol.-

2.- Una vez creado el usuario se deben otorgar los privilegios que tendrá el DBLINK. Importante el DBLINK por si sólo no tiene privilegios sobre los objetos de la base DESTINO, sino que es la cuenta de base de datos que posee estos permisos.-

GRANT SELECT ESQUEMA.OBJETOS TO USER_DBLINK
/
GRANT INSERT ESQUEMA.OBJETOS TO USER_DBLINK
/
GRANT DELETE ESQUEMA.OBJETOS TO USER_DBLINK
/
GRANT UPDATE ESQUEMA.OBJETOS TO USER_DBLINK
/

3.- Ahora es necesario crear el DBLINK. La creación del script del DBLINK debe ser realizada desde la base ORIGEN.-

CREATE PUBLIC DATABASE NOMBRE:DBLINK
CONNECT TO USER_DBLINK
IDENTIFIED BY PASS_DBLINK
USING 'NOMBRE_TNSNAMES'

NOTA IMPORTANTE 2: Al comienzo del script se define si este es PUBLICO o PRIVADO, en caso de ser privado la opcion PUBLIC no se incluye en el script y el DBLINK sólo será utilizado por el esquema con el cual el DBLINK se creó.-

NOTA IMPORTANTE 3: En la linea USING ‘NOMBRE_TNSNAMES’ se debe verificar el string de conección desde el servidor ORIGEN al servidor DESTINO, se deben validar los accesos, y realizar una prueba de conección

Este post aún NO está terminado

Sep 29 2008

Mover índices a otro tablespace

Juan Jose Puga Germany | Oracle, Bases de Datos, Query | 4 Comments

Muchas veces para disminuir la contención de disco por I/O es necesario tener los objetos en tablespaces diferentes ya sea para data y para indices, para esto primero que todo deben existir estos tablespaces (se crean con la sentencia CREATE TABLESPACE).

Para el ejemplo los tablespaces ya existen

Tablespaces para Tabla y para Indices

Para mover objetos que no correspondan al tipo de datos que se almacena en cada tablespace, por ejemplo hay tablas que están almacenadas en tablespaces de índices y viceversa se debe determinar primero que todo identificar estos objetos, y para esto podemos usar el script

select owner, tablespace_name,segment_type, count(segment_type)
from dba_segments
group by tablespace_name,owner,segment_type
order by 1 asc

Tabla de objetos
Tabla de Objetos

Si nos fijamos bien en la tabla anterior, podemos ver que hay índices que estan en el tablespace “DATOS“, “LABORATO_DATA” y “USERS” en donde se registran 2, 11 y 31 índices respectivamente.

Ahora bien estos índices encontrados anteriormente son candidatos para que sean movidos a su ubicación correcta, es decir al tablespaces de índices “LABORATO_INDEX

Para mover estos índices a otro tablespaces se deben identificar, se puede usar la siguiente query:

select owner, tablespace_name,index_name from dba_indexes
where owner='LABORATO'
and tablespace_name in ('DATOS', 'USERS','LABORATO_DATA')
order by 2,3 asc

OBS: Aca usé el nombre del Owner y los tablespaces que había determinado anteriormente, aca dependerá de cada instancia

El resultado de los índices es el siguiente:

Indices que deben ser movidos

Una vez que ya tenemos estos indices identificados, procedemos a generar la consulta que los va a mover.

Para mover un índice de un tablespace a otro se usa la siguiente consulta:

Alter index NOMBRE_INDICE rebuild tablespace TBS_DESTINO;

OBS: El movimiento de índices (sin mover tablas) se usa para mover estos objetos de ubicación. Si uno quiere mover tablas de un tablespace a otro, necesariamente deberá mover y recrear los indices asociados a las tablas, ya que sino estos índices quedaran en estado invalido

Por lo general el Log de transacciones siempre está creciendo cada cierto tiempo, dependiendo obviamente de si la BD es muy transaccional o no, es por eso que para evitar que el Log de transacciones crezca mucho y se llene el disco es mejor dejar programada una tarea que se encargue de esta labor, para esto se debe realizar lo siguiente:

1.- Detectar cual es el FileId del Log de Transacciones de la BD que deseamos automatizar. Para el ejemplo la bd se llama “BD_Amin”, para saber cual es el FileId es necesario ejecutar el comando desde el Query Analyzer

sp_helpdb BD_Amin

Lo que nos dará la siguiente salida:

Salida comando sp_helpdb

Observar que el campo “usage” indica el tipo de archivo que tiene cada base de datos, para nuestro ejemplo el tipo es “Log Only“, de aquí se obtiene el “FileId“, que será “2″

1.- Luego se debe crear un JOB desde el Sql Server Enterprise. En donde se debe tener en cuenta el “FileId” que se obtuvo en el punto 1.

El detalle del JOB será:

-- Shrink
use BD_Amin
go
checkpoint
go
dump tran BD_Amin with no_log
go
dbcc shrinkfile (2,0) --ldf

2.- Luego en la pestaña “Programaciones” se podrá ingresar la programación del JOB.-

3.- Por último revisar que en la pestaña “Notificaciones” se encuentre habilitado el campo “Escribir en el registro de sucesos de aplicación de Windows”, de esta manera podemos saber su historial.-

Saludos

Sep 09 2008

Privilegios de usuarios de BD

Juan Jose Puga Germany | Oracle, Bases de Datos, Query | 0 Comments

Este script te permite saber que permisos tienen los usuarios de BD. Es bastante util porque indica los privilegios “poderosos” que por motivos de seguridad NO deberían ser otorgados

select grantee, privilege, admin_option
from sys.dba_sys_privs
where (privilege like '% ANY %'
or privilege in ('BECOME USER', 'UNLIMITED TABLESPACE')
or admin_option = 'YES')
and grantee not in ('SYS', 'SYSTEM', 'OUTLN', 'AQ_ADMINISTRATOR_ROLE',
'DBA', 'EXP_FULL_DATABASE', 'IMP_FULL_DATABASE',
'OEM_MONITOR', 'CTXSYS', 'DBSNMP', 'IFSSYS',
'IFSSYS$CM', 'MDSYS', 'ORDPLUGINS', 'ORDSYS',
'TIMESERIES_DBA')
/

Sep 09 2008

Determinar Tablespaces fragmentados

Juan Jose Puga Germany | Oracle, Bases de Datos, Query | 0 Comments

Este script permite ver que Tablespaces están fragmentados y el tipo de fragmentación que tiene.

SELECT dfsc.tablespace_name tablespace_name,
DECODE (
dfsc.percent_extents_coalesced,
100,
(DECODE (
GREATEST ((SELECT COUNT (1)
FROM dba_free_space dfs
WHERE dfs.tablespace_name = dfsc.tablespace_name), 1),
1,
'No Frag',
'Bubble Frag'
)
),
'Possible Honey Comb Frag'
)
fragmentation_status
FROM dba_free_space_coalesced dfsc
ORDER BY dfsc.tablespace_name;

Page 1 of 4