jueves, 22 de diciembre de 2016

Borrar tabla de auditoria

Codigo para eliminar 25 millones de registros de la tabla de auditorias_columnas mediante su primary key. No causa mucho consumo ya que hace commit cada 1000 registros.
#/bin/bash
i=1
f=25000
while [ $i -le $f ]
do
 j=$(($i*1000))
 k=$(($j+999))
 p=$(($i*100/$f))
 echo "$i : $j-$k : $p%"
 sqlplus -silent user/password << EOF
 set feedback off
 set define off
 delete from auditorias_columnas where audi_id between $j and $k;
 commit;
 exit;
EOF
 i=$(($i+1))
done