Oracle Live

27/05/2018

DATABASE – Validar si ORACLE_HOME esta creado para RAC o para Standalone

Filed under: Database — mogukiller @ 4:06 pm

Cuando no estamos seguros si un home de oracle pertenece a un RAC o se ha creado como Standalone podemos seguir los pasos de la siguiente nota:

Referencia: How to Check Whether Oracle Binary/Instance is RAC Enabled and Relink Oracle Binary in RAC (Doc ID 284785.1)

Opcion 1:
# ar -t $ORACLE_HOME/rdbms/lib/libknlopt.a|grep kcsm.o
'Si no devuelve nada es Standalone.'

Opción 2:
# ps -fea | grep lmon
'El proceso de lmon se utiliza en RAC para la gestion de recursos globales.'
Anuncios

16/04/2018

DATABASE – Materialized Views

Filed under: Database — mogukiller @ 10:19 am

Pongo un tutorial sencillo para la creacion y administracion de vistas materializadas. Hay mucho mas que cortar aqui. Pero para lo que necesito me sobra y me basta.

Referencias: https://docs.oracle.com/database/121/REPLN/repmview.htm#REPLN266

'Teoria:

-- A materialized view is a replica of a target master from a single point in time. 
-- Materialized views are updated from one or more masters through individual batch updates, known as a refreshes
-- Las vistas materializadas se puede refrescar automaticamente o on-demand.
-- A materialized view can be either read-only, updatable, or writeable

'

-- Create Materialized View Read Only.

CREATE MATERIALIZED VIEW MOGU.MV_TEST AS
SELECT * FROM MOGU.T_TEST ;

-- Creamos Materialized View Read - Write.
' nota: En cuanto se refresque se pierden los cambios'

CREATE MATERIALIZED VIEW MV_TEST 
FOR UPDATE 
AS SELECT COL1,COL2 FROM T_TEST;


-- Para borrar una MV.

DROP MATERIALIZED VIEW MOGU.MV_TEST;

-- Refrescar Materialized View On-Demand

EXEC DBMS_MVIEW.REFRESH('MV_TEST');


-- Query de monitorizacion

COL OWNER FOR A30
COL MVIEW_NAME FOR A30
SELECT OWNER,MVIEW_NAME,UPDATABLE, REFRESH_MODE, LAST_REFRESH_DATE, STALENESS,STALE_SINCE
FROM DBA_MVIEWS
ORDER BY 1,2;

/*
OWNER                          MVIEW_NAME                     U REFRESH_M LAST_REFR STALENESS           STALE_SIN
------------------------------ ------------------------------ - --------- --------- ------------------- ---------
MOGU                           MV_TEST                        Y DEMAND    16-APR-18 NEEDS_COMPILE
*/

'Nota: El valor NEEDS_COMPILE indica que los valores que no podemos confiar en los valores que muestra la MV. Y que es necesario compilarla'
'Nota: Compilar una MV no implica resetear sus datos'

ALTER MATERIALIZED VIEW MOGU.MV_TEST COMPILE;

/*
OWNER                          MVIEW_NAME                     U REFRESH_M LAST_REFR STALENESS           STALE_SIN
------------------------------ ------------------------------ - --------- --------- ------------------- ---------
MOGU                           MV_TEST                        Y DEMAND    16-APR-18 STALE               16-APR-18
*/

'
Nota: Una vez compilada vemos que el valor que adquiere es STALE. 
'

-- Para ver la definicion de la MV.

SET LONG 10000
SELECT QUERY FROM DBA_MVIEWS WHERE OWNER='MOGU' AND MVIEW_NAME='MV_TEST';
/*
QUERY
--------------------------------
SELECT COL1,COL2 FROM T_TEST
*/

11/04/2018

DATABASE – Access Control List (ACL)

Filed under: Database — mogukiller @ 11:56 am

Cuando quieres tener un control de quien y como se utilizan los paquetes que usan el protocolo TCP es necesario que configures en tu base de datos las listas de control de acceso o ACL.

