martes, 19 de mayo de 2009

Atributo "autoextent" para el datafile no funciona correctamente

Una situación muy particular se puede presentar a la hora de definir los parámetros de almacenamiento del datafile de un tablespaces.

Recordemos que a partir de algunas de las versiones de Oracle 7.3.4, los datafiles aparecen con un atributo nuevo conocido como autoextent, el cuál permite definir una política de crecimiento automático para los datafiles de un tablespace.

Se ha presentado casos, donde un tablespaces con datafiles habilitados en la parte del autoextent y con suficiente crecimiento en almacenamiento, se llenan, ocasionando problemas de almacenamiento a la hora de hacer "commit", crear un nuevo objeto, etc.

No existe un Bug conocido para esta situación, pero si, una condición que puede presentarse y que reproduce fielmente este problema.

Cuando creamos un nuevo tablespaces en una instancia, sin utilizar la nomenclatura OMF; tenemos que definir el nombre del datafiles, el tamaño inicial, el tamaño del siguiente extent y el máximo de tamaño que puede alcanzar el datafile.

Si definimos un datafile de 1GB y el extent siguiente de un 1GB también, pero por error establecemos el máximo de tamaño del datafile a un 1GB, cuando se llene el datafile inicial creado, el motor de la base de datos, no hará un redimensionamiento del datafile a 2GB, porque ya le haz definido un tamaño máximo de un 1GB.

La condición anterior, automáticamente, deshabilita el atributo autoextent del datafile.

Para solucionar el problema debes modificar el tamaño del atributo "maxsize" a nivel del datafile:

SQL> alter database datafile ‘/u01/oracle/prod/tbs01.dbf’ auto extend ON next 50M maxsize 4GB;

No hay comentarios:

Publicar un comentario

Te agradezco tus comentarios. Te esperamos de vuelta.

Todos los Sábados a las 8:00PM

Optimismo para una vida Mejor

Optimismo para una vida Mejor
Noticias buenas que comentar