Posts

Showing posts with the label CASESTUDY

OPatch: Error occurred during initialization of VM

Image
Sintoma: Luego de actualizar el OPatch da el siguiente error.   [oracle@servertest OPatch]$ ./opatch version  Error occurred during initialization of VM  Could not reserve enough space for 3145728KB object heap  OPatch failed with error code 1  Diagnostico: Todo software en Oracle que se descarga esta construido para un versión especifica de sistema operativo, se debe estar atento de descargar la versión adecuada en tu caso. El OPatch que se descargó y utilizó fue diferente a la versión del sistema operativo en el cual se esta trabajando, en este caso se trato de utilizar una versión para linux-32 bit cuando realmente el sistema operativo es linux-64bit.   Solución:  Descargar y subir la versión correcta del OPatch.  Nota: 293369.1

ORA-16072 - Levantar una BD luego de remover la configuración de Dataguard

Después de restaurar y recuperar un respaldo de una base de datos que estaba en DATAGUARD, al tratar de levantarla muestra el siguiente error: SQL> alter database open; alter database open * ERROR en l▒nea 1: ORA-03113: fin de archivo en el canal de comunicaci▒n Identificador de Proceso: 42290 Identificador de Sesi▒n: 146 N▒mero de Serie: 3 El mensaje que mostraba en el alert log LGWR: Primary database is in MAXIMUM AVAILABILITY mode LGWR: Primary database is in MAXIMUM AVAILABILITY mode LGWR: Destination LOG_ARCHIVE_DEST_1 is not serviced by LGWR LGWR: Minimum of 1 LGWR standby database required Errors in file /u01/app/oracle/diag/rdbms/test/TEST1/trace/TEST1_lgwr_42219.trc: ORA-16072: a minimum of one standby database destination is required ARC1 started with pid=25, OS id=42309 LGWR (ospid: 42219): terminating the instance due to error 16072 System state dump requested by (instance=1, osid=42219 (LGWR)), summary=[abnormal instance termination]. System State dumped to

ORA-00201 version 11.2.0.4.0 del archivo de control incompatible con ORACLE version 11.2.0.0.0

Hace unos días restaure un controlfile, al tratar de levantar la base de datos presento el siguiente error: SQL> startup mount; Instancia ORACLE iniciada. Total System Global Area 8551575552 bytes Fixed Size 2270360 bytes Variable Size 8489274216 bytes Database Buffers 50331648 bytes Redo Buffers 9699328 bytes ORA-00201: version 11.2.0.4.0 del archivo de control incompatible con ORACLE version 11.2.0.0.0 ORA-00202: archivo de control: '+DGDATA/test/controlfile/controlfile_test_01.ctl' El problema: El parámetro "compatible" estaba configurado en una versión inferior “11.2.0.0.0" a la que tiene registrado el controlfile. Solución: alter system set compatible='11.2.0.4.0' scope=spfile; Bajamos y subimos la base de datos

ORA-20005 Estadisticas bloqueadas.

El error ORA-20005 significa que las estadísticas fueron bloqueadas y estas tratando de colectarlas BEGIN dbms_stats.gather_table_stats(ownname=> 'ESQUEMA', tabname=> 'TABLE_TEST',Degree=> 8, cascade=>false, estimate_percent=> DBMS_STATS.auto_sample_size); END; / ERROR at line 1: ORA-20005: object statistics are locked (stattype = ALL) ORA-06512: at "SYS.DBMS_STATS", line 34634 ORA-06512: at line 1 Verificamos que las estadísticas están bloqueadas. col owner for a24 col table_name for a32 select owner,table_name,STATTYPE_LOCKED from dba_tab_statistics where table_name='TABLE_TEST' and owner='ESQUEMA'; OWNER TABLE_NAME STATT ------------------------ -------------------------------- ----- ESQUEMA TABLE_TEST ALL Los posible valores para el campo STATTYPE_LOCKED son :NULL, DATA, CACHE y ALL. Si esta en NULL significa que no esta bloqueada. Para desblqu

