web-dev-qa-db-fra.com

Manque d'espace dans les tablespace SYSTEM et SYSAUX dans Oracle 11g R2

La taille de l'espace disque logique SYSTEM et SYSAUX de ma base de données est désormais dans l'état suivant:

SYSTEM  - PCT_USED= 99
SYSAUX  - PCT_USED= 95

Je crois que la base de données est dans une situation critique maintenant. Que puis-je faire pour le ramener à son état normal et quelles sont les méthodes standard à suivre pour protéger les fichiers d'espace de table SYSTEM et SYSAUX.

Toute aide serait appréciée.

5

Les espaces de table SYSTEM et SYSAUX sont requis par le SGBDR pour fonctionner correctement.

L'espace de table SYSAUX

Une liste d'objets qui résident dans l'espace de table SYSAUX peut être récupérée à l'aide de la vue V $ SYSAUX_OCCUPANTS. Cette vue affiche les informations suivantes:

OCCUPANT_NAME        VARCHAR(64)    Occupant name  
OCCUPANT_DESC        VARCHAR(64)    Occupant description  
SCHEMA_NAME          VARCHAR2(64)   Schema name for the occupant  
MOVE_PROCEDURE       VARCHAR2(64)   Name of the move procedure; null if not applicable  
MOVE_PROCEDURE_DESC  VARCHAR2(64)   Description of the move procedure  
SPACE_USAGE_KBYTES   NUMBER         Current space usage of the occupant (in KB)  

Référence: V $ SYSAUX_OCCUPANTS

La table SYSAUX contient les composants suivants:

SYSAUX Table                         Previous Location
------------------------------------ --------------------------
Analytical Workspace Object Table    SYSTEM
Enterprise Manager Repository        OEM_REPOSITORY
LogMiner                             SYSTEM
Logical Standby                      SYSTEM
OLAP API History Tables              CWMLITE
Oracle Data Mining                   ODM
Oracle Spatial                       SYSTEM
Oracle Streams                       SYSTEM
Oracle Text                          DRSYS
Oracle Ultra Search                  DRSYS
Ora interMedia ORDPLUGINS Comp.      SYSTEM
Ora interMedia ORDSYS Components     SYSTEM
Ora interMedia SI_INFORMTN_SCHEMA C. SYSTEM
Server Manageability Components      -
Statspack Repository                 User-defined
Oracle Scheduler                     - 
Workspace Manager                    SYSTEM

Référence: Composants de la base de données et espace disque logique SYSAUX

Si vous pouvez réduire la taille des données stockées par les composants, vous pouvez réduire la taille de l'espace de table SYSAUX requis.

La plus grande partie de l'espace de table SYSAUX est occupée par le référentiel de charge de travail automatique (AWR). Les recommandations de taille suivantes sont fournies par Oracle pour déterminer la taille AWR et, dans une large mesure, la taille de l'espace de table SYSAUX:

Number of CPUs                                 2    |     8    |    32
Number of concurrently active sessions        10    |    20    |   100
Number of user objects: tables and indexes   500    | 5,000    |50,000
Estimated SYSAUX size with default config    500 MB |     2 GB |     5 GB

Référence: Contrôle de la taille du tablespace SYSAUX

Si votre base de données n'a cessé de croître, ou si vous surveillez de nombreux objets avec l'Enterprise Management Console, votre espace de table SYSAUX se remplira lentement.

L'espace de table SYSTEM

L'espace de table SYSTEM contient toujours les tables de dictionnaire de données pour la base de données entière. Donc, si votre base de données grandit en raison de nouveaux objets, votre espace de table SYSTEM aura également besoin de plus d'espace.

Dictionnaire de données

Que contient le dictionnaire de données:

  • Les définitions de tous les objets de schéma dans la base de données (tables, vues, index, clusters, synonymes, séquences, procédures, fonctions, packages, déclencheurs, etc.)
  • Quelle quantité d'espace a été allouée et est actuellement utilisée par les objets de schéma
  • Valeurs par défaut des colonnes
  • Informations sur les contraintes d'intégrité
  • Les noms des utilisateurs Oracle
  • Privilèges et rôles accordés à chaque utilisateur
  • Audit des informations, telles que qui a accédé ou mis à jour divers objets de schéma
  • Autres informations générales sur la base de données

Référence: Le dictionnaire de données

Solutions:

  1. Réduisez la quantité d'objets surveillés dans EM
  2. Redimensionnez l'espace de table SYSAUX conformément aux recommandations du tableau ci-dessus.
    • ALTER DATABASE DATAFILE '/path/systemSID.dbf' RESIZE 1000M;
  3. Redimensionnez l'espace de table SYSTEM
    • ALTER DATABASE DATAFILE '/path/sysauxSID.dbf' RESIZE 1000M;
6
John aka hot2use

