Tecnología de la Información

Cómo Comprobar el Tamaño de la Memoria y el Almacenamiento de la Base de Datos Oracle

En ciertas ocasiones, se me pedirá una estimación de las necesidades de recursos para una base de datos que se configurará para un entorno de desarrollo o como base de datos de reserva. Los siguientes son mis métodos para calcular el tamaño de memoria y almacenamiento basado en la base de datos de producción existente. El cálculo del tamaño de almacenamiento está pensado para UNIX y LINUX.

1. Obtenga la huella de memoria estimada de una base de datos existente.

—- Obtenga la huella SGA de una instancia de base de datos:

SQL> SELECCIONE sum(valor) / 1024 /1024 «TOTAL SGA (MB)» DESDE v s sga;

—- Obtener el consumo actual de PGA de una instancia de base de datos:

seleccione suma (pga_max_mem) / 1024 /1024 «PGA MÁXIMO TOTAL (MB)» de v process proceso;

Un desglose más detallado del uso de la memoria PGA:

SELECCIONE spid, programa,

pga_max_mem max,

pga_alloc_mem alloc,

pga_used_mem utilizado,

pga_freeable_mem gratis

FROM V$PROCESS;

NOTA: El programa resultante nombre no tener ningún proceso asociado nombre (ex. PMON, SMON, RECO,..) es un proceso de sesión.

Dependiendo de la configuración de los procesos de parámetros init, puede ser que las consultas anteriores solo capturen las conexiones activas.

—- Obtener el requisito de memoria estimado para las sesiones no conectadas:

La consulta a continuación proporciona la memoria máxima asignada por una sesión de usuario. Usaremos esto para calcular los requisitos de memoria restantes para los procesos no conectados.

seleccione max (p. pga_max_mem) / 1024 /1024 » MEMORIA PGA MAX DE SESIÓN DE USUARIO (MB)»

desde v process process p, v session session s

donde P. ADDR = S. paddr y s. username no son null;

Obtenga el número máximo de procesos que puede manejar una instancia de Oracle.

seleccione nombre, valor de v parameter parámetro

donde name = ‘procesos’;

Vamos a contar el número de sesiones conectadas:

seleccione count(1) de v session sesión

donde el nombre de usuario no es nulo;

Obtenga el total de conexiones disponibles restando el número de sesiones conectadas del valor del parámetro procesos.

El valor resultante se multiplicará por la memoria máxima asignada resultante por una sesión realizada por la consulta anterior.

Esto le daría la cantidad estimada de memoria de reserva necesaria para acomodar conexiones adicionales.

REQUISITO DE MEMORIA TOTAL ESTIMADO

SGA + PGA = REQUISITO DE MEMORIA EST PARA CONEXIONES DE CORRIENTE

SGA + PGA + SESIONES DESCONECTADAS = REQUISITO DE MEMORIA EST A LA MÁXIMA UTILIZACIÓN DEL PROCESO

donde:

Sesiones desconectadas (MB) = (sesiones conectadas a procesos) * pga memoria máxima de la sesión de usuario

2. Obtenga los requisitos de tamaño de almacenamiento estimado de una base de datos.

El siguiente procedimiento para determinar el tamaño de almacenamiento está destinado a entornos UNIX y LINUX. En cuanto a Windows, simplemente haga clic con el botón derecho y seleccione las propiedades en cada una de las letras de unidad dadas por los resultados de las consultas.

@primary server,

Copy Copie y pegue cada comando resultante en un script de shell y ejecútelo en el servidor primario para obtener el tamaño del punto de montaje

seleccione ‘df-k ‘||a único.MTPOINT MOUNT_POINT

from ( select substr(NOMBRE_ARCHIVO,0,instr(FILE_NAME,’/’,1,2)-1) MTPOINT

de dba_data_files

unión

select substr(NOMBRE_ARCHIVO,0,instr(FILE_NAME,’/’,1,2)-1) MTPOINT

de dba_temp_files

unión

select substr(MIEMBRO,0,instr(MIEMBRO de la,’/’,1,2)-1) MTPOINT

from v$logfile

unión

select substr(NOMBRE,0,instr(NOMBRE,’/’,1,2)-1) MTPOINT

from v$controlfile

) un;

— Consulte el destino de todos los archivos de parámetros y determine si tienen una ruta diferente al punto de montaje del archivo de datos o al directorio ORACLE_BASE.

obtener el tamaño del punto de montaje de los destinos de archivo

seleccionar nombre, valor

de v parameter parámetro

donde (regexp_like(name, ‘^log_archive_(dest|dest\_ ())$’, ‘i’) o nombre como ‘%dump_dest’ o nombre como ‘%file_dest’ o nombre como ‘diag%dest’ o name =’utl_file_dir’) y el valor no es nulo;

— Consulta los directorios de la base de datos para buscar puntos de montaje

seleccione ‘df-k’ / / substr (DIRECTORY_PATH, 0, instr(DIRECTORY_PATH,’/’,1,2)-1) MTPOINT desde dba_directories;

Una alternativa para un comando df es grep todo el punto de montaje válido relacionado con la base de datos en una sola cadena para obtener un informe mucho más conciso.

ejemplo:

$ df-k | grep -E ‘/u01|/u02|/utldir|/opt’

Write a Comment

Tu dirección de correo electrónico no será publicada.