DB2 - Listar ultimo Backup generado en una Base de Datos

select substr(HOST_NAME,1,11) as SERVER,char(session_user,8) as INSTANCIA,char(current_server,9) as DB, substr(firstlog,1,13) as "StartLog", substr(lastlog,1,13) as "EndLog",
substr(location,1,36) as Ruta,
case(operationType)
when 'F' then 'Offline Full'
when 'N' then 'Online Full'
when 'I' then 'Offline Incremental'
when 'O' then 'Online Incremental'
when 'D' then 'Offline Delta'
when 'E' then 'Online Delta'
else '?'
end as TIPOBACKUP,
case objecttype
when 'D' then 'DataBase'
when 'P' then 'TableSpace'
when 'T' then 'Table'
end OBJETO,
date(timestamp(end_time)) as "FECHA",
time(timestamp(start_time)) as "H-INICIO",
time(timestamp(end_time)) as "H-FIN",
timestampdiff(4,char(timestamp(end_time)-timestamp(start_time))) as "TOTAL(min)",
case when (SQLCODE < 0 ) then char('ERROR',5)
else 'OK' end as Status
from SYSIBMADM.DB_HISTORY,sysibm.sysdummy1,TABLE(SYSPROC.ENV_GET_SYS_INFO())
where operation = 'B' ORDER BY "FECHA" DESC FETCH FIRST 1 ROWS ONLY;

Db2 History Backup Status



Oracle Spool desde sqlplus Generar resultado como tabla

#--Generar resultado como tabla separador '|' desde sqlplus set serveroutput on size 999999 set linesize 5000 set colsep '|' set echo on set feedback on set pagesize 5000 set trimspool on set heading on spool SALIDA_TABLA.txt; start Consulta_Tabla.sql; spool off MARCACION|PROCESO|CASO|DESC| ------------|----------|----------|--------------|         9139|       706|     83741|         82499|        46722|       525|     83741|         82499|      
#--Generar resultado como tabla separador ';' desde sqlplus
set serveroutput on size 999999 set colsep ';' set echo off set feedback on set pagesize 32767 set trimspool on set heading on set trimout   on set LINESIZE  32767 spool on spool ConsultaTabla.csv SELECT    * FROM tabla_pruebas;
spool off;

Cambiar horario de UTC a Colombia en EC2/Linux/AWS

Cambiar horario de UTC a Colombia en EC2/Linux/AWS

Cuando se instala una máquina en EC2 en AWS el date sale indicando que la hora es en UTC entonces no concuerda con la hora de colombia y los cront que configuremos no van a funcionar como antes. Para esto teniendo precaución de que se puede cambiar antes con los dueños del servicio, utilizamos el comando 

[ec2-user~]$timedatectl list-timezones


Estamos decididos al cambio ejecutamos

[ec2-user~]$ sudo timedatectl set-timezone America/Bogota


Comprobamos el cambio con el comando 
[ec2-user~]$ date


Esto procedimiento aplica si se requiere otra zona horaria, solo es saber el valor que esta en la lista anterior.





Como restaurar BD de MongoDB

Como restaurar BD de Mongo 

La base de datos TEST es donde se quiere restaurar los archivos que tenemos del backup. 

mongorestore --host=localhost --port=27021 --authenticationDatabase="admin" -u="dba" -p="*****" --db test  /backup_mongodb/test/ 





Este es el mensaje que genera el log del restore



Crear Backup de BDs de MongoDB

Crear Backup de BDs de MongoDB

mongodump --host=localhost --port=27021 --authenticationDatabase="admin" -u="dba" -p="****" --out=/backup_mongodb




Sino se tiene autenticación habilitada

mongodump --host=localhost --port=27021 --out=/backup_mongodb




MongoDB en replicaset para pruebas

Mongo con Replicaset en 1 solo Nodo

con usuario mongod vamos a editar el archivo de configuración que trae la instalación.
vi /etc/mongod.conf

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# Where and how to store data.
storage:
  dbPath: /mongo_data/single/
  journal:
    enabled: true
  directoryPerDB: true
  wiredTiger:
    engineConfig:
       cacheSizeGB: 1
       journalCompressor: snappy
       directoryForIndexes: true

