Labels

Modelo realizado en DataModeler pasado a Oracle 10g

Realizo éste post respondiendo a una pregunta que se generó en el post de "Crear un sencillo modelo de datos con Oracle SQL Developer Data Modeler" en el cual una persona me preguntó cómo llevar el modelo creado de ejemplo en el DataModeler a Oracle 10g.
Tenemos éste ejemplo de modelo, yo estoy trabajando en Windows con el DataModeler pero también se puede trabajar en Linux.


Conexión del Schema de ejemplo HR en Oracle SQL Developer

Aquí les dejo otro videotutorial cortito donde vemos cómo conectar el schema de ejemplo HR de nuestra base de datos Oracle con el SQL Developer. Espero les sirva.




Licencia Creative Commons
Conexión del Schema de ejemplo HR en Oracle SQL Developer por Clarisa Maman Orfali se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported.

Temporada 1 - Programa 4 - Diciembre 2011 - El Show de la Comunidad Oracle Hispana

En la última entrega del año no te pierdas la oportunidad de participar por sorteos gratuitos. Hablamos acerca de SQL Developer. En la Reseña Autobiográfica, Jorge Loquendo se transforma en un paquete. Y el Juego de los Indicios esta vez viene con premios. Apúrate a escuchar el programa! Tienes tiempo hasta el 20 de diciembre para participar por los premios. Súmate también a la Trivia COH. En la Entrevista del Show, nos visita Juan Camilo Ruiz, Product Manager de Oracle, y nos cuenta todo acerca de JDeveloper y ADF.

En el programa de enero daremos a conocer a los ganadores de los premios, no te quedes afuera, participá y ganá del juego de los indicios, esperamos tu respuesta en la casilla de correo de la Comunidad Oracle Hispana en comunidadoraclehispana@gmail.com.

Ir a descargar

Desbloquear el schema de ejemplo HR en Oracle 11gR2

Despúes de haber instalado y armado todo nuestro entorno de estudio, necesitamos desbloquear algún schema de ejemplo que trae nuestra base de datos Oracle, para el caso de que queramos utilizarlo para nuestras prácticas de estudio, en éste video explicamos como desbloquear el schema HR para tenerlo disponible y poder utilizarlo en nuestras prácticas.



Licencia Creative Commons
Desbloquear el schema de ejemplo HR en Oracle 11gR2 por Clarisa Maman Orfali se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported.

Instalación de Linux - Oracle - Parte II

Aquí les dejo la segunda parte del videotutorial explicando cómo instalar la distribución de Linux para Oracle con VirtualBox. Espero les sea de utilidad.

Links de descarga:

Oracle VM VirtualBox:
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html

Centos 5.5 DVD:
http://isoredirect.centos.org/centos/5/isos/i386/

Oracle - Linux:
Oracle - Linux
El nombre del ISO es Enterprise-R5-U5-Server-i386-dvd.iso. hay que estar registrado en la página de Oracle para poder bajarlo.

Oracle Database 11gR2 para Linux x86:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linuxsoft-085393.html

Instalación de Linux - Oracle - Parte II (Video 1 de 3)




ORA-600 kkqsMMVReAggRewrite:2




Buenas, dejo un tip que me sirvió como workaround para este error:
Si bien en Metalink se sugiere realizar un alter a nivel de sesión:


alter session set query_rewrite_enabled=false;


Instalación de Linux - Oracle - Parte I

Explicamos como instalar la distribución de Linux para Oracle con VirtualBox.

Links de descarga:

Oracle VM VirtualBox

Centos 5.5 DVD

Oracle - Linux:
Oracle - Linux
El nombre del ISO es Enterprise-R5-U5-Server-i386-dvd.iso. hay que estar registrado en la página de Oracle para poder bajarlo.

Oracle Database 11gR2 para Linux x86

Instalación de Linux - Oracle - Parte I (Video 1 de 5)



Temporada 1 Programa 3 - El Show de la Comunidad Oracle Hispana

En este nuevo Show se devela el misterio con la segunda entrega de "Sherlo OnCall y la aventura de la tabla vacía". Mencionamos a todos los ganadores del juego de los indicios del programa anterior y te damos tres nuevas pistas para que descubras una nueva tecnología oculta. Inauguramos un nuevo segmento para que mejores en la optimización de sentencias SQL, con DBA Fierrito tus queries van a volar. En la Reseña Autobiográfica, Jorge Loquendo se transforma en el comando Startup. Volvemos a desafiarte con una nueva Trivia COH. En la Entrevista del Show, un entrevistado de lujo: Fernando Jose Andrade.

