Cómo controlar el espacio en sus segmentos en 12c oráculo

Segmentos

son objetos que ocupan espacio en la base de datos en Oracle 12c. Los segmentos son objetos que, cuando se creó, asignan una o más extensiones del espacio libre en sus espacios de tabla. Los dos segmentos de base de datos más comunes son

  • Mesas

  • Índices

Las tablas son las que contienen datos, y los índices son de acceso punteros a elementos de datos dentro de una tabla. Gestión del espacio de tablas e índices son muy similares- sin embargo, los mismos conceptos y técnicas se aplican para la gestión del espacio de índice.

Antes de poner los datos en una tabla, Oracle va al espacio de tablas en el que vive y asigna un grado. Usted puede llamar a esto un medida usada porque pertenece a un objeto. El espacio que queda en el espacio de tablas es extensiones libres que puede utilizar cuando los objetos crecen o se crean nuevos objetos.

Como empezar a poner los datos en esa tabla, en la medida en que se asignará a la creación comienza a llenarse. Cuando la medida alcanza la capacidad, la mesa sale al espacio de tablas y agarra otra medida. Este ciclo continúa hasta que se detiene la adición de datos o espacio de tabla se queda sin espacio libre.

Si el espacio de tablas se queda sin espacio libre, el proceso de solicitar el espacio genera un mensaje de error y, o bien falla o suspende hasta que se añade espacio temporalmente.

Cómo crecer y encogerse tablas en Oracle 12c

Una tabla que se ajusta a esta categoría podría ser cargado cada noche y luego se elimina del todo el día, como una mesa de procesamiento por lotes.

Por ejemplo, considere una tabla de pedidos que está por lotes cargado por la noche de todos los pedidos que fueron tomadas desde un sitio web-como las órdenes se procesan al día siguiente, las filas se eliminan uno a uno. Al final del día, todas las filas se han ido. ¿Qué se necesita para monitorear esta tabla?

Usted debe estar más preocupados con lo grande que la mesa se pone cada día después de la carga por lotes. Las empresas quieren órdenes para aumentar. ¿Qué pasa con las eliminaciones? En caso de contraer la tabla al final del día antes de la próxima carga por lotes para liberar espacio? Absolutamente no.

Aunque es pequeño, el crecimiento de un objeto es sobrecarga en el procesamiento del sistema. Al dejar que el mismo día de tamaño a día, ya sabes el espacio se volverá a utilizar constantemente. ¿Quieres principalmente para controlar este tipo de objeto para el crecimiento.

¿Qué pasa con una tabla que se agrega a y eliminar de manera frecuente? Digamos por cada 1 millón de filas insertadas en una semana, se eliminan el 30 por ciento. En esta tabla se puede presentar un desafío interesante.

Eche un vistazo rápido a cómo se insertan filas para comprender mejor cómo los objetos crecen y el uso del espacio:

  • Usted tiene una nueva tabla con un solo 64k medida.

  • Su tamaño de bloque es 4k, por lo que esa medida es de 16 bloques.

  • Usted comienza a insertar Data- 100 filas caben en un bloque.

  • De forma predeterminada, Oracle llena cuadras hasta el 90 por ciento completo y luego se detiene. Por ejemplo, algunos campos se dejan nula hasta una fecha posterior, y luego los rellenan. Usted no quiere que el bloque se llenan con demasiada facilidad por una Actualización: de lo contrario Oracle tiene para mover la fila para un nuevo bloque que se ajuste a lo . Esta filas de migración degrada el rendimiento.

  • Cuando todos los bloques se llenan en las extensiones libres, la tabla asigna un nuevo punto, y el proceso comienza de nuevo.

Aunque Oracle ha reducido la sobrecarga de rendimiento que viene con la gestión de bloques y cuáles puede insertar datos en, almacenamiento de bloques gestión aún tiene un costo asociado.

Imagina que tienes una tabla con 10.000 bloques y que está en constante inserción y eliminación de esa tabla. Oracle podría pasar todos los ciclos de la CPU la gestión de lo bloques pueden tener insertos y que no puede si sólo hubiera una diferencia de una sola fila entre bloques completos y no-completos.

Es por eso que Oracle utiliza la regla del 40 por ciento. Un bloque toma todas las inserciones que puedas hasta que es 90 por ciento de lleno, pero el bloque no puede volver a la línea hasta que se ha reducido a 40 por ciento completo.

Cómo cambiar el tamaño de las tablas de Oracle 12c

Usted debe determinar si se puede liberar el espacio de un objeto después de evaluar el patrón de uso del objeto. Determinar si se puede liberar el espacio de un objeto requiere un poco de aritmética. Antes de que usted puede decidir si desea hacer espacio en una tabla, es necesario analizar la tabla para recopilar estadísticas.

El comando ANALIZAR obtiene las estadísticas necesarias para hacer esto en capacidad de computación DBMS_STATS no conseguir esas estadísticas.

En este ejemplo se utiliza la tabla emp. Para analizar la tabla apropiada, siga estos pasos:

  1. Conéctese a SQL * Plus y el tipo

    lt; analizar tabla emp cómputo estadísticas->

    Usted ve esto:

    Tabla analizó.
  2. Ejecutar una consulta en la vista USER_TABLES escribiendo

    Usted ve algo como esto:

    BLOQUES TABLE_NAME AVG_SPACE ------------------------------ ---------- ------- --- EMP 32644528

    La columna AVG_SPACE muestra la cantidad promedio de espacio libre por bloque.

  3. Utilice la siguiente fórmula para calcular la cantidad de espacio vacío en la tabla emp:

    (AVG_SPACE - (DB_BLOCK_SIZE x FREE_SPACE)) x TAB_BLOCKS

    Para este ejemplo, la fórmula es la siguiente:

    (3623 - (8192 x 0,10)) x 4528 = 11.066.432 (aproximadamente 11 MB)

  4. Decidir si hay espacio suficiente para que valga la pena para reducir el tamaño del objeto.

  5. Para habilitar Oracle para mover filas alrededor en el tipo de tabla, ejecute este comando SQL:

    Usted ve esto:

    Tabla alterada.
  6. Emita este comando SQL para hacer la contracción:

    Usted ve esto:

    Tabla alterada.
  7. Vuelva a analizar la mesa y volver a ejecutar la consulta para comprobar las estadísticas.

    Debería ver algo como esto:

    BLOQUES TABLE_NAME AVG_SPACE ------------------------------ ---------- ------- --- EMP 9332979

    Como se puede ver, el AVG_SPACE es de aproximadamente 10 por ciento del tamaño de bloque. Esto es normal en la organización del espacio de bloque por defecto.




» » » Cómo controlar el espacio en sus segmentos en 12c oráculo