Entradas

Mostrando entradas de 2009

Como diagnosticar un 0600 - [12700] [ ] [ ] [ ]

Muchas veces una corrupcion de bloque puede venir asociada a un indice corrupto, y la ejecucion de un bloque corrupto puede dar un ORA 600[12700], el cual lo dice el alert de la base de datos y nos encontramos por ejemplo con este ejemplo (valga la redundancia) Sat May 5 15:03:12 2007 ARC1: Beginning to archive log 3 thread 1 sequence 49943 Creating archive destination LOG_ARCHIVE_DEST_1: ‘/archive/oradata/ODSORA/1_49943.arc’ ARC1: Completed archiving log 3 thread 1 sequence 49943 Sat May 5 15:35:49 2007 Errors in file /oracle/dbs/admin/ODSORA/bdump/odsora_s003_27559.trc: ORA-00600: internal error code, arguments: [12700], [90646], [71560692], [9], [0], [79], [], [] Sat May 5 15:40:25 2007 Errors in file /oracle/dbs/admin/ODSORA/bdump/odsora_s001_2441.trc: ORA-00600: internal error code, arguments: [12700], [90646], [71560692], [9], [0], [79], [], [] Sat May 5 15:55:32 2007 Thread 1 advanced to log sequence 49945 Sat May 5 15:55:32 2007 Current log# 5 seq# 49945 mem# 0: ...

Vistas Materializadas

Vistas materializadas En este tutorial vamos a ver lo que son las vistas materializadas (materialized views) y vamos a hacer un ejemplo de creación de una vista materializada y su posterior uso. Lo primero de todo es recordar lo que es una vista en un modelo de base de datos relacional. Una vista es una consulta almacenada que representa un conjunto de tablas (posiblemente de diferentes esquemas) a la que le vamos a poner un nombre y vamos a tratarla como si fuese una tabla más de nuestro esquema, pero sin llegar a ser realmente una tabla. Algo que tiene que quedar claro es que una vista NO guarda datos, sino que solo almacena la consulta que nos va a ayudar a acceder a los datos. Pero, ¿porqué usar vistas? es muy sencillo, principalmente hay dos motivos. El primer motivo es de seguridad, a lo mejor no necesitamos que determinados usuarios acceden a toda la información de la base de datos y simplemente queremos formar un conjunto de datos específicos para dichos usuarios. El segun...

Migracion de 8i a 10GR1

Via METALINK... completito This is a step by step guide that explains how we can migrate a database to a new server and database release manually using a Cold backup. How to do a cold backup of oracle database and restore it on the new server and then upgrade it. Solution 1) Prerequisites ---------------- - The copy of the datafiles must be done with the database closed. - Source Operating System and destination Operating System need to be the same - Destination sever need to have the 10g installed with the same word size as the 8.1.7.4. Both need to be 32 bit or both need to be 64 bit. - If your database contains user tables with NCHAR columns, you must upgrade the NCHAR columns before they can be used . In the database documentation you have all the steps is detail: Oracle® Database Upgrade Guide 10g Release 2 (10.2) Part Number B14238-02 2) Init.ora or spfile and controlfile ---------------------------------- - You need to copy th...

ORA-1652 unable to extend ....

Este es un error comun que nos pasa a menudo.. es cuando queremos o mejor dico necesitas mas espacio temporal para alocar un tablespace, ahora bien si esta tablespace es de alocamiento temporal esta todo bien pero cuando tenemos este error para un tablespace NO temporal estamos en problemas y para esto tenemos que setear un event que se puede hacer en el init o via alter system, de la siguiente forma.. EVENT="1652 TRACE NAME ERRORSTACK LEVEL 3" Este event lo debemos poner en el INIT de la base y reiniciarla, pero suele ocurriri en el gran porcentaje de la veces que la base no se puede bajar por el estado productivo de esta, entonces hacemos lo siguiente: alter system set events '1652 trace name errorstack level 3' Pero bien, al hacer esto no se genera el trace por lo que vamos a necesitar el uso del dbms_system.set_ev Ahroa para averiguar bien cual fue el segmento que ocasiono el problemas hacemos el siguiente query... select * from dba_segments where next_extent >...

Creación de código fuente para "TYPE", "TYPE BODY", "PROCEDURE", "FUNCTION", "PACKAGE", "PACKAGE BODY" y "JAVA SOURCE"

Ya pase para la creacion de un indice, ahora va para los demas objetos en base a un owner o type. El siguiente ejemplo es para extraer un package body... ___________________________________________________ select 'CREATE OR REPLACE ' from dual / select text from dba_source where owner = '&1' AND NAME = '&2' AND Type = 'PACKAGE BODY' / -- spool off espero que les sea de buen uso..

Extraer Codigo para recrear un indice..

Agrego un codigo para extraer codigo fuente para la recreacion de un indice desde "CERO", espero que sea util. ______________________________________ set arraysize 1 set echo off set heading off set feedback off set verify off set pagesize 0 set linesize 79 define 1 = &&SCHEMA_NAME spool ind_&&SCHEMA_NAME set termout off col y noprint col x noprint col z noprint select 'rem **** Create Index DDL for '||chr(10)|| 'rem **** '||username||''''||'s tables'||chr(10)||chr(10) from dba_users where username = upper ('&&1') / select table_name z, index_name y, -1 x, 'create ' || rtrim(decode(uniqueness,'UNIQUE','UNIQUE',null)) || ' index ' || rtrim(index_name) from dba_indexes where table_owner = upper('&&1') union select table_name z, index_name y, 0 x, 'on ' || rtrim(table_name) ||...

Uso de los Parametros..

Amigos dba's..  va un listado de todos los parametros que se utilizan en el INI de la base segun version, es bueno a la hora de aplicarlo dado que hay veces que no sabemos o se nos olvida la forma de escribirlo.  Esta bueno espero que les sirva.  Green = New in 10g         Red    = Valid in 9i but dropped (or hidden) in 10g         Bold   = Static Parameter - change in pfile/SPfile         Normal= Dynamic Parameter - change in pfile/SPfile/ ALTER SYSTEM /SESSION      PARAMETER                        DESCRIPTION   ------------------------------   ----------------------------------------    ACTIVE_INSTANCE_COUNT   = int    Active instances in the cluster    AQ_TM_PROCESSES = int           Number of AQ Time Managers to start    ARCHIVE_LAG_TARGET = int        Max no. seconds of redos the standby could lose    asm_diskgroups = string         Disk groups to mount automatically    asm_diskstring = string         Disk set locations for discovery    asm_power_limit = int           Num...