Ir a Descargar

Como ver una carpeta compartida de Windows en Linux a travésde VirtualBox




1. Crear una carpeta compartida a traves de VirtualBox:
Tener en cuenta que el nombre de la carpeta, debera ser lo mas simple posible, sin espacios en blanco, ni caracteres especiales.
En el menu Shared Folders, hacemos click en el signo mas de la derecha:

Backup de un tablespace con RMAN: Escenario de bloques corruptos




Escenario 3

El escenario es el siguiente, al realizar un backup incremental nivel 1 en la base de datos, arrojó el siguiente error:

RMAN-03009: failure of backup command on t1 channel at 10/22/2011 08:07:05
ORA-19566: exceeded limit of 0 corrupt blocks for file /XXXX/data1/TBS_CORRUPTO_01.dbf

La base está en modo ARCHIVELOG, y la estrategia de backup es incremental.

Pasos para verificar un backup realizado con RMAN




Pasos

1. Conectar a RMAN

Connect target

2. List backup summary;
Este comando demora un tiempo, y nos muestra un listado de los backups realizados a la base, nos quedamos con la ultima parte, ya que esta ordenado por fecha de backup:

El Show de la Comunidad Oracle Hispana lanzó su primer Podcast!

Ya está disponible el primer programa de El Show de la Comunidad Oracle Hispana. En este primer programa, junto a Fernando Garcia te contamos todo acerca de Oracle Express Edition. En la reseña autobiografica, Jorge Loquendo te presenta el comando Grant. Te damos tres indicios para que develes el misterio de una tecnologia Oracle. Te desafiamos con una trivia y entrevistamos a Gisela Velazco para que nos cuente todo acerca de Recover Manager, la herramienta de Oracle para backup y recuperación. Espero que lo disfrutes y deja tus comentarios para seguir aprendiendo y creciendo en los proximos programas. Gracias por escucharnos!

Ir a Descargar

TABLESPACES



Información de todos los tablespaces que componen la base de datos

set linesize 132
set pagesize 200
--*****************************************************************************
SELECT tablespace_name,
   SUM (mbtotal) / 1024 / 1024 mbtotal,
   SUM ( mbtotal - mblibre) / 1024 / 1024 mbusado,
   SUM (mblibre) / 1024 / 1024 mblibre,
   round(((SUM ( mbtotal - mblibre) / 1024 / 1024) * 100) / (SUM (mbtotal) / 1024 / 1024), 2) Porc_ocu,
   round(((SUM (mblibre) / 1024 / 1024) *100) / (SUM (mbtotal) / 1024 / 1024),2) Porc_libre
 FROM (SELECT tablespace_name, bytes mbtotal, 0 mblibre
         FROM dba_data_files
        UNION ALL
       SELECT tablespace_name, 0 mbtotal, bytes mblibre
         FROM dba_free_space)
 GROUP BY tablespace_name
 order by 6
/

Sobre el valor que toman las variables bind en una consulta SQL




Podemos consultar el valor que toman las variables bind, de una consulta que se está ejecutando, y de la cual conocemos su hash_value.

select sbm.*
  from v$sql_bind_metadata sbm, v$sql s, v$session vs
 where vs.sid = &sid
   and vs.sql_address = s.address
   and s.address = sbm.address;

FLASHBACK TABLE Y FLASHBACK DML



Recuperar una tabla que se borró


FLASHBACK TABLE employees TO BEFORE DROP;

Recuperar una tabla que se borró con otro nombre


FLASHBACK TABLE employees TO BEFORE DROP RENAME TO employees_old;

Visualizar los cambios de operaciones dml

Como ver el log de cambios sobre un campo de una tabla en la cual se hacen operaciones de insert update y delete:


Select Versions_Starttime,
       Versions_Endtime,
       Versions_Xid,
       Versions_Operation,
       Par_Parameter_Name,
       Par_Value_Date,
       Par_Value_Number
  From Param Versions Between timestamp Trunc(Sysdate) And Maxvalue

Recuperar las filas borradas con delete


ALTER TABLE x ENABLE ROW Movement;
FLASHBACK TABLE x TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '20' MINUTE);

Indices y Triggers

Muestra los objectos relacionados con la tabla en cuestión.
Cuando se recupera una tabla los índices quedan en la papelera, con este query buscamos el o los nombres de los índices y hacemos el alter. Primero debemos recuperar la tabla