Os dejo un pequeño laboratorio donde configuro y gestiono ACL en bases de datos version 12.1.0.2 y 11.2.0.4.

(more…)

22/03/2018

Database – Advanced Row Compression

Filed under: Database — mogukiller @ 1:40 pm

Recordar que habilitar la compresión de Advanced Row Compression requiere del licenciamiento de Advanced Compression.
Advance Row Compression esta destinada a entornos transaccionales OLTP o DatawareHouse.
Os dejo un pequeño manual para configurar ARC utilizando ALTER TABLE .. MOVE. Adicionalmente pongo como analizar previamente el ratio de compresion con DBMS_COMPRESSION o que tablas son susceptibles de comprimir utilizando Heat Maps.

(more…)

14/03/2018

Goldengate – Create Downstream Configuration

Filed under: Golden Gate — mogukiller @ 4:03 pm
Tags:

Para poder descargar al entorno de produccion de los procesos de Goldengate es posible enviar la información de redo desde produccion a otra base de datos y configurar sobre esa base de datos la configuración de goldengate. Otra ventaja es que para versiones de base de datos anteriores a la 11.2.0.4 que no permitan extractores integrados podemos configurar un entorno de Downstream que si lo permita.

(more…)

11/03/2018

Database – LogMiner Tutorial

Filed under: Database,Troubleshooting — mogukiller @ 9:59 am
Tags:

LogMiner es una herramienta que nos permite analizar las transacciones presentes en el redo de los archiver logs. Para mapear los identificadores que hay en el redo con los objetos de base de datos es necesario indicar a LogMiner donde encontrar el diccionario. El diccionario lo pudemos obtener de dos maneras.

Utilizando el diccionario directamente de base de datos o extraer una foto de un instante de tiempo y almacenarla en los redo. Yo personalmente utilizo el online de la base de datos, pero en el caso que se modificase la definición de la tabla en las sql anteriores me empezarían a aparecer valores del tipo HEXTORAW(‘6161’).
(more…)

08/03/2018

Goldengate – Logdump Scripting

Filed under: Golden Gate — mogukiller @ 4:31 pm

Os dejo un ejemplo de scripting con Logdump. Por ejemplo sacaremos todas las transacciones en un determinado intervalo de tiempo.

Para este ejempo en particular hay que tener en cuenta el parametro ggstoken detail.

(more…)

02/03/2018

SQLPLUS – Configuracion glogin.sql

Filed under: Database,Recuperacion DB — mogukiller @ 12:32 pm
Tags:

Cuando estas cansado de meter siempre los mismos parámetros para conectarte con sqlplus aqui os pongo un ejemplo de configuracion del script de glogin.sql. Este script lo ejecuta sqlplus en cada arranque.

vi $ORACLE_HOME/sqlplus/admin/glogin.sql

set lines 200 pages 5000 timing on time on
alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
define _editor=vi
set sqlprompt '_CONNECT_IDENTIFIER SQL>'

16/01/2018

DATABASE – DBMS_REDEFINITION

Filed under: Database — mogukiller @ 3:38 pm
Tags:

Os adjunto un pequeño manual para la utilización de DBMS_REDEFINITION donde podemos realizar multitud de tareas de mantenimiento de forma ONLINE.

Version DB: 12.2.0.1

-- Teoria
-- Caso 1: ADD Column (SIN PK) (ROLLBACK New Features 12.2)
-- Caso 2: DROP Column (CON PK) 
-- Caso 3: Registrar cambios en Interim table antes de la redefinicion
-- Caso 4: Mover una particion de tablespace.

(more…)

29/11/2017

ASM – Mover ubicación OCR y Voting Disk

Filed under: ASM — mogukiller @ 11:11 am
Tags:

Esta operativa se realiza para realocar los OCR y Voting Disk de un diskgroup a otro. Se puede realizar en caliente.

-- Movemos los OCR
-- Movemos los Voting Disk

(more…)

Página siguiente »

Crea un sitio web o blog en WordPress.com