Árvore de páginas

Versões comparadas

Chave

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

...

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:

  • Parar os serviços/processos do DBAccess
  • Abrir um client Oracle de sua escolha (sqlplus, isql, Oracle SQL Developer, etc...)
  • Conectar na base de dados do Protheus utilizando o mesmo usuário utilizado pelo DBAccess
  • Executar o script abaixo através do client conectado a base de dados do Protheus:
    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?
    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;