Archive for the ‘Oracle’ Category

Windows Batch para respaldo

viernes, junio 19th, 2009

Este es un archivo llamado backup.cmd que utilizo para respaldar una base de datos y el repositorio de subversion, estando programada para correr diariamente, primero extrae la fecha, crea una carpeta, y crea los backup dentro de la carpeta

FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
SET date=%yyyy%%mm%%dd%
mkdir d:\backup\%date%
exp system/password@SID file=d:\backup\%date%\ora_esquema%date%.dmp owner=esquema
"C:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe" dump D:\SubVersionRepo\proyecto > d:\backup\%date%\svn_proyecto%date%.dump

Eliminar registros repetidos

jueves, febrero 12th, 2009

Cuando existen registros repetidos dentro de una base de datos una de las formas de eliminarlos sería la siguiente:

DELETE FROM tabla
WHERE rowid not in
(SELECT MIN(rowid)
FROM tabla
GROUP BY columna_pk1, columna_pk2,...) ;
COMMIT;

Entendiendose que columna_pk1, columna_pk2, … son las columnas que forman parte de la clave primaria. Además solo asume repetición por clave primaria, en ningun caso revisa todas las columnas de la tabla.

Fuentes:
https://www.devx.com/tips/Tip/14665

https://www.remote-dba.cc/oracle_tips_duplicate_rows.htm

https://www.dba-oracle.com/t_delete_duplicate_table_rows.htm