Mon SYSTEM
tableespace est rempli énormément dans quelques jours. J'ai ajouté un autre fichier DBF quand il a été rempli complètement plus tôt. Maintenant, le deuxième .dbf
est également sur le point de remplir. Le seul processus qui se passe quotidiennement est une base de données d'exportation pour la sauvegarde logique. En outre, l'étendue automatique de l'espace de table est sur. Quelle pourrait être la raison de ce remplissage de tablespace? Comment puis-je m'attaquer à cette situation? J'utilise Oracle 11G R2 en mode archivalog.
Fixation de résultat pour une requête ci-dessous:
SELECT owner, segment_name, segment_type, extents, blocks, bytes
FROM dba_segments
WHERE tablespace_name='SYSTEM'
ORDER BY bytes;
Tout d'abord, assurez-vous que SYSTEM
tablespace n'est pas affecté comme défaut ou espace de table temporaire pour les utilisateurs de la base de données normaux.
Deuxièmement, une table consommatrice de l'espace en SYSTEM
tablespace est AUD$
. Ensuite, comme vous l'avez dit, vous venez d'effectuer des exportations/importations, DataPump crée des tables de maître dans l'espace de table par défaut de l'utilisateur effectuant un travail d'exportation.
La table principale est retenue ou déposée, selon les circonstances, comme indiqué ici . Vous avez peut-être fait l'exportation à l'aide de SYS
utilisateur. Si le travail est en panne, la table Master ne sera pas supprimée.
Maintenant, vous pouvez utiliser la requête suivante pour voir quel objet prend la majeure partie de l'espace de cette épisette.
SELECT owner, segment_name, segment_type, extents, blocks, bytes
FROM dba_segments
WHERE tablespace_name='SYSTEM'
ORDER BY bytes;
Mise à jour:
Si vous avez besoin du sentier d'audit, copiez ses enregistrements vers une autre table, un autre espace de table si nécessaire, et/ou exporter la table d'audit, sinon vous pouvez le tronquer.
Se connecter en tant que sqlplus sys as sysdba
SQL> CREATE TABLE backup_aud$ AS SELECT * from sys.aud$;
SQL> truncate table aud$;
[~ # ~] ou [~ # ~ ~]
Vous pouvez la table de piste mobile, SYS.AUD$
, à un autre espace de table en utilisant DBMS_AUDIT_MGMT
DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION
. SQL> BEGIN
DBMS_AUDIT_MGMT.set_audit_trail_location(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,
audit_trail_location_value => 'NEW TABLESPACE');
END;
/