Você está na página 1de 19

Migração do

dicionário de
dados para o
banco
Marco Fritsch

2022/ Agosto
2

01

Dicionário de dados
Protheus
Dicionário de dados Protheus 3

O que é? Porquê migrar? Quem pode migrar? Será obrigatório migrar?


Conjunto de informações - Para facilitar a administração Todos os clientes que atendem os A partir da release 12.1.2210, a
reunidas em metadados com do ambiente; requisitos abaixo: migração dos dicionários do
atributos e definições da - Reduzir os pontos de falha; Protheus para o banco de dados
estrutura de dados do - Maior performance nos - Release: 12.1.23 ou superior; será obrigatória. O uso dos
Protheus. programas que fazem acesso - LIB: versão 20190131 ou dicionários em arquivos locais não
ao dicionário de dados; superior; será mais suportado.
- Permitir que o sistema esteja - Binário: Appserver 170117A -
mais aderente às novas Lobo Guará ou superior; Se atente a mudança na
tecnologias. - DBAccess: Build 20181212 ou nomenclatura de releases no
superior; Protheus:
- License Server Virtual: igual
ou superior a 01.03.013
- Ctree Server: Não é mais
obrigatório
Dicionário de dados Protheus 4

Usuários e grupos – Um conjunto de 40 novas tabelas

Novas Tabelas
O arquivo de usuários (SIGAPSS), menus, help, profile de usuário,
sigamat.emp, XX8 e XX9, layout do TReports agora estão no banco de
dados, cada um com um conjunto específico de tabelas.

Menus – Normalizados em 5 novas tabelas

Integridade do sistema:
Nativo desta implementação, as tabelas
de usuários possuem um checksum dos
seus registros. Isto impossibilita a Arquivos de empresas – 3 novas tabelas
alteração dos dados de forma indevida.
5

02

Requisitos mínimos
Pré-Requisitos License Server Virtual 6

License Server Virtual:


- Versão igual ou superior a 01.03.013;
- Numeração automática pelo License Server Virtual;
- Definir uma SpecialKey única para cada ambiente (Recomendação).

Como realizar a atualização do Como habilitar a numeração Como definir e configurar a


License Server Virtual: automática pelo License Server SpecialKey:
Virtual:
Pré-Requisitos Protheus 7

Protheus:
- Release: 12.1.23 ou superior, para PDV deve estar na release 12.1.25;
- LIB: versão 20190131 ou superior;
- Binário: Appserver 170117A - Lobo Guará ou superior;
- DBAccess: Build 20181212 ou superior;
- Ctree Server: Não é mais obrigatório
- Chave TOPMEMOMEGA configurada no arquivo appserver.ini do Servidor de Aplicação;
- Obrigatoriedade do menu do Configurador (SIGACFG.XNU) estar dentro do StartPath (pasta System na
configuração padrão).

Como migrar a release do Como atualizar os demais Chave TOPMEMOMEGA:


Protheus: componentes:
Pré-Requisitos Protheus 8

Troca de senha e violação de checksum:


- Recomendado configurar o envio de senha por e-mail, no caso de esquecimento da senha do usuário admin
isso torna o reset mais rápido e seguro;
- Novo processo para alteração da senha do usuário admin no caso de esquecimento e não configuração do
envio de senha por e-mail;
- Novo processo para restaurar o checksum do usuário admin quando efetuado uma alteração indevida no
sistema.

Configurar o envio de senha Como resetar a senha em caso Restaurar o Checksum do


por e-mail: de esquecimento pela TOTVS: usuário admin:
9
Pré-Requisitos CodeAnalysis

Análise estática Saneamento


Análise dos fontes enviados Correção dos erros identificados
(Customizados) no Totvs CodeAnalysis

Verificação Token
Verificação dos bugs encontrados Com 100% dos bugs corrigidos, é
(Blocker e Minor). necessário solicitar o token de
Avaliação dos codesmells autorização para migração
informando o TOTVS ID, URL do
Projeto e print dos bugs corrigidos