FULL TABLE SCAN-Oracle no quiere utilizar mi índice

Image
Quizás esta imagen les sea conocida, 7 ó 12 personas apiladas detrás del DBA de turno viendo su pantalla, preguntando que sucede o haciendo suposiciones, te llaman para que apoyes, llegas, te abres paso entre la multitud de jefes y lo primero que vez es una gran franja azul en el Cloud Control (OEM), luego de dos clic en el OEM o tres consultas al ASH, es evidente que una consulta SQL está realizando muchísimas lecturas a disco. Un desarrollador refuta que la tabla tiene un índice por el campo búsqueda en el WHERE, sin embargo, la Base de Datos decide hacer Table Full Scan. ¿Por qué está pasando esto? Comencemos: Consulta SQL que está generando afectación: SELECT ID_EMBRQ FROM DIST_EMBARQUE_OPER WHERE ID_EMBRQ =:1; Podemos observar que el campo "ID_EMBRQ" es de tipo VARCHAR2 Column Type Name Data DATA_LENGTH N POS -------------------------------- ------------ ----------- - ---- ID_EMBRQ

Datapump – 02 ¿Por qué falla el comando el Export Datapump con la opción Parallel en Oracle RAC?

Teníamos un script para un export/import datapump que funcionaba cuando la BD era single y ahora que fue llevada a Oracle RAC está fallando. ¿Qué sucedió? Cuando se activa la opción de PARALLEL el datapump va a invocar varios trabajadores para separar el trabajo y así optimizar el proceso, sin embargo hay que tener en cuenta un detalle cuando estamos en una configuración de Oracle RAC. Estos trabajadores van a estar en cada nodo del RAC, entonces el dumpfile debe estar ubicado en un almacenamiento compartido como ASM o un Clustered-filesystem, sino va a suceder el siguiente error. ORA-31693: Table data object "TEST"."TEST_15" failed to load/unload and is being skipped due to error: ORA-31617: unable to open dump file "/datadir/temp_expdp /TEST_test_03.dmp" for write ORA-19505: failed to identify file "/datadir/temp_expdp /TEST_test_03.dmp" ORA-27037: unable to obtain file status Como conclusión, Datapump(PARALLEL) en Oracle RAC el d

Common Mistakes 01 - rownum and order by

SQL> create table hr . numbers (id number ) tablespace EXAMPLE ; Table created . SQL> insert into hr . numbers (id) values( 19 ); SQL>   insert into hr . numbers (id) values( 3 ); SQL>   insert into hr . numbers (id) values( 15 ); SQL> insert into hr . numbers (id) values( 9 ); SQL>   insert into hr . numbers (id) values( 21 ); SQL>   insert into hr . numbers (id) values( 7 ); SQL>   insert into hr . numbers (id) values( 17 ); SQL>   insert into hr . numbers (id) values( 1 ); SQL> insert into hr . numbers (id) values( 11 ); SQL>   insert into hr . numbers (id) values( 5 ); SQL> commit; Commit complete. SQL> select id from hr . numbers ;         ID ----------         19          3         15          9         21          7         17          1         11          5 10 rows selected . Common Mistake.   A common mistake is  we

Literal object name using quotation marks ""

We create a new table. SQL> create table "HR" . "Test"   ( cmp01 number ( 5 ), cmp02 varchar2 ( 10 ) ) ; Table created . But apparently it doesn't exist. SQL> select * from HR . Test ; select * from HR . Test                  * ERROR at line 1 : ORA - 00942 : table or view does not exist Why doesn't my table exist if  i created it ???   SQL> select table_name , owner from dba_tables where table_name = 'TEST' ; no rows selected When you use quotation marks on object name, they will be case sensitive.  SQL>  select  table_name ,  owner  from  dba_tables  where   table_name = 'Test'; TABLE_NAME                     OWNER ------------------------------ ------------------------------ Test                           HR For example, using  quotation marks   you can create different object with same name: SQL> create table "HR"."test&