Sur Unix (vues dynamiques), une technique très efficace pour éliminer les visualiser des fichiers privés est de laisser tomber la vue. Préservez le cspec en premier. Assurez-vous également qu'il n'y a pas de check-out dans la vue. Puis supprimez-le et recréez-en un nouveau (même nom, même cspec, même stockage, mais pas de fichiers privés jusqu'à ce que vous les créiez).
# With the view to be cleaned as your current view...
ct pwv -s > /tmp/viewname
viewname=$(</tmp/viewname)
ct catcs > /tmp/$viewname.cs
ct lsview -cvi | awk '{print $3;}' > /tmp/$viewname.vws
# The next line is the first dangerous line!
# It cancels all outstanding checkouts and removes the modified files
ct lsco -cvi -s -avo 2>/dev/null | xargs ct unco -rm # Or: xargs ct ci -nc
exit # Terminate the session in the view
viewname=$(</tmp/viewname)
rm /tmp/viewname
# The next line is the second dangerous line
ct rmview -tag $viewname
ct mkview -tag $viewname $(</tmp/$viewname.vws)
ct setcs -tag $viewname /tmp/$viewname.cs
rm /tmp/$viewname.cs
Tous les fichiers privés de vue ont disparu - et vous avez réduit l'utilisation de votre disque.
Si vous avez la chance de ne travailler qu'avec un seul VOB, vous pouvez omettre l'option '-avo
' (toutes les VOB). La redirection '2>/dev/null
' perd les erreurs des VOB inaccessibles - j'ai plus de 100 VOBs visibles mais inaccessibles dans mon environnement, mis à part la douzaine de ceux que j'utilise vraiment. Notez que si vous empaquiez ceci comme un script 'rebuild.view
', vous prendriez le nom d'affichage comme argument (travaillant depuis l'extérieur de la vue - ce ne serait pas la vue actuelle), et vous pourriez ensuite faire le nettoyage à l'intérieur de la vue, utilisez une autre option 'lsview' pour obtenir les détails nécessaires, et généralement vous éloignez du stockage temporaire dans/tmp (bien que vous ayez besoin de mettre le cspec en cache quelque part). Un autre point à noter - vous voudrez vous assurer que vous avez fait un nettoyage manuel avant de laisser l'automatique lâche. Il ne devrait pas y avoir de caisse, par exemple. Sinon, écrivez le script pour refuser de laisser tomber la vue s'il y a des extractions.
Juste ajouté une ligne de commande plus générique. Je passerai en revue votre commentaire/question demain matin si vous en avez. – VonC