SELECT OBJECT_NAME, ORIGINAL_NAME, TYPE
  FROM USER_RECYCLEBIN
 WHERE BASE_OBJECT = (SELECT BASE_OBJECT FROM USER_RECYCLEBIN
 WHERE ORIGINAL_NAME = '&table')
   AND ORIGINAL_NAME != '&table '



ALTER TRIGGER "BIN$04LhcpnganfgMAAAAAANPw==$0" RENAME TO RPL_PK;

Purgar la papelera


PURGE RECYCLEBIN
PURGE DBA_RECYCLEBIN
PURGE TABLESPACE x USER y ;

Licencia Creative Commons


FLASHBACK TABLE Y FLASHBACK DML por Gisela Velazco se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported.


Crear el Catálogo de Recuperación de RMAN

El RMAN (Recovery Manager) es una herramienta de Oracle que sirve para realizar las tareas que están relacionadas con la seguridad de los datos como por ejemplo hacer copias de seguridad, restauraciones, recuperaciones y muchas otras cosas más.
El RMAN tiene una interfaz de línea de comandos y también hay herramientas gráficas que permiten utilizarlo.
Para acceder a RMAN por linea de comandos se utiliza el comando rman.
Para salir de la herramienta se utiliza el comando quit o exit.
 


Ahora estamos conectados al catálogo de recuperación, al Recovery Manager, pero en éste momento no estamos conectados a ninguna base de datos.

Ventajas de realizar copias con RMAN:
 
Control sobre las copias: siempre el RMAN guarda información sobre qué copias de seguridad se han hecho y de qué se han hecho las copias de seguridad, donde están ubicadas esas copias y esa información es muy útil para luego hacer restauraciones. Es decir RMAN sabe dónde está ubicada cada copia de la base de datos, archivo dañado, etc.

ORATAB ¿Qué es y para qué se utiliza?

El "Oratab" es un archivo creado por Oracle en el directorio /etc o /var/opt/oracle, dependiendo de distribución de Unix o Linux que se tenga.

Restore con RMAN: Un escenario común para recuperar.



Escenario 2


El escenario es el siguiente, luego de un upgrade sobre una base 10.2.0.4 para actualizar a 11.1.0.6, la base presento un fallo irrecuperable, y hubo que restaurar del backup tomado con anterioridad.
La base esta en modo NOARCHIVELOG, y la estrategia de backup es incremental.
Previamente, se guardó la estructura de la BD.

Roles y Responsabilidades del DBA de Oracle

De todas mis notas e investigaciones hechas en internet que tengo sobre Oracle, queria compartir con ustedes, ésta que me parece muy útil, porque siempre nos preguntamos cuales son las funciones específicas que debe realizar un DBA en Oracle. Aquí va el pequeño artículo:

Restore con RMAN: Un escenario complejo de desastre.



Escenario 1


El escenario es el siguiente, se rompió un disco completo, y no contamos con información acerca de la estructura de la BD, lo único que tenemos es el PFILE, el resto sabemos que se respaldó mediante RMAN.
Se inicio la BD en NOMOUNT solo con el PFILE, para tener conexión al catalogo de RMAN y conocer la estructura de la misma.
Se asume la configuracion de la opcion CONTROLFILE AUTOBACKUP en ON, y discos fisicamente separados para el software de BD y la BD. (Gracias Facundo!)

Manejando Datafiles en Oracle

Para ver todos los datafiles de una base de datos:


SQL> desc dba_data_files
Name                                      Null?    Type
----------------------------------- -------- ------------------------
FILE_NAME                                    VARCHAR2(513)
FILE_ID                                      NUMBER
TABLESPACE_NAME                              VARCHAR2(30)
BYTES                                        NUMBER
BLOCKS                                       NUMBER
STATUS                                       VARCHAR2(9)


Claves para un liderazgo efectivo

En éste artículo escrito por Juan Javier Alvarez  plantea el tema del liderazgo de una forma muy clara por eso queria compartirlo con todos ustedes, ya sé que no tiene que ver con la temática del blog pero el tema del liderazgo es un tema que ataña a todas las profesiones. Veamos cómo lo define Juan Javier Alvarez:

Existe una enorme diferencia entre ser líder (lo que requieren las organizaciones modernas) y ser un simple jefe, que se limita a cumplir directivas superiores y buscar que su personal haga lo requerido. El líder es alguien respetado, admirado y seguido por su equipo de colaboradores. Él construye las mejores condiciones para que la empresa avance, dando siempre el ejemplo, diagramando y poniendo en práctica proyectos de cabo a rabo. Él sabe interpretar lo que pasa dentro y fuera de la empresa, y logra, merced a su dinamismo, visión emprendedora y enorme capacidad de gestión, tornar sumamente competitiva a su compañía. Por eso el verdadero liderazgo está tan solicitado en el mundo de negocios moderno. Analicemos, entonces, lo que distingue al líder.


