Pré Requisitos para migração e utilização do 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, 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 utilização é pré-requisito que o usuário possua as seguintes permissões:
SELECT ANY DICTIONARY, SELECT ON DBA_LOBS e SELECT ON DBA_SEGMENTS.
É necessário também que o parâmetro do SGBD Oracle JOB_QUEUE_PROCESSES esteja com o valor superior a 100.
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.
A partir da versão 12.1.24 foi implementada uma nova ACTION que realiza algumas verificações na base de dados Oracle, a mesma tem a funcionalidade de verificar se existem problemas no Schema ou objetos do Novo Log de Auditoria, para que não ocorra problemas na Conversão da base de dados.
Caso apresente o erro abaixo durante a conversão, deve-se realizar as seguintes verificações.
As verificações acima devem ser executadas com o Owner do Sistema RM no banco de dados. (Padrão, Schema RM)
Testes de Homologação de Novas versões em Bases de Dados Oracle
Caso seja necessário restaurar uma base de dados Oracle em um ambiente de homologação, utilizando-se das ferramentas IMP ou IMPDP, deve-se restaurar o Schema RM, após o final da restauração deve-se executar a Stored Procedure p_FixNovoLog.(Disponível nas versões 12.1.22 e superiores, verificar junto ao suporte o Patch que possui esta feature disponível)
Comando: EXEC p_FixNovoLog;
Esta nova Stored Procedure faz uma verificação e cria ou recria os objetos necessários para o correto funcionamento do Novo Log de Auditoria como Schema de Auditoria, Tabelas, Grants, Etc.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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.
Observações sobre Grants no Oracle para o user RM e user TOTVSAudit:
Na versão 12.1.31 não utilizamos mais sinônimos, contudo o RM precisa ter atribuição de DBA para execução/configuração do TOTVSAudit.
Na versão 12.1.32 foi retirada a atribuição de DBA para o RM, porém, é necessário atribuir alguns grants para execução/configuração do TOTVSAudit:
Sugestão de comandos para adequação do RM nesta versão:
GRANT ALTER ANY TABLE, CREATE ANY TABLE, DROP ANY TABLE, DELETE ANY TABLE, SELECT ANY TABLE, INSERT ANY TABLE, CREATE ANY INDEX, DROP ANY INDEX, CREATE ANY SEQUENCE, DROP ANY SEQUENCE, SELECT ANY SEQUENCE TO RM;