Oracle Scripts, Tips and Tricks By Zero.......!!!
Un blog donde encontraras informacion acerca de Oracle, uno de los SGBD mas potentes y eficientes del mercado. Oracle se perfila como uno de los grandes Gestores de informacion.................
martes, 27 de noviembre de 2012
miércoles, 23 de mayo de 2012
DETECTANDO FRAGMENTACION DE INDICES
En oracle podemos revisar informacion sobre un indice en particular ejecutando el comando de SQLPLUS:
VALIDATE INDEX ;
La informacion obtenida se guarda en la Tabla DBA_INDEXES, sin embargo esta tabla solo contiene una fila. Por ello si necesitamos revisar una gran cantidad de Indices se vuelve una tarea tediosa.
prompt -- Drop and create temporary table to hold stats...
drop table my_index_stats
/
create table my_index_stats (
index_name varchar2(30),
height number(8),
del_lf_rows number(8),
if_rows number(8),
distinct_keys number(8),
rows_per_key number(10,2),
blks_gets_per_access number(10,2)
)
/
prompt -- Save script which we will later use to populate the above table...
insert into my_index_stats
select NAME, HEIGHT, DEL_LF_ROWS,LF_ROWS, DISTINCT_KEYS, ROWS_PER_KEY,
BLKS_GETS_PER_ACCESS
from INDEX_STATS
-- Note this open line...
save /tmp/save_index_stats.sql replace
prompt
prompt -- Spool listing with validate commands...
col line1 newline
col line2 newline
col line3 newline
set pagesize 0
set echo off
set termout off
set trimspool on
set feed off
set linesize 200
spool /tmp/validate_indexes.sql
select 'prompt Process table '||owner||'.'||table_name||
', index '||index_name||'...' line1,
'validate index '||owner||'.'||index_name||';' line2,
'@/tmp/save_index_stats.sql' line3
from sys.dba_indexes where owner = 'SCOTT'
order by table_name, index_name
/
spool off
set termout on
set feed on
prompt
prompt -- Run script to validate indexes...
@/tmp/validate_indexes.sql
prompt -- Print nice report...
set pagesize 50000
set trimspool on
col height format 99999
col del_rows format 9999999
col rows/key format 999999.9
spool idxfrag.lst
select INDEX_NAME, HEIGHT, DEL_LF_ROWS "DEL_ROWS",LF_ROWS, DISTINCT_KEYS "DIST KEYS",
ROWS_PER_KEY "ROWS/KEY",
BLKS_GETS_PER_ACCESS "BLKS/ACCESS"
from MY_INDEX_STATS
/
spool off
-- Cleanup
drop table my_index_stats
/
prompt
prompt Report is in idxfrag.lst
prompt Done!!!
martes, 26 de abril de 2011
Creando el Catalogo de Recuperacion de RMAN
El catalogo de recuperación en RMAN nos permite obtener mayores ventajas al momento de usar esta caracteristica de Oracle, y nos permite registrar mas de una Base de Datos, lo que nos permite una mejor administracion de las opciones de respaldos configuradas.
A continuación describo de forma general los pasos para crear el catalogo de recuperación:
1.- Crear el usuario del catalogo de Recuperacion.
2.- Crear los objetos del esquema del catalogo de Recuperación.
3.- Registrar la Base de Datos con el Catalogo de Recuperación.
CREAR USUARIO DEL CATALOGO DE RECUPERACION
Antes de crear el usuario, es recomendable crear un tablespace el cual sera asignado a este usuario para almacenar todos los objetos relacionados al esquema del propietario del catalogo:
SQL> create tablespace ts_recovery
logging
datafile '/u01/app/oracle/oradata/orcl/recovery.dbf'
size 100m
autoextend on
next 100m maxsize 2048m
extent management local;
Una vez creado nuestro tablespace, procederemos a crear el usuario propietario del catalogo de RMAN y le asignamos el tablespace que acabamos de crear con la opción QUOTA UNLIMITED:
SQL> create user sman
identified by superman
default tablespace ts_recovery
quota unlimited on ts_recovery;
A el usuario que acabamos de crear debemos asignarles los permisos CONNECT, RESOURCE y RECOVERY_CATALOG_OWNER:
SQL> GRANT connect, resource, recovery catalog owner TO rcat user;
Ahora que hemos creado el usario del catalogo de recuperación es tiempo de crear el catalogo de recuperación, este proceso es muy sencillo, basta con conectarnos usando el parametro target desde RMAN y usar el parametro catalog para conectarse al catalogo de recuperacion de la Base de Datos target
Listo hasta este punto ya creamos el usuario, el catalogo y solo queda registrar nuestra Base de Datos con el catalogo que acabamos de crear. Estando en el prompt de RMAN ejecutamos el siguiente comando:
RMAN> register database;
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
Listo ahora nuestra Base de Datos ya esta registrada con el catalogo, para verificarlo basta con ejecutar el comando report schema y obtendremos una descripción del contenido de nuestra Base de Datos:
RMAN> report schema;
Report of database schema for database with db_unique_name PRODUCCION
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 740 SYSTEM YES /u01/app/oracle/oradata/producci/system01.dbf
2 651 SYSAUX NO /u01/app/oracle/oradata/producci/sysaux01.dbf
3 840 UNDOTBS1 YES /u01/app/oracle/oradata/producci/undotbs01.dbf
4 5 USERS NO /u01/app/oracle/oradata/producci/users01.dbf
5 100 EXAMPLE NO /u01/app/oracle/oradata/producci/example01.dbf
6 100 TS_RECOVERY NO /u01/app/oracle/oradata/producci/recovery.dbf
7 50 TS_SMALL NO /u01/app/oracle/oradata/producci/small.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 20 TEMP 32767 /u01/app/oracle/oradata/producci/temp01.dbf
Las opciones de configuración de respaldos, y administracion de las estrategias de respaldos las dejaremos para entradas futuras. Si necesitan mas informacion o tienen alguna duda pueden dejar sus comentarios y tan pronto los veo les respondo.
Algunas Fuentes de informacion interesante son:
http://download.oracle.com/docs/cd/B28359_01/backup.111/b28273/rcmsynta013.htm
A continuación describo de forma general los pasos para crear el catalogo de recuperación:
1.- Crear el usuario del catalogo de Recuperacion.
2.- Crear los objetos del esquema del catalogo de Recuperación.
3.- Registrar la Base de Datos con el Catalogo de Recuperación.
CREAR USUARIO DEL CATALOGO DE RECUPERACION
Antes de crear el usuario, es recomendable crear un tablespace el cual sera asignado a este usuario para almacenar todos los objetos relacionados al esquema del propietario del catalogo:
SQL> create tablespace ts_recovery
logging
datafile '/u01/app/oracle/oradata/orcl/recovery.dbf'
size 100m
autoextend on
next 100m maxsize 2048m
extent management local;
Una vez creado nuestro tablespace, procederemos a crear el usuario propietario del catalogo de RMAN y le asignamos el tablespace que acabamos de crear con la opción QUOTA UNLIMITED:
SQL> create user sman
identified by superman
default tablespace ts_recovery
quota unlimited on ts_recovery;
A el usuario que acabamos de crear debemos asignarles los permisos CONNECT, RESOURCE y RECOVERY_CATALOG_OWNER:
SQL> GRANT connect, resource, recovery catalog owner TO rcat user;
Ahora que hemos creado el usario del catalogo de recuperación es tiempo de crear el catalogo de recuperación, este proceso es muy sencillo, basta con conectarnos usando el parametro target desde RMAN y usar el parametro catalog para conectarse al catalogo de recuperacion de la Base de Datos target
[oracle@orcl workshops]$ rman
Recovery Manager: Release 11.2.0.1.0 - Production on Tue Apr 19 17:29:26 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Recovery Manager: Release 11.2.0.1.0 - Production on Tue Apr 19 17:29:26 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
RMAN> connect catalog rcat@prod;
connected to recovery catalog database
RMAN> create catalog tablespace ts_recovery;
recovery catalog created
RMAN> create catalog tablespace ts_recovery;
recovery catalog created
Listo hasta este punto ya creamos el usuario, el catalogo y solo queda registrar nuestra Base de Datos con el catalogo que acabamos de crear. Estando en el prompt de RMAN ejecutamos el siguiente comando:
RMAN> register database;
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
Listo ahora nuestra Base de Datos ya esta registrada con el catalogo, para verificarlo basta con ejecutar el comando report schema y obtendremos una descripción del contenido de nuestra Base de Datos:
RMAN> report schema;
Report of database schema for database with db_unique_name PRODUCCION
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 740 SYSTEM YES /u01/app/oracle/oradata/producci/system01.dbf
2 651 SYSAUX NO /u01/app/oracle/oradata/producci/sysaux01.dbf
3 840 UNDOTBS1 YES /u01/app/oracle/oradata/producci/undotbs01.dbf
4 5 USERS NO /u01/app/oracle/oradata/producci/users01.dbf
5 100 EXAMPLE NO /u01/app/oracle/oradata/producci/example01.dbf
6 100 TS_RECOVERY NO /u01/app/oracle/oradata/producci/recovery.dbf
7 50 TS_SMALL NO /u01/app/oracle/oradata/producci/small.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 20 TEMP 32767 /u01/app/oracle/oradata/producci/temp01.dbf
Las opciones de configuración de respaldos, y administracion de las estrategias de respaldos las dejaremos para entradas futuras. Si necesitan mas informacion o tienen alguna duda pueden dejar sus comentarios y tan pronto los veo les respondo.
Algunas Fuentes de informacion interesante son:
http://download.oracle.com/docs/cd/B28359_01/backup.111/b28273/rcmsynta013.htm
martes, 22 de diciembre de 2009
Scripts del Diccionario de Datos.......
Scripts del Diccionario de Datos.......