# how the process runs
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
  port: 27024
  bindIp: 0.0.0.0

#security:
#  authorization: enabled #Se modifica al final cuando se haya creado el usuario de autenticacion

#operationProfiling:

replication:
  #oplogSizeMB: 1024
  replSetName: mongodbsingle
#sharding:

[root@vm-l-01 etc]# ls -larth mongo*
-rw-r--r-- 1 mongod mongod 711 Jul 14 19:52 mongod.conf


Iniciar servicio
[root@vm-l-01 etc]# systemctl start  mongod
[root@vm-l-01 etc]# systemctl status  mongod


[root@vm-l-01 etc]# systemctl stop  mongod

--con usuario mongod
[mongod@vm-l-01 ~]$ mongo --host localhost:27024
MongoDB shell version v4.2.14-rc0

--Creamos el Nodo que va a utilizar la replication
> rs.initiate({_id : "mongodbsingle",members: [{ _id : 0, host : "192.168.9.204:27024" }]})
{ "ok" : 1 }

--Revisamos el estado de los nodos de la replica
mongodbsingle:PRIMARY> rs.status()


{
    "set" : "mongodbsingle",
    "date" : ISODate("2021-07-14T19:49:23.275Z"),
    "myState" : 1,
    "term" : NumberLong(1),
    "syncingTo" : "",
    "syncSourceHost" : "",
    "syncSourceId" : -1,
    "heartbeatIntervalMillis" : NumberLong(2000),
    "majorityVoteCount" : 1,
    "writeMajorityCount" : 1,
    "optimes" : {
        "lastCommittedOpTime" : {
            "ts" : Timestamp(1626292154, 1),
            "t" : NumberLong(1)
        },
        "lastCommittedWallTime" : ISODate("2021-07-14T19:49:14.037Z"),
        "readConcernMajorityOpTime" : {
            "ts" : Timestamp(1626292154, 1),
            "t" : NumberLong(1)
        },
        "readConcernMajorityWallTime" : ISODate("2021-07-14T19:49:14.037Z"),
        "appliedOpTime" : {
            "ts" : Timestamp(1626292154, 1),
            "t" : NumberLong(1)
        },
        "durableOpTime" : {
            "ts" : Timestamp(1626292154, 1),
            "t" : NumberLong(1)
        },
        "lastAppliedWallTime" : ISODate("2021-07-14T19:49:14.037Z"),
        "lastDurableWallTime" : ISODate("2021-07-14T19:49:14.037Z")
    },
    "lastStableRecoveryTimestamp" : Timestamp(1626292114, 4),
    "lastStableCheckpointTimestamp" : Timestamp(1626292114, 4),
    "electionCandidateMetrics" : {
        "lastElectionReason" : "electionTimeout",
        "lastElectionDate" : ISODate("2021-07-14T19:48:34.026Z"),
        "electionTerm" : NumberLong(1),
        "lastCommittedOpTimeAtElection" : {
            "ts" : Timestamp(0, 0),
            "t" : NumberLong(-1)
        },
        "lastSeenOpTimeAtElection" : {
            "ts" : Timestamp(1626292114, 1),
            "t" : NumberLong(-1)
        },
        "numVotesNeeded" : 1,
        "priorityAtElection" : 1,
        "electionTimeoutMillis" : NumberLong(10000),
        "newTermStartDate" : ISODate("2021-07-14T19:48:34.036Z"),
        "wMajorityWriteAvailabilityDate" : ISODate("2021-07-14T19:48:34.042Z")
    },
    "members" : [
        {
            "_id" : 0,
            "name" : "192.168.9.204:27024",
            "health" : 1,
            "state" : 1,
            "stateStr" : "PRIMARY",
            "uptime" : 543,
            "optime" : {
                "ts" : Timestamp(1626292154, 1),
                "t" : NumberLong(1)
            },
            "optimeDate" : ISODate("2021-07-14T19:49:14Z"),
            "syncingTo" : "",
            "syncSourceHost" : "",
            "syncSourceId" : -1,
            "infoMessage" : "could not find member to sync from",
            "electionTime" : Timestamp(1626292114, 2),
            "electionDate" : ISODate("2021-07-14T19:48:34Z"),
            "configVersion" : 1,
            "self" : true,
            "lastHeartbeatMessage" : ""
        }
    ],
    "ok" : 1,
    "$clusterTime" : {
        "clusterTime" : Timestamp(1626292154, 1),
        "signature" : {
            "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
            "keyId" : NumberLong(0)
        }
    },
    "operationTime" : Timestamp(1626292154, 1)
}

