Pré Requisitos para migração para o Novo Log de Auditoria.
ORACLE
Por questões de organização, segurança e performance, foi criada uma rotina que é executada no momento da migração para o Novo Log de Auditoria e a mesma faz a criação do Esquema TOTVSAUDIT e dos TABLESPACES TOTVSAUDIT_DADOS e TOTVSAUDIT_INDICES.
Os tablespaces serão criados nos mesmos diretórios de dados onde já existem os arquivos de dados dos tablespaces de sistema RM_DADOS e RM_INDICES. (Caso seja de sua preferência os tablespaces podem ser criados antecipadamente pela sua equipe de DBA's, assim pode-se definir um local diferente para os mesmos.)
Para esta migração é pré-requisito que o usuário que irá realizar a migração(RM) tenha perfil DBA e possua as seguintes permissões:
GRANT SELECT ON DBA_LOBS TO RM;
GRANT SELECT ON DBA_SEGMENTS TO RM;
É necessário também que o parâmetro do SGBD Oracle JOB_QUEUE_PROCESSES esteja com o valor maior que 100.
Para confirmar o valor do parâmetro execute o seguinte query:
SELECT name, value FROM v$parameter WHERE name = 'job_queue_processes';
Caso o usuário não atenda aos pré-requisitos acima, poderão ocorrer erros na conversão da Base de Dados para nova versão.
Testes de Homologação de Novas versões em Bases de Dados Oracle
A partir da versão 12.1.24 foi necessário se colocar uma ACTION que realiza algumas verificações a base de dados Oracle, caso o Novo Log já esteja em utilização.
Com isto sempre que for necessário se fazer um RESTORE do ambiente de produção em homologação é necessário que se faça de ambos os schemas RM e TOTVSAUDIT.
Assim o conversor não irá travar nas verificações devido a falta de objetos na base de dados.
Caso não seja possível fazer o RESTORE do schema TOTVSAUDIT, após realizar o RESTORE do schema RM deve-se desabilitar o Novo Log antes de proceder com a conversão.
SQL SERVER
Caso esteja sendo utilizado o Novo Log de Auditoria em MS SQL Server e aplicações em Delphi é necessário se atentar ao seguinte ponto:
Devido ao funcionamento do Delphi o parâmetro CONCAT_NULL_YIELDS_NULL e ANSI_WARNINGS devem estar ligados.
Este será o comportamento padrão do MS SQL Server em versões futuras de acordo com a Microsoft.
Parâmetro CONCAT_NULL_YIELDS_NULL
Parâmetro ANSI_WARNINGS
Este parâmetro deve ser alterado a nível de banco de dados, conforme exemplo abaixo:
Parâmetro CONCAT_NULL_YIELDS_NULL
USE [master]
GO
ALTER DATABASE [CorporeRM]* SET CONCAT_NULL_YIELDS_NULL ON WITH NO_WAIT
GO
Parâmetro ANSI_WARNINGS
USE [master]
GO
ALTER DATABASE [Corpore]* SET ANSI_WARNINGS ON WITH NO_WAIT
GO
* CorporeRM será o nome do Database em uso pela aplicação.