Cuando se ha creado una Base de Datos de forma manual, es necesario correr los scripts que construyen las vistas, sinonimos y paquetes PL/SQL del diccionario de datos. Estos scripts se llaman catalog.sql y catproc.sql.
catalog.sql Crea las vistas de las tablas del diccionario de datos, vistas dinamicas
y brinda acceso Publico a los sinonimos.
catproc.sql Ejecuta todos los scripts requeridos por el usuario con PL/SQL.
Para ejecutarlos debemos de conectarnos a la Base de Datos:
SQL> CONNECT SYS/password AS SYSDBA
SQL> @/vobs/oracle/rdbms/admin/catalog.sql
SQL> @/vobs/oracle/rdbms/admin/catproc.sql
SQL> EXIT

Cuando se ha creado una Base de Datos de forma manual, es necesario correr los scripts que construyen las vistas, sinonimos y paquetes PL/SQL del diccionario de datos. Estos scripts se llaman catalog.sql y catproc.sql.
catalog.sql Crea las vistas de las tablas del diccionario de datos, vistas dinamicas
y brinda acceso Publico a los sinonimos.
catproc.sql Ejecuta todos los scripts requeridos por el usuario con PL/SQL.
Para ejecutarlos debemos de conectarnos a la Base de Datos:
SQL> CONNECT SYS/password AS SYSDBA
SQL> @/vobs/oracle/rdbms/admin/catalog.sql
SQL> @/vobs/oracle/rdbms/admin/catproc.sql
SQL> EXIT
La herramienta DBCA...
Que es el DBCA (dbca).
El DBCA es una herramienta que Oracle nos proporciona y su acronimo significa Asistente de Configuracion de Base de Datos (Database Configuration Assistant).
Este asistente nos permite crear, configurar, eliminar o administrar una base de datos Oracle, y puede ser invokado a traves del comando:
dbca
Este asistente puede ejecutarse en 3 modos:
Interactive: Muestra un asistente que nos va mostrando las diferentes funciones del dbca y las opciones que tenemos disponibles.
Progress Only: En este modo solo se muestra una barra de progreso, y suele ser usado cuando se crea una Base de Datos desde un Template.
Silent: Este modo tiene una interfaz de linea de comandos donde especificamos los parametros requeridos.
El DBCA puede ser usado para crear una Base de Datos standalone, o puede ser usado para agregar instancias en un ambiente de RAC.
La interfaz grafica del DBCA es la siguiente:
El DBCA es una herramienta que Oracle nos proporciona y su acronimo significa Asistente de Configuracion de Base de Datos (Database Configuration Assistant).
Este asistente nos permite crear, configurar, eliminar o administrar una base de datos Oracle, y puede ser invokado a traves del comando:
dbca
Este asistente puede ejecutarse en 3 modos:
Interactive: Muestra un asistente que nos va mostrando las diferentes funciones del dbca y las opciones que tenemos disponibles.
Progress Only: En este modo solo se muestra una barra de progreso, y suele ser usado cuando se crea una Base de Datos desde un Template.
Silent: Este modo tiene una interfaz de linea de comandos donde especificamos los parametros requeridos.
El DBCA puede ser usado para crear una Base de Datos standalone, o puede ser usado para agregar instancias en un ambiente de RAC.
La interfaz grafica del DBCA es la siguiente:
Oracle Database y sus diferentes Sabores......!!!
Oracle Database Fundamentos.
La base de Datos Oracle (Comunmente referenciada como Oracle RDBMS o simplemente Oracle) es un Sistema de Administracion de Base de Datos Relacional (RDBMS), producido y comercializado por Oracle Corporation.
Larry Ellison es el actual CEO de Oracle, y este tiene presencia en varios paises del mundo, las Oficinas Centrales se encuentran en Redwood City, California, United States. Oracle cuenta con mas de 72, 000 empleados alrededor del mundo.
Oracle comenzo con Oracle Database como producto, sin embargo al dia de hoy Oracle comercializa otros tipos de productos tales como herramientas para el desarrollo de Base de Datos, y Software de Sistemas de capa media (middle-tier),Enterprise Resource Planning software (ERP),Customer Relationship Management software (CRM) and Supply Chain Management (SCM) software.
Los Sabores "mmmmmm"
Las versiones de Oracle comenzaron con el release 5, hoy en dia, la verison mas actual de Oracle Database es la 11g. Aqui nos enfocaremos a partir de la version 8i, hasta la 11g y la mayoria de los recursos que vamos a conocer y manejar estaran sobre la version 10g.
1997. Aparece la Version 8 de Oracle Database con soporte para diseño orientado a objetos y aplicaciones multimedia.
1999. La version 8i provee mejor interoperabilidad con internet, de aqui viene la i agregada a la version 8 de Oracle Database. La Base de Datos Oracle 8i incorpora una JVM nativa.
2001. Oracle 9i llega con 400 nuevas carateristcas, incluyendo la habilidad para leer y escribir documentos XML, Oracle 9i provee una opcion para Oracle RAC (Real Application Cluster), una Base de Datos computando en Cluster y que viene a reemplazar la opcion de OPS (Oracle Parallel Server).
2003. Se anuncia el lanzamiento de Oracle 10g (La g indica "grid"enfatizando y presentando en el mercado a la version 10g como "Listo para la computacion en Grid")
2007. Se libera Oracle Database 11g para Linux y Windows.
Cada version tiene un numero de Upgrade, en la cual no vamos a entrar en detalles para evitar fastidiarnos de tanto numero jejejee.....
A parte de cada sabor de Version de Base de Datos vamos a ver que hay varias presentaciones de su base de datos, algo asi como la verison con y sin calorias.
Ediciones de la Base de Datos Oracle.
Enterprise Edition:Incluye mas carateristicas que la Standard Edition, especial para areas de seguridad y administracion. Esta version no tiene limite de memoria y puede utlizarse en cluster usando Oracle RAC.
Standard Edition:Contiene una Base de Datos funcional, diseñado para servidores que corren con uno a 4 procesadores, tambien puede utilizarse en cluster con Oracle RAC.
Standard Edition One: Introducido a partir de la version 10g, tiene varias caracteristicas limitadas, y diseñado para servidores de uno a dos procesadores.
Express Edition:Introducido en 2005, Oracle lo ofrece gratuitamente para plataformas Windows o Linux, pesa solo 150 MB y restringe su uso a un solo procesador y un maximo de 4GB de memoria.
Oracle Database Lite: Desarrollado para unidades moviles.
En otro post nos iremos adentrando en la estructura fisica de la Base de Datos Oracle.
##################By Zero########################
La base de Datos Oracle (Comunmente referenciada como Oracle RDBMS o simplemente Oracle) es un Sistema de Administracion de Base de Datos Relacional (RDBMS), producido y comercializado por Oracle Corporation.
Larry Ellison es el actual CEO de Oracle, y este tiene presencia en varios paises del mundo, las Oficinas Centrales se encuentran en Redwood City, California, United States. Oracle cuenta con mas de 72, 000 empleados alrededor del mundo.
Oracle comenzo con Oracle Database como producto, sin embargo al dia de hoy Oracle comercializa otros tipos de productos tales como herramientas para el desarrollo de Base de Datos, y Software de Sistemas de capa media (middle-tier),Enterprise Resource Planning software (ERP),Customer Relationship Management software (CRM) and Supply Chain Management (SCM) software.
Los Sabores "mmmmmm"
Las versiones de Oracle comenzaron con el release 5, hoy en dia, la verison mas actual de Oracle Database es la 11g. Aqui nos enfocaremos a partir de la version 8i, hasta la 11g y la mayoria de los recursos que vamos a conocer y manejar estaran sobre la version 10g.
1997. Aparece la Version 8 de Oracle Database con soporte para diseño orientado a objetos y aplicaciones multimedia.
1999. La version 8i provee mejor interoperabilidad con internet, de aqui viene la i agregada a la version 8 de Oracle Database. La Base de Datos Oracle 8i incorpora una JVM nativa.
2001. Oracle 9i llega con 400 nuevas carateristcas, incluyendo la habilidad para leer y escribir documentos XML, Oracle 9i provee una opcion para Oracle RAC (Real Application Cluster), una Base de Datos computando en Cluster y que viene a reemplazar la opcion de OPS (Oracle Parallel Server).
2003. Se anuncia el lanzamiento de Oracle 10g (La g indica "grid"enfatizando y presentando en el mercado a la version 10g como "Listo para la computacion en Grid")
2007. Se libera Oracle Database 11g para Linux y Windows.
Cada version tiene un numero de Upgrade, en la cual no vamos a entrar en detalles para evitar fastidiarnos de tanto numero jejejee.....
A parte de cada sabor de Version de Base de Datos vamos a ver que hay varias presentaciones de su base de datos, algo asi como la verison con y sin calorias.
Ediciones de la Base de Datos Oracle.
Enterprise Edition:Incluye mas carateristicas que la Standard Edition, especial para areas de seguridad y administracion. Esta version no tiene limite de memoria y puede utlizarse en cluster usando Oracle RAC.
Standard Edition:Contiene una Base de Datos funcional, diseñado para servidores que corren con uno a 4 procesadores, tambien puede utilizarse en cluster con Oracle RAC.
Standard Edition One: Introducido a partir de la version 10g, tiene varias caracteristicas limitadas, y diseñado para servidores de uno a dos procesadores.
Express Edition:Introducido en 2005, Oracle lo ofrece gratuitamente para plataformas Windows o Linux, pesa solo 150 MB y restringe su uso a un solo procesador y un maximo de 4GB de memoria.
Oracle Database Lite: Desarrollado para unidades moviles.
En otro post nos iremos adentrando en la estructura fisica de la Base de Datos Oracle.
##################By Zero########################
lunes, 21 de diciembre de 2009
Ahora Oracle.....

Hola a todos, a partir de hoy las entradas en el blogg mas que hablar de Ubuntu, el mundo Linux o de mi persona, las dedicare a aportar informacion acerca de Oracle.
Para que todos aquellos que van empezando con este Gestor de Base de Datos, incrementen sus conocimientos.
Y como bien lo dice Oracle "El poder de la información".
Suscribirse a:
Entradas (Atom)