Tamaño Máximo de un DataFile

Tengo una inquietud sobre el tamaño máximo de un datafile. Nuestra base de datos tiene un tablespace para datos y otro con los indices de las tablas. Ambos tienen un tamaño de 8 GB. ¿Es posible aumentar este tamaño? ¿Cómo?
En algún momento leí en la red que el tamaño máximo está determinado por el Sistema Operativo. ¿Es cierto eso?
Si el datafile se llenase, ¿cuál es la solución correcta al problema?, ¿Es posible crear un nuevo DataFile en un mismo tablespace?, ¿Qué consecuencia o problema puede traer el crear un nuevo archivo?
Como pueden ver son muchas las preguntas... Y espero con ansia cada una de las respuestas.

2 respuestas

Respuesta
1
Si, te han comentado lo correcto, el tamaño del fichero de datos depende del S.O., al fin y al cabo es un fichero como lo puede ser uno de texto.
En este caso la mejor solución es añadir un nuevo fichero de datos al tablespace.
El comando sql es:
ALTER TABLESPACE nombre_ts"
ADD
Datafile
'path\fichero.dbf'
SIZE 200M
;
Esto añade al ts un fichero de 200 mb.
Para aumentar un fichero de tamaño puedes ponerle la propiedad autoextensible, es decir, que cuando se llene crezca solo lo que tu le pidas, esto es:
Alter database
Datafile
'path\file.DBF'
AUTOEXTEND
ON NEXT 10M maxsize 1000M
Esto hace que cada vez que el fichero se llene aumente en 10 MB hasta un tamaño máximo de 1000M.
Cuidado con esta opción si no tienes mucho espacio en disco, si no puede crecer, la base de datos se cae.
Si vas a aumentar el ts en un datafile yo te recomiendo que lo crees de un tamaño no muy grande y que lo pongas autoextensible hasta un limite.
Por ultimo, yo te recomendaría que intentaras una gestión diferente del espacio, es decir, solo dos tablespaces para una base de datos me parece poco.
Lo normal, o al menos mi recomendación, es que por cada esquema crees un tablespace de datos (y si puede ser otro de indices). Con esto, ademas de tener una organización mejor, aumentas el rendimiento, ten en cuenta que para el S.O. es más fácil leer un fichero pequeño que uno enorme. Además, si tienes varios discos reparte los ficheros entre estos, de forma que puedas hacer lecturas\escrituras en paralelo aumentando enormemente el rendimiento.
Si tienes más dudas pregunta.
Respuesta
1
En un principio eso es cierto. El límite de tamaño viene dado por el Sistema Operativo. Yo tengo creados bajo Windows 2000 Server varios TableSpaces de más de 32 Gb, aunque por comodidad por si tengo que trasladar la base de datos, creo datafiles de 16 Gb o menos.
Existe una versión del Oracle que tiene un bug que hace que de problemas con archivos de 4Gb, pero la solución es hacerlos más grande.
Dentro de un tablespace puedes crear un montón de datafiles (no me acuerdo de los límites, aunque estoy casi seguro que como mínimo 64)
Además, si quieres puedes crear los nuevos datafiles para esos tablespaces en discos duros diferentes. Esto es muy útil cuando llenas un disco duro e instalas uno nuevo en la máquina.
Gracias por tu respuesta, quede más claro en el tema. Lo último que me gustaría saber (para cerrar la pregunta), es saber ¿en dónde configuro el tamaño de datafile dentro del sistema operativo?.. en otras palabras estoy tratando de saber la idea de como hacerlo.
Muchas Gracias
Muchas Gracias, quede más claro con tu respuesta.
Dentro del sistema operativo no puedes configurar el máximo tamaño de datafile, eso viene dado por el máximo tamaño que soporte el sistema operativo, lo cual está "clavado" internamente en el S.O.
Para cambiar el tamaño de un datafile yo uso la "Enterprise Manager Console" y desde allí indico el tamaño que quiero que tengan los datafiles.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas