martes, 15 de diciembre de 2015

(UR=A) en Tnsnames


ERROR:
ORA-12528: TNS:listener: all appropriate instances are blocking new connections.


La base de datos se inició en  nomount, mount o restricted mode.


 Usar (UR=A) con (CONNECT_DATA=(SERVICE_NAME=SERVICE)) en el tnsnames.ora
por ejemplo:


V10G = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = hal)(PORT = 1525)) 
    ) 
    (CONNECT_DATA = 
      (SERVICE_NAME = v10g.uk.oracle.com) 
    ) 
  )

SID = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = hal)(PORT = 1525)) 
    ) 
    (CONNECT_DATA = 
      (SID = v10g) 
      (SERVER = DEDICATED) 
    ) 
  )

TESTUA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = hal)(PORT = 1525)) 
    ) 
    (CONNECT_DATA = 
      (SERVICE_NAME = v10g.uk.oracle.com) 
      (UR = A) 
    ) 
  )

Hay que tener en cuenta que (UR=A) se recomienda el uso de SERVICE_NAME en vez de SID .
 

jueves, 15 de octubre de 2015





DESHABILITAR GATHER STATS (AUTO) 

Deshabilitar auto stats job.

Gather Statistics with DBMS_STATS

CBO STATS

Oracle's cost-based optimizer (CBO)

Las estadísticas se utilizan para cuantificar la distribución de datos y características de almacenamiento de tablas, columnas , índices y particiones.
CBO utiliza estadísticas para estimar cuanto I/O y memoria se requiere para ejecutar una sentencia SQL usando un plan de ejecución en particular.



viernes, 11 de septiembre de 2015

¿QUE ES UN TABLESPACE?

Un tablespace es una unidad lógica de almacenamiento dentro de una base de datos oracle.Es un puente entre el sistema de ficheros del sistema operativo y la base de datos.
Cada tablespace se compone de, al menos, un datafile y un datafile solo puede pertenecer a un tablespace.

Los tablespace son estructuras donde se almacenan los objetos del esquema de la base de datos, tales como tablas, índices, etc. con la particularidad de poderse repartir en varios ficheros. Por tanto, las bases de datos tienes varios tablespaces y estos a su vez varios datafiles. Un datafile sólo pertenece a un tablespace y un tablespace sólo pertenece a una Base de Datos.

El Tablespace SYSTEM se crea automáticamente al hacer la instalación de Oracle o al crear una Base de Datos.Contiene el diccionario de datos.

miércoles, 9 de septiembre de 2015

Mover usuarios de tablespace 

El tablespace temporal contiene datos en transito que permanecen unicamente por la duracion de la sesion, esto significa que una vez que la sesion termina, estos datos dejan de existir. Un tablespace temporal ayuda a mejorar la concurrencia de multiples operaciones tipo SORT que no caben en la memoria.

Un tablespace temporal se usa para guardar lo siguiente:

  • Tablas temporales e indices temporales
  • LOBs temporales
  • Resultados temporales de tipo SORT
  • Arboles B temporales


Para mover usuarios de un tablespace temporal al TEMP default y borrar el que no necesitamos podemos hacer lo siguiente:

SQL> select username from  dba_users where TEMPORARY_TABLESPACE='TEMP02';

user_uno

SQL> alter user "user_uno" temporary tablespace TEMP;

User altered.

SQL> select username from  dba_users where TEMPORARY_TABLESPACE='TEMP02';

no rows selected


SQL> drop tablespace temp02 including contents and datafiles;

miércoles, 2 de septiembre de 2015


DATAFILE NO ENCONTRADO
ORA-01116
ORA-01110


Si tratas de abrir una base de datos pero no abre porque falta un datafile. por ejemplo:
Database Mounted
ORA-01116: Error in opening database file 15
ORA-01110: Datafile 15 : '/ruta/datafile1.dbf'
ORA-27041: Unable to open file.

Propongo que intentar lo siguiente:
abrir una sesión sqlplus / as sysdba
1. STARTUP NOMOUNT;
2. ALTER DATABASE MOUNT;
3. ALTER DATABASE DATAFILE '/ruta/datafile1.dbf' OFFLINE DROP;
4. ALTER DATABASE OPEN;

miércoles, 10 de junio de 2015

ORACLE RAC ON/RAC OFF

ORACLE RAC ON/RAC OFF
Oracle's RAC: ON and OFF
ORA-32700: error occurred in DIAG Group Service

RAC OFF
En algunos casos, es posible que desee desactivar las opciones de RAC para propósitos de prueba - tal vez para ejecutar un punto de referencia o convertir los archivos binarios de RAC para los binarios de instancia única. En tal caso, puede utilizar el siguiente procedimiento para convertir la instalación de RAC a la no-RAC. La Desactivación y activación de las opciones de RAC sólo están disponibles para las plataformas UNIX. Instalaciones de Windows no admiten volver a vincular los binarios con en el RAC y OFF.
Utilice los siguientes pasos para desactivar el RAC (conocido como OFF RAC):

1. Inicie la sesión como Oracle (que es normalmente la cuenta oracle UNIX) en todos los nodos.
2. Cierre todas las instancias de todos los nodos utilizando una opción NORMAL o IMMEDIATE.
3. Cambie el directorio de trabajo a $ORACLE_HOME/rdbms /lib: 
cd $ORACLE_HOME/rdbms/lib
4. Ejecute el siguiente comando para volver vincular los binarios de Oracle sin la opción RAC: 
make -f  ins_rdbms.mk rac_off

Esto normalmente tiene una duración de unos minutos y no debería plantear ningún error.
5.. Ahora volver a vincular los binarios de Oracle: 
make -f  ins_rdbms.mk ioracle


Ahora los binarios de Oracle se vuelven a vincular con la opción RAC OFF. Puede que tenga que editar los init.ora o parámetros SPFILE. Si se producen errores en el paso 4, puede que tenga que ponerse en contacto con Oracle Support y registrar una solicitud de servicio.


RAC ON

Utilice los siguientes pasos para habilitar el RAC (conocido como RAC ON):

1. Inicie la sesión como Oracle (que es normalmente la cuenta oracle UNIX) en todos los nodos.
2. Cierre todas las instancias de todos los nodos utilizando una opción NORMAL o IMMEDIATE.
3. Cambie el directorio de trabajo a $ORACLE_HOME/rdbms /lib: 
cd $ORACLE_HOME/rdbms/lib
4. Ejecute el siguiente comando para volver vincular los binarios de Oracle sin la opción RAC: 
make -f ins_rdbms.mk rac_on


Esto normalmente tiene una duración de unos minutos y no debería plantear ningún error.
5.. Ahora volver a vincular los binarios de Oracle: 
make -f ins_rdbms.mk ioracle 


Ahora los binarios de Oracle se vuelven a vincular con la opción RAC OFF. Puede que tenga que editar los init.ora o parámetros SPFILE. Si se producen errores en el paso 4, puede que tenga que ponerse en contacto con Oracle Support y registrar una solicitud de servicio.