Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Cloak


As versões de DBAccess anteriores a 17.2.1.5, não estavam deletando/removendo as sequences criadas para tabelas temporárias e consequentemente deixando sequences órfãs no SGDB.

Para remover as sequences órfãs, execute o procedimento abaixo:

  1. Parar os serviços/processos do DBAccess
  2. Abrir um client Oracle de sua escolha (sqlplus, isql, Oracle SQL Developer, etc...)
  3. Conectar na base de dados do Protheus utilizando o mesmo usuário utilizado pelo DBAccess
  4. Executar o script abaixo através do client conectado a base de dados do Protheus:


sqltrue
Expandir
title6 - Como remover sequences órfãs no Oracle?

As versões de DBAccess anteriores a 17.2.1.5, não estavam deletando/removendo as sequences criadas para tabelas temporárias e consequentemente deixando sequences órfãs no SGDB.

Para remover as sequences órfãs, execute o procedimento abaixo:

  1. Parar os serviços/processos do DBAccess
  2. Abrir um client Oracle de sua escolha (sqlplus, isql, Oracle SQL Developer, etc...)
  3. Conectar na base de dados do Protheus utilizando o mesmo usuário utilizado pelo DBAccess
  4. Executar o script abaixo através do client conectado a base de dados do Protheus:

Bloco de código
languagesql
linenumberstrue
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;