IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

Comment purger proprement les base_pmon_numero.aud ?


Sujet :

Administration Oracle

  1. #1
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut Comment purger proprement les base_pmon_numero.aud ?
    Bonjour,

    Je ne peux pas copier la BDD de production sur le serveur de tests car ce dernier n'a plus de place dans la partition des bases Oracle.

    En voulant faire de la place, je constate que le répertoire /Bases/Instances11g/[nom_bdd]/logs/adump contient un nombre important de fichiers de type [nom_base]_pmon_NNNN_1.aud.

    Puis-je simplement supprimer les plus vieux fichiers ou bien faut-il passer par un outil Oracle pour faire ça proprement ?

    EDIT :
    Il y a aussi pas mal de choses dans d'autres sous répertoires logs tels que, par exemple, des fichiers xml dans /Bases/Instances11g/[nom_base]/logs/trace/diag/rdbms/[nom_base]/[nom_base]/alert

    D'une manière plus générale, y a t-il un tutoriel sur le nettoyage régulier à faire dans les fichiers générés par une BDD Oracle ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2007
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    Tu peux supprimer les *.aud ( comme tu peut garder une retention de Xjours pour des éventuelle audit).

    aucun impact si tu supprime les *.aud , pour faire du ménage il faut penser à compresser le fichier alert_sid.log et purger les *.trc ( garder une retention de Xjours pour des éventuelle analyses).

    Si tu as de l'ASM il faut faire paraille au niveau de l'instance +ASM .



    Cdlt.

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par whisper Voir le message
    pour faire du ménage il faut penser à compresser le fichier alert_sid.log et purger les *.trc ( garder une retention de Xjours pour des éventuelle analyses).
    alert_sid.log se trouve où ?

    Et les trc je peux les supprimer directement via l'OS ou il vaut mieux faire un truc avec Oracle ?

    EDIT :
    En cherchant des infos, je viens de voir que le paramètre AUDIT_TRAIL est à TRUE alors que ce n'est pas une valeur prévue par la doc !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2013
    Messages : 43
    Points : 121
    Points
    121
    Par défaut
    Pour identifier le path de l'alert<SID>.log, avec le compte proprio du moteur oracle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    export ORACLE_SID=MABASE
    sqlplus / as sysdba
    show parameter background_dump_dest
    Tous les *.trc peuvent être virés sans rien faire au préalable sur la base. Ce ne sont pas des fichiers de bases de données. Peut être laisser les plus récents, car Oracle y est en train d'y écrire, sinon il y a perte d'inode (pas grave mais place non libérée sur l'os jusqu'a l'extinction du process qui écrivait dedans).

    je viens de voir que le paramètre AUDIT_TRAIL est à TRUE
    ????
    êtes vous sûr? -->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    export ORACLE_SID=MABASE
    sqlplus / as sysdba
    show parameter audit_trailt
    La valeur TRUE n'existe pas pour cette variable.

    Ne serait ce pas plutot la variable audit_sys_operations qui serait à TRUE? auquel cas, oui vous pouvez la mettre à FALSE pour avoir des audits SYSTEM moins gros.
    La valeur pas défaut est normalement à FALSE sauf si vous avez installé Vault Database option sur la base.
    proracle.fr

  5. #5
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Oui, j'ai bien AUDIT_TRAIL à TRUE !

    Autres choses que j'aimerais éclaircir et nettoyer proprement...

    1) Sur une des bases de test, le répertoire /Bases/Instances11g/[nom_bdd]/arch contient beaucoup de fichiers du type log_XXX.arch et occupe 6,9 Go !

    Je peux virer en conservant les plus récents ou bien il faut opérer sur la BDD ?

    2) Il a plus de 1,5 millions de lignes dans la table SYS.AUD$ dont certaines de 2010 - année d'installation d'Oracle !

    Je peux faire un DELETE en conservant les plus récentes lignes ou il faut nettoyer autrement ?



    D'une manière générale, je cherche un tutoriel en français pour nettoyer régulièrement mes BDD des logs et autres archives et trucs obsolètes qui prennent de la place.


    EDIT :
    Pour le point 1) J'ai trouvé la réponse. Il existe un script shell de nettoyage sur le serveur mais il n'était pas lancé pour cette BDD.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2013
    Messages : 43
    Points : 121
    Points
    121
    Par défaut
    Oui, j'ai bien AUDIT_TRAIL à TRUE !
    Alors normalement vous êtes sur une 10gR1 (10.1) car il faut remonter à cette version du moteur pour pouvoir mettre cette valeur
    A partir de la 10.2, TRUE est deprecated.
    10.1:
    http://docs.oracle.com/cd/B13789_01/...tparams015.htm
    10.2:
    http://docs.oracle.com/cd/B19306_01/...tparams016.htm

    En 11g Oracle a fournit un package (DBMS_AUDIT_MGMT) pour faire du ménage et créer des schedules.

    Donc si vous êtes en 11g sous sqlplus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    begin
    dbms_audit_mgmt.init_cleanup(
    audit_trail_type => dbms_audit_mgmt.audit_trail_db_std,
    default_cleanup_interval => 24 );
    end;
    /
    (pour initialiser la purge avec un interval de 24h par defaut)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    begin
    dbms_audit_mgmt.set_last_archive_timestamp(
    audit_trail_type => dbms_audit_mgmt.audit_trail_aud_std,
    last_archive_time =>
    to_timestamp('2013-01-01 10:00:00','YYYY-MM-DD HH24:MI:SS'),
    rac_instance_number => null
    );
    end;
    /
    (pour dire que vous avez archivé tous les standard audit de type db d'avant le 01janv2013 10h)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    begin
    dbms_audit_mgmt.clean_audit_trail(
    audit_trail_type => dbms_audit_mgmt.audit_trail_aud_std,
    use_last_arch_timestamp => TRUE
    );
    end;
    /
    (pour purger tous les audits standard que vous avez déclaré archivé,mais cela peut être long car il y a +1M de lignes à deleter!!! par défaut le delete commit toutes les 1000lignes mais on peut changer)

    ensuite grace au package dbms_audit_mgmt vous pouvez générer des jobs automatiques.


    Sinon si vous êtes en 10g, je crois que vous n'avez pas ce package.
    Mais vous pouvez si vous le souhaiter faire un truncate de SYS.AUD$.

    De plus si vous vous voulez désactiver l'audit standard alors vous pouvez changer la valeur de AUDIT_TRAIL de TRUE à FALSE si vous êtes bien en 10gR1
    sinon c'est AUDIT_TRAIL=NONE (pour désactiver en 10gR2 et plus)
    proracle.fr

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Merci pour la réponse.
    C'est vendredi et, par expérience, il est dangereux de faire des opérations délicates dont on n'a pas l'habitude un vendredi après-midi si on ne veut pas écourter son week-end.

    Je verrai donc ça la semaine prochaine, il n'y a pas urgence.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Je risque de retomber sur le même problème qu'alors et je retombe sur ma propre question que je n'avais pas approfondie quant aux solutions proposées...

    Oracle4Ever, j'ai essayé les 3 codes mais j'ai à chaque fois ce genre d'erreur :
    Erreur commençant à la ligne: 1 de la commande -
    begin
    dbms_audit_mgmt.set_last_archive_timestamp(
    audit_trail_type => dbms_audit_mgmt.audit_trail_aud_std,
    last_archive_time =>
    to_timestamp('2017-01-01 10:00:00','YYYY-MM-DD HH24:MI:SS'),
    rac_instance_number => null
    );
    end;
    Rapport d'erreur -
    ORA-06550: Ligne 3, colonne 21 :
    PLS-00201: l'identificateur 'DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD' doit être déclaré
    ORA-06550: Ligne 2, colonne 1 :
    PL/SQL: Statement ignored
    06550. 00000 - "line %s, column %s:\n%s"
    *Cause: Usually a PL/SQL compilation error.
    *Action:
    Précision : j'essaie de lancer ça sous SQL Developer et pas avec un user sysdba a priori... ceci expliquerait-il cela ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  9. #9
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Pas besoin d'être sysdba, mais il faut quand même le droit d'exécution sur le package :
    https://docs.oracle.com/database/121...htm#ARPLS65395
    Security Model

    All DBMS_AUDIT_MGMT subprograms require the user to have EXECUTE privilege over the DBMS_AUDIT_MGMT package. The SYSDBA and AUDIT_ADMIN roles have EXECUTE privileges on the package by default.

    Oracle strongly recommends that only audit administrators should have the EXECUTE privilege on the DBMS_AUDIT_MGMT package and be granted the AUDIT_ADMIN role.

    Executions of the DBMS_AUDIT_MGMT subprograms are always audited.

  10. #10
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Je viens d'essayer la première procédure via sqlplus / as sysdba et j'obtiens cette erreur :
    ERREUR à la ligne 1 :
    ORA-46267: Espace insuffisant dans le tablespace 'SYSAUX', impossible
    d'effectuer l'opération
    ORA-06512: à "SYS.DBMS_AUDIT_MGMT", ligne 1039
    ORA-06512: à ligne 2
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  11. #11
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Après avoir alloué davantage d'espace disque à la partition qui stocke les Bases de test puis exécuté la requête ci-dessous pour redimensionner le tablespace SYSAUX, j'ai pu exécuter les 3 procédures données par Oracle4Ever plus haut.
    Merci à tous ceux qui ont répondu.

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER DATABASE DATAFILE '[chemin/vers/sysaux01.dbf]' RESIZE 500M;
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  12. #12
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    J'ai quand même encore des trucs à purger, semble t-il...

    Dans les répertoires de mes instances de BDD, il y a un dossier arch qui contient un bon gros paquet de fichiers .arch dont certains sont très anciens.

    Je peux purger ça proprement comment ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/06/2011, 12h59
  2. Réponses: 0
    Dernier message: 31/05/2011, 18h41
  3. Comment purger les macros
    Par sebing dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/08/2010, 13h42
  4. Réponses: 5
    Dernier message: 26/06/2008, 12h03
  5. SNMP: comment on voit les messages trap ???
    Par talakela dans le forum Développement
    Réponses: 2
    Dernier message: 03/06/2003, 17h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo