Tiempo aproximado de lectura 00:05:00 min
Duda
¿Cómo eliminar secuencias orphaned en Oracle?
Entorno
Cross Segmentos - TOTVS Backoffice (Linea Protheus) - MI - Configurador (SIGACFG) - A partir de la versión 12.1.2410
Solución
Las versiones de TOTVS | DBAccess anteriores a la 17.2.1.5 no eliminaban/borraban las secuencias creadas para tablas temporales y, en consecuencia, dejaban secuencias huérfanas en el SGDB.
Para eliminar las secuencias huérfanas, siga el procedimiento que se indica a continuación:
Detenga los servicios/procesos de TOTVS | DBAccess.
Abra un cliente Oracle de su elección (sqlplus, isql, Oracle SQL Developer, etc.).
Conéctese a la base de datos utilizando el mismo usuario que utiliza TOTVS | DBAccess.
Ejecute el siguiente script a través del cliente conectado a la base de datos:
1 2 3 4 5 6 7 8 9 10 | DECLARE cStmt VARCHAR(128); CURSOR c IS SELECT SEQUENCE_NAME FROM ALL_SEQUENCES WHERE SEQUENCE_OWNER = USER AND REGEXP_LIKE(SEQUENCE_NAME, '^T.*_[0-9]+_SEQ');BEGIN FOR it IN c LOOP cStmt := 'DROP SEQUENCE ' || it.SEQUENCE_NAME; EXECUTE IMMEDIATE cStmt; END LOOP;END; |
0 Comentarios