En Unix (vistas dinámicas), una técnica muy eficaz para eliminar archivos privados vista es dejar caer la vista. Preserva el cspec primero. También asegúrese de que no haya pagos en la vista. Luego quítelo y vuelva a crear uno nuevo (mismo nombre, la misma especificación, el mismo almacenamiento, pero no archivos privados hasta que los cree).
# 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
Todos los archivos privados de la vista se han ido, y ha minimizado el uso de su disco.
Si tiene la suerte de trabajar solo con un solo VOB, puede omitir la opción '-avo
' (todos los VOB). La redirección '2>/dev/null
' pierde los errores de las VOB inaccesibles. Tengo más de 100 VOB visibles pero inaccesibles en mi entorno, aparte de la docena más o menos accesibles que realmente uso.
Tenga en cuenta que si estuviera empaquetando esto como una secuencia de comandos 'rebuild.view
', tomaría el nombre de vista como argumento (trabajando desde fuera de la vista, no sería la vista actual), y luego podría hacer la limpieza dentro de la vista, use una opción diferente 'lsview' para obtener los detalles necesarios y, en general, evite el almacenamiento temporal en/tmp (aunque deberá almacenar en caché el cspec en algún lugar).
Otro punto a tener en cuenta: deseará asegurarse de haber realizado una limpieza manual antes de soltar la herramienta. No debería haber cajas, por ejemplo. Alternativamente, escriba la secuencia de comandos para rechazar la caída de la vista si hay algún pago.
Acaba de agregar una línea de comando más genérica. Voy a revisar tu comentario/pregunta mañana por la mañana si tienes alguno. – VonC