Selon ToadWorld blogIci Le Tablespace SYSAUX doit avoir une taille minimale de 250M . L'espace de table SYSAUX doit être PERMANENT avec la gestion des extensions locale et ASSM (Automatic Segment Space Management). L'espace disque logique SYSAUX ne peut pas être rendu en lecture seule. Par conséquent, des précautions appropriées doivent être prises lors de la création de l'espace de table SYSAUX car les attributs de l'espace de table ne sont pas modifiables une fois qu'ils sont définis.

L'espace disque logique SYSAUX a été installé en tant qu'espace disque logique auxiliaire lorsque vous avez créé votre base de données.

L'espace de table SYSAUX est occupé par un certain nombre de composants de base de données. L'espace de table SYSAUX est occupé par un certain nombre de composants de base de données.

La plus grande partie de l'espace de table SYSAUX est occupée par le référentiel de charge de travail automatique (AWR). L'espace consommé par le AWR est déterminé par plusieurs facteurs, notamment le nombre de sessions actives dans le système à un moment donné, l'intervalle de capture instantanée et la période de conservation des données historiques. Un système typique avec une moyenne de 10 sessions actives simultanées peut nécessiter environ 200 à 300 MB d'espace pour ses données AWR.

Selon le blog Oracle ici Le tableau suivant fournit des instructions sur le dimensionnement de l'espace de table [~ # ~] sysaux [~ # ~] en fonction de la configuration du système et de la charge attendue.

Parameter/Recommendation                           Small    Medium  Large
Number of CPUs                                        2       8      32
Number of concurrently active sessions                10      20     100
Number of user objects: tables and indexes            500     5,000 50,000
Estimated SYSAUX size at steady state with default configuration    
                                                      500 MB    2 GB    5 GB

Je joins également la capture d'écran d'OEM 11g, pour vérifier les détails de l'espace occupé de SYSTEM et SYSAUX. pour vous ref ici enter image description here

Gestion de la taille des occupants de l'espace disque logique SYSAUX

Le V$SYSAUX_OCCUPANTS view gère les occupants dans l'espace de table SYSAUX. Cette vue vous permet de surveiller l'utilisation de l'espace des objets d'application occupant dans l'espace de table SYSAUX.

SELECT occupant_name, space_usage_kbytes FROM v$sysaux_occupants;

Je joins également la capture d'écran pour votre ref enter image description here

1
Md Haidar Ali Khan

SYSAUX et SYSTEM ne sont pas différents de tout autre espace de table dans la mesure où ils doivent être correctement dimensionnés. D'après mon expérience, la pression spatiale dans SYSAUX est à peu près toujours due aux données AWR. Essayez d'exécuter awrinfo.sql pour trouver le coupable.

Ayez également une fouille sur support.Oracle.com. Il y a des problèmes connus avec les paramètres de rétention/purge AWR qui ne jouent pas à Nice (par exemple doc 1912201.1)

1
TimPalmer

Tout d'abord, vérifiez quelle table occupe le plus d'espace dans cet espace de table. Il existe certaines tables dans les espaces de table SYSTEM et SYSAUX qui stockent les données de requête historiques, les instantanés AWR et les informations d'audit, qui peuvent être supprimées/tronquées.

Si vous n'êtes pas sûr ou préoccupé si la suppression d'enregistrements dans une table affecterait autre chose, alors ajoutez simplement de l'espace supplémentaire dans ces espaces de table.

0
Lohit Gupta

Une option consiste à utiliser la fonction autoextensible des fichiers de données de vos espaces de table.

alter database datafile '[name]' autoextend on;

mais faites attention à ne pas utiliser cette fonctionnalité, car un logiciel de buggy peut rapidement utiliser votre espace alloué. Si vous disposez d'une surveillance de l'espace du système d'exploitation, l'extension automatique peut fonctionner pour vous.

Vous pouvez également utiliser les fonctionnalités de surveillance d'espace d'OEM pour vous envoyer une notification lorsque vos espaces de table atteignent un certain pourcentage, par exemple 80%. N'attendez pas 95% ou plus pour agir sur l'ajout d'espace.

Vous pouvez également définir le paramètre resumable_timeout afin que les sessions en attente d'espace vous attendent pour ajouter de l'espace et ne se terminent pas anormalement.

Vous pouvez tronquer sys.aud $ périodiquement. Si vous devez conserver des enregistrements d'audit, sauvegardez-les avant de les tronquer.

Votre base de données n'est jamais "critique" lorsque vous êtes sur le point de manquer d'espace. Vous avez toujours la possibilité de sqlplus/ou sqlplus/nolog si sysaux manque d'espace.

0
sandman

Cette requête vous aidera à suivre ce qui se trouve dans sysaux.

COLUMN space_mb      FORMAT A12
COLUMN occupant_desc FORMAT A55
COLUMN schema        FORMAT A30
SELECT occupant_desc, TO_CHAR(space_usage_kbytes/1024, '999,999.00') space_mb,
substr(schema_name,1,30) Schema
FROM v$sysaux_occupants
ORDER BY 2 desc;

Vous pouvez également interroger le filtrage dba_segments par nom d'espace table, à la recherche du plus grand objet. Vous devriez regarder spécifiquement la table sys.aud $.

0
Gandolf989