domingo, 30 de noviembre de 2014

SHRINK clause should not be specified for this object

Mientras realizaba un mantenimiento de rutina a una BD y en una de las tareas ejecuto un shrink a una tabla a la cual se podía reclamar espacio, pero mi sorpres fue que me presentaba el siguiente error:

SHRINK clause should not be specified for this object

Hasta lo que sabia es que no podemos realizar shrink a tablas externas o que tengan una columna de tipo long. Lo unico que me percate es que la table tenia un índice basado en función y el shrink no lo soporta.

La solucion fue seguir los pasos siguientes:
  1. borrar el indice basado en función, 
  2. aplicar el shrink y 
  3. recrear el indice que borramos.
si el problema persiste, hay otra razones por la que que no puedas aplicar el shrink como:
  • Tablas  comprimida
  • Tablas contiene columnas long
  • Tablas organizada por indices
  • Tablas maestras de vistas materiralizada

viernes, 28 de febrero de 2014

Oracle 11g ORA-03135: connection lost contact

Saludsos,

Estaba finalizando la instlación y configuración base de datos 11g en oracle linux 6, o sorpresa las conexiones en los clientes retornaban el siguiente error:

ORA-03135: connection lost contact

Esto me hizo pensar "Que carajo hice mal en la instalación",  aunque en la conexión local y el funcionamiento de EM todo funcionaba bien.

En la ayuda de oracle se publico un articulo que habla de tema y que su solución esta en configurar el archivo SQLNET.ORA ubicado en el ORACLE_HOME/network/admin/ agregando las siguientes líneas:

vi
#Aqui las gloriosas lineas para solución
SQLNET.INBOUND_CONNECT_TIMEOUT = 300
SQLNET.SEND_TIMEOUT = 300
SQLNET.RECV_TIMEOUT = 300

Adicional a esto es necesario desacivar el IPV6 en el sistema operactivo Linux, esto se lo realiza en los siguientes archivos y comando:
  • /etc/sysconfig/network: NETWORKING_IPV6=no
  • /etc/sysctl.conf: net.ipv6.conf.all.disable_ipv6 = 1
  • chkconfig ip6tables off
Das un reiniciio de confianza al servidor y listo, problema solucionado