--Listar las BD de Inicio
mongodbsingle:PRIMARY> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB











--Pasamos a admin
mongodbsingle:PRIMARY> use admin
switched to db admin

--Creamos el usuario
mongodbsingle:PRIMARY> db.createUser( { user: "dba", pwd: "dba2021*", roles: [ { role:"root", db:"admin" } ] } )
Successfully added user: {
    "user" : "dba",
    "roles" : [
        {
            "role" : "root",
            "db" : "admin"
        }
    ]
}
mongodbsingle:PRIMARY> show users
{
    "_id" : "admin.dba",
    "userId" : UUID("a35e5a67-06d3-4a63-a4a4-9f3408841f95"),
    "user" : "dba",
    "db" : "admin",
    "roles" : [
        {
            "role" : "root",
            "db" : "admin"
        }
    ],
    "mechanisms" : [
        "SCRAM-SHA-1",
        "SCRAM-SHA-256"
    ]
}
mongodbsingle:PRIMARY> exit
bye

--Habilitar la autenticacion
[root@vm-l-01 /]# systemctl stop  mongod
[root@vm-l-01 /]# vi /etc/mongod.conf
--descomentar las lineas
security:
  authorization: enabled

--Volver a subir servicio de MongoDB
[root@vm-l-01 /]# systemctl start mongod
[root@vm-l-01 /]# systemctl status mongod

[mongod@vm-l-01 ~]$ mongo -u dba --host localhost:27024
pwd:*****

---Ver el alert de la BD
[mongod@vm-l-01 mongodb]$ tail -300f /var/log/mongodb/mongod.log








---Probar conexión por herramienta MongoDB Compass








Cancelar Sesiones con scripts en RDS AWS

Cancelar Sesiones con scripts en RDS AWS

Cuando tenemos bases de datos oracle en AWS en momentos nos piden cerrar todas las sesiones INACTIVE o ACTIVE, cuando es una es muy facil, pero cuando son muchas sesiones se debe recurrir a instrucciones que nos ayuden a ganar tiempo.

SQL> select s.username, s.status, count(1) from v$process p, v$session s where paddr(+)=addr group by s.status, s.username order by 1;

USERNAME        STATUS   COUNT(1)
------------------------------ -------- ----------
AWSDBA        ACTIVE 1
AWSDBA        INACTIVE 1
APP            INACTIVE 30
RDSADMIN        INACTIVE 1

Podemos utilizar el script con DISCONNECT
SQL> select status,OSUSER,USERNAME,'EXEC rdsadmin.rdsadmin_util.disconnect('||''||SID||','||serial#||''||' );  ' cadena  from v$session  where status like '%&STATUS%' AND USERNAME  like '%&USER%' ;


INACTIVE    jboss APP
SQL> EXEC rdsadmin.rdsadmin_util.disconnect(3866,5704 );


Podemos utilizar el script con KILL
SQL> select status,OSUSER,USERNAME,'begin rdsadmin.rdsadmin_util.kill(sid=> '||''||SID||',serial =>'||serial#||''||' );end;  ' cadena  from v$session  where status like '%&STATUS%' AND USERNAME  like '%&USER%' ;

SQL> begin rdsadmin.rdsadmin_util.kill(51,59312,'IMMEDIATE');end;
  2  /



