martes, 27 de noviembre de 2012

Notas My Oracle Support "Seguridad"

Notas My Oracle Support "Seguridad"


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.

A continuacion un script que nos permite agilizar este proceso, revisando todos los indices de un equema en particular.



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

[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.
 
RMAN> connect catalog rcat@prod;

connected to recovery catalog database

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

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:


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########################

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".