Documentação:
10

Exemplo de um código que deixa de funcionar (ISAM)


- A construção com DbUseArea deve ser evitada devido a troca
de nome e local de criação dos arquivos de infraestrutura

Solução
- Substituição, caso necessário, pela função OpenSM0
11

Exemplo de um código (ISAM)


- Com o uso do dicionário no banco de dados a lógica ao lado
perde performance (Vide código ao lado esquerdo da imagem)

Solução
- Criação de expressão via query (Vide código ao lado direito da
imagem)

- Funções de acesso ao - Comunidade para ajuda


- dicionário de dados e dúvidas – DEV Fórum
Ponto importante: X3_RESERV, X3_USADO e X3_OBRIGAT 12

Campos (X3_RESERV, X3_USADO e X3_OBRIGAT) deixam de ser binários e


passam a ser do tipo texto. Não devem sofrer leitura diretamente.

Exemplo de instrução com erro:

ALLTRIM(UPPER(SX3-> X3_OBRIGAT)) <> “€€€€€€€€€€€€€€”


Pré-Requisitos Infraestrutura e banco de dados 13

Pontos de atenção:
- Validar se a infraestrutura provisionada atende um sizing mínimo para a quantidade de conexões atual;
- Redimensionar os recursos do servidor de banco de dados – Há uma estimativa de 30% a mais de consumo de recursos no banco de dados;
- Maior quantidade de conexões com o banco de dados, para cada usuário conectado, temos 2 conexões não transacionadas além da conexão
transacionada;
- Manutenções recorrentes passam a ser ainda mais necessárias no servidor de banco de dados pós migração.

Sizing Ambientes Ambientes em Latência entre Collation e


mínimo: Virtualizados: nuvem: servidores: Character Set:

Bancos: Ferramentas Ferramentas Latência entre DBAccess


MSSQL: Oracle: servidores: distribuído:
14

03

Migrando o dicionário
para o banco de dados
15

Migrando o dicionário para o


banco de dados
Migrando o dicionário de dados Protheus 16

Documentações de Apoio e logs:


- Caso surja algum erro no processo de importação do dicionário para o banco de dados que impeça a
finalização com sucesso da rotina, você pode executar novamente o MPSYSTODB e selecionar a opção de
restaurar sistema, tornando novamente ao estado anterior a migração;
- Caso alguma tabela de dicionário de dados futuramente tenha algum índice perdido, você pode executar a
rotina FWREBUILDINDEX para recriar o mesmo;
- Arquivos de LOGs importantes (console.log, dbaccess.log, dbconsole.log e arquivo migerror.log localizado
no STARTPATH (System no padrão).

Migrar o dicionário para o Inicializar uma nova base com FWREBUILDINDEX:


banco de dados: dicionário no banco de dados:
Migrando o dicionário de dados Protheus 17

Atualização e restore dos menus:


- Ao migrar a release, habitualmente realizamos a substituição dos menus padrão na system, agora o mesmo
pode ser atualizado no processo de UPDDISTR (systemload/updmenu);
- Também possível atualizar um menu completo manualmente;
- Ao realizar a alteração de um menu pelo cadastro de menus é gerado um backup das alterações realizadas,
e elas podem ser restauradas caso necessário.

Atualizar menus na migração Atualizar e restaurar menus no


de release: bando de dados:
Download da apresentação: 18
OBRIGADO
Marco Fritsch
Framework Protheus
Linkedin: linkedin.com/in/marco-fritsch-187218176
marco.fritsch@totvs.com.br

• Tecnologia + Conhecimento são nosso DNA.


• O sucesso do cliente é o nosso sucesso.
• Valorizamos gente boa que é boa gente.

totvs.com totvs.store

@totvs @totvs

/totvs company/totvs #SOMOSTOTVERS

Você também pode gostar