Modificar tamaño de la ventana cmd de windows

A veces suele pasar que necesitamos ver mas información en la ventana de comandos de Windows, para agrandar la ventana del cmd hacemos:

Abrir el cmd (Inicio/Ejecutar tecleamos cmd e intro).
Hacer click en la esquina superior izquierda y seleccionar Predeterminados (Defaults).

Vamos a la pestaña Diseño (Layout) y buscamos la zona de tamaño de la ventana.

Secuencias en Oracle

Las secuencias sirven para infomar el valor de una clave primaria

CREAR UNA SECUENCIA

Create sequence.....
start with n
increment by n
maxvalue n / nomaxvalue
cycle / nocycle

MODIFICAR LA SECUENCIA

Alter sequence .....
increment by n
maxvalue n / nomaxvalue
cycle / nocycle

SQL - Comandos Basicos

Les dejo el primer video de una serie de videos que vamos a publicar con respecto a los comandos básicos del SQL en Oracle 11g. Esperamos les sea de utilidad.






Licencia Creative Commons
SQL - Comandos Basicos por Clarisa Maman Orfali se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported.



Crear un esquema de libreria para practicas de consultas SQL

Les dejo la guia que preparé para crear el esquema lib, que será utilizado en la capacitación en Oracle 11g que se está realizando en la Comunidad Oracle Hispana,

http://rapidshare.com/files/455875490/Guia_de_Creacion_del_esquema_lib_-_COH.rar

Estos son los script que preparamos con Fernando Garcia:

lib_ppal.sql

prompt ...Creando esquema lib
drop user lib cascade
/
create user lib identified by lib
default tablespace users
temporary tablespace temp
/
grant CREATE VIEW to lib
/
grant UNLIMITED TABLESPACE to lib
/
grant CREATE DATABASE LINK to lib
/
grant CREATE SEQUENCE to lib
/
grant CREATE SESSION to lib
/
grant ALTER SESSION to lib
/
grant CREATE SYNONYM to lib
/
grant CREATE TABLE to lib
/
conn lib/lib
@@lib_cre.sql
@@lib_popul.sql
exit


Archivado en múltiples destinos

Modo de archivado en un solo destino:

SQL> show parameter log_archive_dest

NAME                        TYPE          VALUE
-------------------------        ---------     -------------------------------
log_archive_dest                 string        C:\oracle\product\10.2.0\
                                               oradata\TEST\archivados
log_archive_dest_state_1         string        enable
log_archive_dest_ state_10       string        enable
log_archive_dest_ state_2        string        enable
log_archive_dest_ state_3        string        enable
log_archive_dest_ state_4        string        enable
log_archive_dest_ state_5        string        enable
log_archive_dest_ state_6        string        enable
log_archive_dest_ state_7        string        enable
log_archive_dest_ state_8        string        enable

NAME                             TYPE          VALUE
-------------------------        ----------    ---------------------------
log_archive_dest_ state_9         string        enable
log_archive_dest_1                string
log_archive_dest_10               string
log_archive_dest_2                string
log_archive_dest_3                string
log_archive_dest_4                string
log_archive_dest_5                string
log_archive_dest_6                string
log_archive_dest_7                string
log_archive_dest_8                string
log_archive_dest_9                string


Como vemos tenemos informado la ubicación de destino del archivado en el parámetro: log_archive_dest, para poder hacer uso del archivado en múltiples destinos en Oracle 10g debemos modificar éste parámetro y dejarlo en blanco ya que no puede convivir con los parámetros log_archive_dest_n

Cambiar el modo de archivado de una base de datos

Activando el modo de archivado de la base de datos nos permite tener el historico completo y esto es muy importante a la hora de recuperar la información.
Cuando activamos el modo de archivado en una BD lo que sucede es que la BD pone un control interno que evitaría que LGWR nunca escribiria en un grupo al cual no haya sido archivado, es decir, cada vez que hubiera un switch se almacenaría toda la informacion en un archivelog y con esto nos aseguraría que nunca habría un Redolog Online que no se haya archivado, por lo tanto nos garantiza que el histórico es contínuo.

Desde el sqlplus:

SQL> archive log list
Database log mode                 No Archive Mode
Automatic archival                Disabled
Archive destination               USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence        29
Current log sequence              32
 

Como automatizar las tareas de arranque y parada del entorno

