Mostrando entradas con la etiqueta UNIX. Mostrar todas las entradas
Mostrando entradas con la etiqueta UNIX. Mostrar todas las entradas

miércoles, 8 de octubre de 2014

sqlnet.ora

Hallé la idea para este ejemplo aquí y decidí hacer una traducción para los hispanohablantes.

Cada vez que alguien crea una sesión nueva, Oracle lee el archivo sqlnet.ora. Por eso, no es necesario parar y empezar el listener después de cambiar este archivo. Aquí está un ejemplo para mostrar lo que quiero decir. Cambié el archivo sqlnet.ora en un servidor UNIX a las dos menos cinco: 

NLGENUT1 /var/opt/oracle > ls -l sqlnet.ora
-rw-r--r--   1 oracle   dba           24 Oct  8 13:55 sqlnet.ora
NLGENUT1 /var/opt/oracle >

Me conecté a una de las bases de datos en el servidor UNIX desde mi ordenador con Windows a las dos menos tres: 

C:\Users\J0294094>sqlplus system@nlgenut1
 
SQL*Plus: Release 11.2.0.3.0 Production on Wed Oct 8 13:57:37 2014
 
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
 
Enter password:
 
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
 
SQL> 

Confirmé que el archivo sqlnet.ora había sido accedido a la misma hora:

NLGENUT1 /var/opt/oracle > ls -lu sqlnet.ora
-rw-r--r--   1 oracle   dba           24 Oct  8 13:57 sqlnet.ora
NLGENUT1 /var/opt/oracle >

martes, 2 de abril de 2013

dbverify en Modo Paralelo

Encontré este ejemplo, escrito por Uwe Hesse, aquí Entonces decidí traducirlo para los hispanohablantes. Ahora con dbverify se puede dividir una fila y procesar las partes individuales simultáneamente. Antes de empezar hay que saber cuantos bloques tiene la fila: 

Oracle 11.1 > sqlplus /

SQL*Plus: Release 11.1.0.6.0 - Production on Mon Nov 26 17:49:33 2012

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> col file_name format a40
SQL> select file_name, blocks
  2  from dba_data_files
  3  where tablespace_name = 'SYSTEM';

FILE_NAME                                    BLOCKS
---------------------------------------- ----------
/cisdpt/pqedpt1/pqe_system/system01.dbf      268800

SQL> 

Luego se puede procesar dos (o más de dos) partes de la fila simultáneamente de la manera siguiente. En la primera imagen abajo, me conecté dos veces en el mismo servidor. En la primera conexión procesé los bloques desde 1 hasta 130000. Luego en la segunda conexión procesé los bloques desde 130001 hasta 268800. Lancé el comando date antes y después de cada dbverify para mostrar que los dos dbverify funcionaban simultáneamente. Hay que hacer clic en la imagen dos veces para verla con su tamaño original y enfocarla:

 
Según el propio Uwe, éste apareció en Oracle 11.1 pero según mis pruebas, ya existía en Oracle 10.2, como se puede ver en la imagen siguiente:


domingo, 24 de marzo de 2013

Connected to an idle instance y ORA-01034

Hallé este ejemplo, escrito por Kamran Agayev, aquí y decidí traducirlo en español. Tenía una base de datos en un servidor UNIX:

ORCL /export/home/oracle > ps -ef|grep ORCL|grep -v grep
  oracle   840  1348  0  14:45:17 ?  0:00 ora_s000_ORCL
  oracle   814  1348  0  14:45:16 ?  0:00 ora_dia0_ORCL
  oracle   798  1348  0  14:45:13 ?  0:00 ora_pmon_ORCL
  oracle   818  1348  0  14:45:16 ?  0:00 ora_dbw0_ORCL
  oracle  1019  1348  0  14:45:42 ?  0:00 ora_q000_ORCL
  oracle   800  1348  0  14:45:14 ?  0:00 ora_psp0_ORCL
  oracle  1005  1348  0  14:45:36 ?  0:01 ora_cjq0_ORCL
  oracle   824  1348  0  14:45:16 ?  0:00 ora_ckpt_ORCL
  oracle   833  1348  0  14:45:17 ?  0:00 ora_mmnl_ORCL
  oracle   831  1348  0  14:45:17 ?  0:01 ora_mmon_ORCL
  oracle   808  1348  0  14:45:15 ?  0:00 ora_gen0_ORCL
  oracle   829  1348  0  14:45:17 ?  0:00 ora_reco_ORCL
  oracle   802  1348  0  14:45:15 ?  0:00 ora_vktm_ORCL
  oracle   810  1348  0  14:45:15 ?  0:00 ora_diag_ORCL
  oracle   827  1348  0  14:45:16 ?  0:00 ora_smon_ORCL
  oracle   837  1348  0  14:45:17 ?  0:00 ora_d000_ORCL
  oracle   820  1348  0  14:45:16 ?  0:00 ora_lgwr_ORCL
  oracle   816  1348  0  14:45:16 ?  0:00 ora_mman_ORCL
  oracle   812  1348  0  14:45:15 ?  0:00 ora_dbrm_ORCL
  oracle  1023  1348  0  14:45:42 ?  0:00 ora_q001_ORCL
  oracle   963  1348  0  14:45:32 ?  0:00 ora_qmnc_ORCL
ORCL /export/home/oracle >


Intenté conectarme a la base de datos:

ORCL /export/home/oracle > sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Thu Dec 13 16:57:48 2012

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> select name from v$database;
select name from v$database
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0

SQL>


Vi el mensaje Connected to an idle instance. Éste suele querer decir que la base de datos sea cerrada pero de veras ya estaba abierta. Miré mi variable $ORACLE_HOME:

ORCL /export/home/oracle > echo $ORACLE_HOME
/oracle/app/oracle/product/11.2.0.2.7/
ORCL /export/home/oracle >


La barra (/) al fin no me parecío correcta y por eso la eliminé:

ORCL /export/home/oracle > export ORACLE_HOME=/oracle/app/oracle/product/11.2.0.2.7
ORCL /export/home/oracle > echo $ORACLE_HOME
/oracle/app/oracle/product/11.2.0.2.7
ORCL /export/home/oracle >


Luego me conecté a la base de datos sin problemas:

ORCL /export/home/oracle > sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Thu Dec 13 16:59:18 2012

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select name from v$database;

NAME
---------
ORCL

SQL>