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

Oracle Discussion :

[8i]Supprimer archive log issu d'une SDB


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de ariesnojf
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 195
    Par défaut [8i]Supprimer archive log issu d'une SDB
    Bonjour à tous

    Aprés avoir implémenter une standby database , aprés avoir résolu mes problèmes de trigger sur cette dernière , je cherche à supprimer les fichiers archives qui ont été intégrés par la standby database.

    Déroulé manuellement, cela ne me pose pas trop de problème (en utilisant v$archived_log et v$log_history). Ceci fait, j'ai essayé de faire un petit script pour automatiser mais sans succés, notamment lors de la jointure des deux tables (erreur 01220: la base doit être ouverte ), récup des variables issus des requêtes ...

    Ayant trés peu de connaissance dans PL/SQL, existe-il un script permettant d'effacer ces fichiers du disque ??? (un tout fait serait royal , dans un post précédent, j'ai vu qu'Aline faisait référence à ce genre de script (Aline : help))

    J'en ai trouvé un mais qui correspond pas, il efface selon une date de création du fichier et non pas par intégration par la SDB. Dans les scripts du site, j'en ai pas vu non plus

    J'aurais moyen de m'en sortir avec excel ou VB mais préfére utiliser les outils d'Oracle.

    De plus, la table v$log_history peut elle être "nettoyée" de manière, lorsque le fichier n'existe plus, d'effacer la ligne correspondante de cette table ???

    Merci, JF

    Oracle 8i sous W2K serveur

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Par défaut
    Bonjour,

    Je suis désolée, mais sur une standby physique, je ne connais aucune table te permettant de savoir ce qui a pu être appliqué sur une standby. Je ne vois pas ou pourrai être cette information et surtout comment elle pourrait être renseigné.

    Mais heureusement, il existe les fichiers d'alerte!
    Personnellement, je les utilise pour nettoyer mes logs


    Quand tu vois cette ligne dans ton fichier d'alerte,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Media Recovery Log ...../19235.arc
    c'est que la standby est en train d'appliquer cette archive.
    Par sureté, tu en retire 1 ou deux et le tour est joué.
    Il suffit après de supprimer (ou d'archiver sur un autre support!) tes archives de ta base primaire + standby.


    sinon, pour le script tout fait, il ne faux pas trop rêver. Il va être completement dépendant de ton architecture. dans ce cas, je peux te donner l'idée, mais mes scripts ne te seraient strictement d'aucun secour

  3. #3
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    v$log_history ne répond-elle pas à ce problème ? Ou plutôt V$STANDBY_LOG ?

    V$MANAGED_STANDBY contient une colonne SEQUENCE# qui parait bien intéressante aussi

  4. #4
    Membre confirmé Avatar de ariesnojf
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 195
    Par défaut
    Citation Envoyé par Fred_D
    V$MANAGED_STANDBY contient une colonne SEQUENCE# qui parait bien intéressante aussi
    Lorsque je fait la description de la vue, j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ORA-06550: LIGNE 1, Colonne 7 : 
    PLS-00201 : L'identificateur 'SYS.SUBPTXT' doit etre declare
    ORA-06550: LIGNE 1,COlonne 7 : 
    PL/SQL: Statement ignored
    Idem pour v$standby_log.

    Ce sont des vues inexistantes dans mon système, peut-on les créer ?

    V$log_history est bien reconnue par contre.


    De plus en relisant la doc, il apparaît que v$log_history n'est pas actualisée durant le recouvrement. Etes vous d'acoord avec cela (au cas où j'ai mal compris !)

    Sinon pour mon script, j'avais imaginé un truc du genre (euh Aline et les autres, votre aide sera trés bien venue .... )

    1) Arrêt du recouvrement (si besoin)
    2) Interrogation de la vue v$log_history pour selectionner le max sequence# puis toutes les sequences inferieure
    3) Interrogation de la vue v$archived_log pour selectionner les nom du fichiers selon sequence#, delete physique sur disque, puis delete sur vue v$log_history
    4) Remise en route du recouvrement (si besoin)

    Faisable par PL/SQL ????

    Merci, JF

  5. #5
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    tu t'es bien connecté SYS ?

  6. #6
    Membre confirmé Avatar de ariesnojf
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 195
    Par défaut
    J'étais en system as sysdba,
    me suis mis en sys as sysdba dans un 1ier temps puis as sysoper,

    toujours le même souci, reconnaît pas les vues

    Merci, JF

  7. #7
    Membre confirmé Avatar de ariesnojf
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 195
    Par défaut
    Oui, ce sont les deux vues que j'avais remarqué, cependant deux petits soucis, le 1ier étant de savoir si la vue est bien rempli pendant le recouvrement, d'aprés la doc, il apparaît que non (ayons confiance !!!)

    Citation Envoyé par jflaman

    De plus en relisant la doc, il apparaît que v$log_history n'est pas actualisée durant le recouvrement. Etes vous d'acoord avec cela (au cas où j'ai mal compris !)
    2d problème (pas le moindre) écrire un script sous PL/SQL me faisant le travail d'épuration des fichier archives intégrés. J'aurai esperé qu'un script de ce genre existait mais à priori il va falloir que je le crée (N'ayant pratiquement aucune base en PL/SQL, vive la doc de SheikYerbouti !!! )

    Citation Envoyé par jflaman
    Sinon pour mon script, j'avais imaginé un truc du genre (euh Aline et les autres, votre aide sera trés bien venue .... )

    1) Arrêt du recouvrement (si besoin)
    2) Interrogation de la vue v$log_history pour selectionner le max sequence# puis toutes les sequences inferieure
    3) Interrogation de la vue v$archived_log pour selectionner les nom du fichiers selon sequence#, delete physique sur disque, puis delete sur vue v$log_history
    4) Remise en route du recouvrement (si besoin)
    Faisable par PL/SQL ????

    Euh, si quelqu'un n'a rien à faire, il peut s'en occuper, ça ira plus vite que moi .....


    Merci, JF

  8. #8
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    ceci étant, c'est surement plus simple en shell, tu rediriges un grep cutté () dans un fichier que tu parcours pour faire tes deletes...

    Sinon, j'ai pas vu dans la doc que V$ARCHIVED_LOG est désynchronisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    An archive log record is inserted after the online redo log is successfully archived or cleared
    PS : sinon, RMAN doit pouvoir faire tout ça tout seul non ?

  9. #9
    Membre confirmé Avatar de ariesnojf
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 195
    Par défaut
    Merci de ton aide,


    Citation Envoyé par aline
    mais sur une standby physique, je ne connais aucune table te permettant de savoir ce qui a pu être appliqué sur une standby. Je ne vois pas ou pourrai être cette information et surtout comment elle pourrait être renseigné.
    ==> on ne peut utiliser la vue v$log_history ???? Je croyais que cette vue recensait les logs appliquées à la SDB.
    http://download-west.oracle.com/docs...dbym.htm#27676

    Merci également pour le fichier d'alerte, il ne m'était pas venu à l'idée que le fichier tracait ce genre d'infos.

    Quant au script, si je ne peux identifier par table/vue quels fichiers je dois supprimer, autant le faire à la main.... sauf de rentrer le 1ier et dernier fichier...
    Si quelqu'un à d'autres idées ...


    Merci, JF

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/12/2009, 17h40
  2. Réponses: 8
    Dernier message: 20/03/2009, 15h54
  3. supprimer un enregistrement vide dans une table oracle
    Par shurized dans le forum Bases de données
    Réponses: 11
    Dernier message: 07/09/2004, 17h55
  4. [Jsp] Supprimer les caractère spéciaux d'une chaine
    Par PeteMitchell dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/05/2004, 12h11
  5. Réponses: 2
    Dernier message: 12/01/2004, 14h56

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