Convertir SCN a Marca de Tiempo (scn_to_timestamp)

Convertir SCN a Marca de Tiempo (scn_to_timestamp)

Buscando información me intereso este post importante para temas de recuperación de datos tomado y traducido en google "Vi la buena función a continuación mientras leía sobre la sección de bloqueo y pestillos del Libro del Sr. Thomas Kytes (Expert Oracle Architecture Architecture 9i y 10g Programming Techniques and Solutions) y me dije a mí mismo que tenía que compartirlo para personas como yo. 

Si conoce el SCN (número de cambio del sistema), puede obtener su valor de marca de tiempo (dentro de aproximadamente +/– 3 segundos) mediante la función scn_to_timestamp. Después de mirar el manual para obtener más información, vi otras dos buenas funciones sobre scn. Todos están bajo el paquete DBMS_FLASHBACK y no están disponibles para las versiones anteriores a 10 g. Encontré estas funciones útiles para problemas de recuperación de datos, problemas de recuperación y problemas de flashback."



SQL> select TO_CHAR(DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER) from dual;


TO_CHAR(DBMS_FLASHBACK.GET_SYSTEM_CHANGE
----------------------------------------
12282276930740


Convertir a Fecha y hora

SQL> select scn_to_timestamp(12282276930740) as timestamp from dual; ---Valor anterior

TIMESTAMP
---------------------------------------------------------------------------
05-JUN-20 02.39.34.000000000 AM


Convertir de Fecha y Hora a SCN

SQL> select TO_CHAR(timestamp_to_scn(to_timestamp('05/06/2020 02:39:34','DD/MM/YYYY HH24:MI:SS'))) as scn from dual;

SCN
----------------------------------------
12282276930737





Resolver atraso de archive entre PRIMARY y STANDBY - Dataguard

Resolver atraso de archive entre PRIMARY y STANDBY - Dataguard

Una base de datos de StandBy se sincroniza con la primaria mediante la aplicación continua de registros de archivo de una base de datos primaria.
Cuando faltan los registros en espera, hay menos de 10-15 números. Podemos enviar los registros que faltan en la base de datos en espera desde la base de datos primaria mediante SCP / FTP y luego registrar los archivos de registro en espera para resolver el atraso.

Utilice la consulta a continuación para encontrar la direfencia de archivo en modo de espera:
SELECT ARCH.THREAD# "Thread", ARCH.SEQUENCE# "Last Sequence Received", APPL.SEQUENCE# "Last Sequence Applied", (ARCH.SEQUENCE# - APPL.SEQUENCE#) "Difference"
FROM (SELECT THREAD# ,SEQUENCE# FROM V$ARCHIVED_LOG WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY THREAD#)) ARCH,
(SELECT THREAD# ,SEQUENCE# FROM V$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY THREAD#)) APPL
WHERE ARCH.THREAD# = APPL.THREAD# ORDER BY 1;

   Thread Last Sequence Received Last Sequence Applied Difference
---------- ---------------------- --------------------- ----------
        1                 820398                820369         29

Última secuencia recibida Última secuencia aplicada:
SQL> SELECT THREAD#, MAX(SEQUENCE#) AS "LAST_APPLIED_LOG" FROM V$LOG_HISTORY GROUP BY THREAD#;

   THREAD# LAST_APPLIED_LOG
---------- ----------------
     1           820369

Copiar archive desde la BD PRIMARIA:
scp oracle@10.18.0.9:/backup/archive/PRD1/*820254* oracle@10.19.0.10:/backup/archive/STB1/

Registar el archive log en BD STANDBY:
SQL> alter database register logfile '/backup/archive/STB1/820254.arc'; 

logfile registered

Repita el mismo proceso para todos los archivos de registro que faltan en el modo de standby.



Tamaño de Base de Datos Oracle

Estos scripts retornan el tamaño de las Bases de Datos incluyendo data, temp, controlfile, redos.

#---Tamano-en-MB-#

SELECT  a.data_size_mb
       , b.temp_size_mb
       , c.redo_size_mb
       , d.controlfile_size_mb,
   a.data_size_mb
       + b.temp_size_mb
       + c.redo_size_mb
       + d.controlfile_size_mb "total_size in MB"
  FROM (SELECT SUM (BYTES) / 1024 / 1024 data_size_mb
       FROM dba_data_files) a,
       (SELECT NVL (SUM (BYTES), 0) / 1024 / 1024 temp_size_mb
          FROM dba_temp_files) b,
       (SELECT SUM (BYTES) / 1024 / 1024 redo_size_mb
          FROM SYS.v_$log) c,
       (SELECT SUM (block_size * file_size_blks)/1024/1024 controlfile_size_mb
          FROM v$controlfile) d;

DATA_SIZE_MB TEMP_SIZE_MB REDO_SIZE_MB CONTROLFILE_SIZE_MB total_size in MB
------------ ------------ ------------ ------------------- ----------------
      381448   20735.9922      1500             57.75     403741.742



#---Tamano-en-GB-#

SELECT  a.data_size_gb
       , b.temp_size_gb
       , c.redo_size_gb
       , d.controlfile_size_gb,
   a.data_size_gb
       + b.temp_size_gb
       + c.redo_size_gb
       + d.controlfile_size_gb "total_size in MB"
  FROM (SELECT SUM (BYTES) / 1024 / 1024 /1024 data_size_gb
       FROM dba_data_files) a,
       (SELECT NVL (SUM (BYTES), 0) / 1024 / 1024/1024 temp_size_gb
          FROM dba_temp_files) b,
       (SELECT SUM (BYTES) / 1024 / 1024/1024 redo_size_gb
          FROM SYS.v_$log) c,
       (SELECT SUM (block_size * file_size_blks)/1024/1024/1024 controlfile_size_gb
          FROM v$controlfile) d;


DATA_SIZE_GB TEMP_SIZE_GB REDO_SIZE_GB CONTROLFILE_SIZE_GB total_size in MB
------------ ------------ ------------ ------------------- ----------------
  372.507813   20.2499924   1.46484375        .056396484     394.279045


Monitorear Conexiones "Procesos" ejecutandosen en la Instancia de MySQL


Revisión Full de los procesos

SHOW FULL PROCESSLIST;

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND != 'Sleep' and command!='Binlog Dump';

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND != 'Sleep' and command!='Binlog Dump';

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND != 'Sleep' AND TIME >= 0;

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND != 'Sleep' AND TIME >= 0;

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND != 'Sleep' AND TIME >= 5;

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND != 'Sleep' AND TIME >= 5;

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND != 'Sleep' AND INFO LIKE '%UPDATE %';

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND != 'Sleep' AND INFO LIKE '%UPDATE %';

SELECT `ID`, `USER`, `HOST`, `DB`, `COMMAND`, `TIME`, `STATE`, LEFT(`INFO`, 51200) AS `Info` FROM `information_schema`.`PROCESSLIST`
where command <> 'sleep' order by time desc;

SELECT `ID`, `USER`, `HOST`, `DB`, `COMMAND`, `TIME`, `STATE`, LEFT(`INFO`, 51200) AS `Info` FROM `information_schema`.`PROCESSLIST` where command <> 'sleep' order by time desc;


SELECT `ID`, `USER`, `HOST`, `DB`, `COMMAND`, `TIME`, `STATE`, LEFT(`INFO`, 51200) AS `Info` FROM `information_schema`.`PROCESSLIST`
where command !='Sleep'
order by 6 desc;


SELECT `ID`, `USER`, `HOST`, `DB`, `COMMAND`, `TIME`, `STATE`, LEFT(`INFO`, 51200) AS `Info` FROM `information_schema`.`PROCESSLIST` where command !='Sleep' order by 6 desc;


Backup de Base de Datos MySQL

El instalador de MySQL trae por defecto dentro de las utilerías, un comando que nos sirve para realizar respaldos de datos en el servidor MySQL. Dicho comando es mysqldump.

El comando mysqldump se utiliza desde la terminal y recibe una serie de parámetros en los cuales podemos definir el realizar un respaldo completo de una base de datos específica ó tablas específicas dentro de una base de datos. Esto es muy útil cuando tenemos información crítica y deseamos implementar una tarea automática de respaldos.

Así como con el cliente de MySQL, el comando mysqldump necesita de un usuario que tenga los privilegios necesarios para extraer la información de la base de datos a respaldar.

La sintaxis básica del comando mysqldump es:


mysqldump -u [usuario] -p [base de datos] > [archivo de respaldo].bkp
La sintaxis del comando mysqldump para sacar todo lo de la Base de Datos a respaldo es:

mysqldump -u root -p -S/data_mysql/data1/mysql.sock_1 -B --add-drop-table --routines --triggers --events --create-options  mysql > /data_mysql/backup/bk_mysql.bkp

La sintaxis del comando mysqldump para ignorar tablas pesadas de la Base de Datos a respaldo es:

mysqldump -u root -p -S/data_mysql/data1/mysql.sock_1 -B --add-drop-table --routines --triggers --events --create-options --ignore-table=mysql.tabla_pesada mysql > /data_mysql/backup/bk_sin_tabla_pesada.bkp

Backup de 1 o mas Tablas de una Base de Datos en MySQL

Hacer Backup de 1 o mas Tablas de una Base de Datos en MySQL


mysqldump -p -uroot BasedeDatos  tabla1 tabla2 > /Backup/backup_tablas_consolidado_2018.bkp

Backup Full de una Base de Datos MySQL y Comprimirlo

Hacer un Backup Full de una Base de Datos MySQL y Comprimirlo


A disco Local:

mysqldump --add-drop-database --add-drop-table -B --create-options --log-error=/backup/errores_backup_full_BasedeDatos_29042019.log --routines --triggers -S/tmp/mysql1.sock -uroot -p BasedeDatos |gzip >/backup/BasedeDatos_29042019.gz


Ignoring query to other database - Error MySQL

Ignoring query to other database - Error

Nos puede pasar en algunas ocasiones que al querer conectarnos a la base de datos MySQL por Linux nos de el siguiente error: "Ignoring query to other database"


El problema:  "mysql -root -p -S/data1/mysql.sock_1"
Normalmente nos pasa a los que tenemos apuro y nos olvidamos de escribir bien la sintaxis.

La solución; "mysql -u  root -p -S/data1/mysql.sock_1"
Aquí podemos verificar que la diferencia de la primera con la segunda es la falta de la "u" antes del usuario de la base.

Tomado del enlace: http://codejd.blogspot.com/2015/04/ignoring-query-to-other-database-error.html

Depurar homes de Oracle y Grid con ADRCI


Exportamos las variables de Grid:

. oraenv
ORACLE_SID =  [] ?+ASM ó +ASM1 (depende del tipo de instalación)
ORACLE_HOME = [] ? /oracle/DB/dbhome_1

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH


for f in $( adrci exec="show homes" | grep -v "ADR Homes:" );
 do
 echo "Purging ${f}:";
 adrci exec="set home $f; purge -age 0 ;" ;
 done

Lo cual genera una salida como esta:

Purging diag/tnslsnr/bmbdpt01/listener:
Purging diag/asm/+asm/+ASM:
Purging diag/crs/bmbdpt01/crs:


Exportamos las variables de Base de Datos Oracle:

. oraenv
ORACLE_SID =  [] ?+BD1 ó +BD2 (Nombre de la Base de Datos)
ORACLE_HOME = [] ?/grid/GI/12.0.1

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH


for f in $( adrci exec="show homes" | grep -v "ADR Homes:" );
 do
 echo "Purging ${f}:";
 adrci exec="set home $f; purge -age 0 ;" ;
 done

Lo cual genera una salida como esta:

Purging diag/rdbms/BD1/BD1:
Purging diag/clients/user_oracle/host_2343385924_82: