Comment Vérifier la Taille de la Mémoire et du stockage Oracle Database
À certaines occasions, on me demandera une estimation des besoins en ressources pour une base de données qui sera configurée pour un environnement de développement ou comme base de données de secours. Voici mes méthodes pour calculer la taille de la mémoire et du stockage en fonction de la base de données de production existante. Les calculs sur la taille de stockage sont destinés à UNIX et LINUX.
1. Obtenez l’empreinte mémoire estimée d’une base de données existante.
—- Obtenez l’empreinte SGA d’une instance de base de données :
SQL > SÉLECTIONNEZ sum(value)/1024/1024 « TOTAL SGA (MB) » DE vssga;
—- Obtenir la consommation PGA actuelle d’une instance de base de données:
sélectionnez sum(pga_max_mem) / 1024 / 1024 « TOTAL MAX PGA (MB) » dans le processus vprocess;
Une ventilation plus détaillée de l’utilisation de la mémoire PGA:
SÉLECTIONNEZ spid, programme,
pga_max_mem max,
pga_alloc_mem alloc,
pga_used_mem utilisé,
pga_freeable_mem gratuit
À PARTIR DE VPROCESSPROCESS;
REMARQUE : Le nom de programme résultant n’ayant pas de nom de processus associé (ex. PMON, SMON, RECO, ..) est un processus de session.
Selon les paramètres des processus de paramètres d’initialisation, il se peut que les requêtes ci-dessus ne capturent que les connexions actives.
—- Obtenez le besoin de mémoire estimé pour les sessions non connectées:
La requête ci-dessous donne la mémoire allouée maximale par une session utilisateur. Nous l’utiliserons pour calculer les besoins en mémoire restants pour les processus non connectés.
sélectionnez max(p.pga_max_mem) / 1024 / 1024 « MÉMOIRE MAXIMALE PGA DE LA SESSION UTILISATEUR (MO) »
à partir de vprocessprocess p, vsessionsession s
où P.ADDR = S.paddr et s.username n’est pas null;
Obtenez le nombre maximal de processus qu’une instance Oracle peut gérer.
sélectionnez nom, valeur de vparameterparamètre
où name=’processes’;
Comptons le nombre de sessions connectées:
sélectionnez count(1) dans vsessionsession
où username n’est pas null;
Obtenez le total des connexions disponibles en soustrayant le nombre de sessions connectées de la valeur du paramètre processes.
La valeur résultante doit être multipliée par la mémoire allouée maximale résultante par une session effectuée par la requête précédente.
Cela vous donnerait alors la quantité estimée de mémoire de réserve nécessaire pour accueillir des connexions supplémentaires.
BESOINS TOTAUX ESTIMÉS EN MÉMOIRE
SGA+PGA = MÉMOIRE REQUISE POUR LES CONNEXIONS ACTUELLES
SGA + PGA + SESSIONS NON CONNECTÉES = BESOINS EN MÉMOIRE EST À L’UTILISATION MAXIMALE DES PROCESSUS
où :
Sessions non connectées (MO) = (sessions connectées aux processus) * mémoire maximale de la session utilisateur pga
2. Obtenez les exigences de dimensionnement de stockage estimées d’une base de données.
La procédure ci-dessous pour déterminer la taille du stockage est destinée à l’environnement UNIX et LINUX. Comme pour Windows, faites un clic droit et sélectionnez les propriétés de chacune des lettres de lecteur données par les résultats des requêtes.
@ serveur principal,
Copy Copiez et collez chaque commande résultante sur un script shell et exécutez-la dans le serveur principal pour obtenir la taille du point de montage
sélectionnez unique ‘df-k’ //a.Le POINT DE MONTAGE DE MTPOINT
à partir de (sélectionnez substr(NOM_FICHIER, 0, instr(NOM_FICHIER,’/’,1,2)-1) MTPOINT
à partir de dba_data_files
union
sélectionnez substr(NOM_FICHIER, 0, instr(NOM_FICHIER,’/’,1,2)-1) MTPOINT
à partir de dba_temp_files
union
sélectionnez substr(MEMBRE, 0, instr(MEMBRE,’/’,1,2)-1) Le POINT MT
à partir de vilefichier journal
union
sélectionnez substr(NOM, 0, instr(NOM,’/’,1,2)-1) MTPOINT
à partir de vilefichier de contrôle
) a;
— Interrogez tous les paramètres de destination du fichier et déterminez s’ils ont un chemin différent du point de montage du fichier de données ou du répertoire ORACLE_BASE.
obtenez la taille du point de montage des destinations de fichiers
sélectionnez le nom, la valeur
de vparameterparameter
where(regexp_like(name, ‘^log_archive_(dest|dest\_())$’, ‘i’) ou un nom comme ‘%dump_dest’ ou un nom comme ‘%file_dest’ ou un nom comme ‘diag%dest’ ou name=’utl_file_dir’) et la valeur n’est pas nulle;
— Interroger les répertoires de la base de données pour les points de montage
sélectionnez ‘df-k| // substr(CHEMIN_DIRECTEUR, 0, instr(CHEMIN_DIRECTEUR,’/’,1,2)-1) MTPOINT de dba_directories;
Une alternative pour une commande df consiste à regrouper tous les points de montage liés à la base de données valides dans une seule chaîne pour obtenir un rapport beaucoup plus concis.
exemple:
$df-k/grep-E ‘/u01//u02//utldir//opt’