Aqui les dejo dos scripts que hemos elaborado en conjunto con Fernando Garcia, para subir y bajar el entorno de estudio instalado para la capacitacion gratuita en Oracle 11g ofrecida por la Comunidad Oracle Hispana.
Para aquellos que no han instalado ASM deberán retocar los scripts para su tipo de configuración.

Crear Directorio


Creamos un directorio donde sea cómodo, para guardar todos nuestros scripts. En mi caso, lo crearé en la ruta: /home/oracle/ con el nombre: myscripts

[oracle@curso ~]$  mkdir myscripts

Mover datafiles de un FS a otro




En los ambientes de DW es muy común que las BD sean de gran tamaño, superior a los 10Tb, y en determinadas ocasiones hay que ordenar la estructura de FS, y como DBA tenemos la tarea de liberar todo un FS para ocupar uno nuevo.
Sabemos que un FS puede tener datafiles de varios tablespaces, de hecho, esto es deseable. Y también sabemos que la disponibilidad de la base implica que toda re-estructuración sea hecha en caliente.
A través de esta consulta, obtenemos una salida con el paso a paso necesario para liberar en este caso el FS data1 de la base BASE_A; y traspasarlo por completo al data2 de la misma base.

Obtener la ddl de un objecto por sqlplus




A veces no contamos con aplicaciones cliente como PL/SQL Developer, TOAD, o alguna otra, y es necesario obtener el script de creación de un objeto o de un usuario.

Información de Tablespaces

set long 999999
set linesize 150
set pagesize 9999
select dbms_metadata.get_ddl('TABLESPACE', tablespace_name)
  from Dba_Tablespaces
/

Algo de UNIX



Para conocer el nombre del host dada la ip


Estando en un equipo determinado, y contando con el dato de la ip de otro equipo en la misma red, podemos averiguar su nombre:

equipoA@SID#/oracle> nslookup xx.xx.xx.xx
Using /etc/hosts on: equipoA

looking up FILES
Trying DNS
Name: equipoBuscado
Address: xx.xx.xx.xx

Eventos de Espera




Para ejecutar en SQL*Plus y obtener una salida rápida de los eventos de espera mas usuales, la información de la sesión asociada, usuario de BD, usuario de SOP, y la sentencia "kill session" en caso de que sea necesario.

SQL Plus Básico

SQL*Plus está disponible en todas las plataformas en las que se ejecuta Oracle. Se sirve con el cliente de Oracle. También está presente en el servidor. Se puede ejecutar cualquier comando de base de datos o bloque PL/SQL en SQL*Plus (siempre que se disponga de permisos).

Cuando se inicia SQL*Plus, se abre una ventana que nos pide el usuario, la contraseña y la cadena de conexión. La cadena de conexión es el alias de la base de datos.

Elementos Básicos de la Sintaxis SQL

Como dice el antiguo dicho "Una imagen vale más que mil palabras"... por eso construí la siguiente imagen para representar los elementos básicos que posee una instrucción SQL: Elementos Básicos de la Sintaxis SQL:

- Palabras Claves o Cláusulas

- Nombres de Objetos (Columnas, Tablas)

- Operadores

- Valores Absolutos

Es importante comprender que el lenguaje SQL (Structured Query Languaje) no es un lenguaje de programación como muchos confunden, por mas que ejecutemos 15 instrucciones contra la base de datos, cada instrucción será ejecutada una a la vez en forma secuencial, por eso se dice que son instrucciones individuales e independientes que se envían contra una base de datos para solicitar una serie de datos o realizar alguna modificación de los mismos.

Licencia Creative Commons
Elementos Básicos de la Sintaxis SQL por Clarisa Maman Orfali se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported.

Crear un sencillo modelo de datos con Oracle SQL Developer Data Modeler

Abrimos Oracle Data Modeler:
Hacemos click en Logical (el panel izquierdo) con el boton derecho de mouse y seleccionamos Show del menu contextual:

Certificación Oracle Database 11g Administrator

La certificacion de Administrador de Bases Oracle 11g combina la formación y la experiencia para asegurar que se tiene una sólida base y experiencia en la gestión de bases de datos.

Tipos de Certificación:


Oracle Certified Associate (OCA)
Examen a rendir previo:1Z0-007 Introduction to Oracle9i SQL® or
  • 1Z0-047 Oracle Database SQL Expert or
  • 1Z0-051 Oracle Database 11g: SQL Fundamentals I
Examen propio de la certificación:
  • 1Z0-052 Oracle Database 11g: Administration I
Obtienes tu certificación como: Database 11g Administrator Certified Associate