Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Framework - Linha Datasul - TEC - Alteração de Schema de banco de dados Progress Openedge para Protheus

time.png Tempo aproximado para leitura: 00:05:50 min

Dúvida
Qual o procedimento para alteração do schema para bancos de dados Progress com dados pré-existentes?

Ambiente
Framework - Framework (Linha Datasul) - Progress OpenEdge - Todas as versões

Solução
Não há um procedimento para alteração dos dados entre schemas em bancos de dados Progress Openedge. Neste caso, será necessário exportar os dados e importá-los em um novo banco de dados, já no schema correto. Neste artigo, demonstraremos como alterar o schema de PUB para GFE - Gestão de Frete Embarcador. O procedimento abaixo listará os passos necessários para realizar esta alteração:

1. Exporte as definições do banco de dados de origem. Acesse o proenv e execute o comando abaixo no prompt de comando, alterando os parâmetros de conexão para o banco de dados de origem:

sqlschema -o P11_PRO.dfsql -t %.% -u pub -a pub progress:T:localhost:45001:P11_PRO


2. Acesse a ferramenta Data Administration e exporte as definições e os valores correntes das sequências do banco de origem. Este processo gerará os arquivos _seqdefs.df e _seqvals.d. Este procedimento é realizado através do menu Admin, Dump Data and Definitions, Sequence Definitions e Sequence Current Values;

3. Crie os scripts para exportar e importar os dados das tabelas via dump binário. Neste momento execute os scripts para exportar os dados. Este procedimento está descrito ao final deste artigo;

4. Crie um novo diretório para armazenar o novo banco de dados;

5. Neste novo diretório, gere um arquivo de estrutura com extensão .st, já contemplando uma Storage Area Tipo 2 para armazenar as tabelas do Protheus:

#
b ./P11_PRO.b1
#
d "Schema Area":6,64;1 ./P11_PRO.d1
#
d "dados":7,64;64 ./P11_PRO_7.d1

Informações adicionais sobre a configuração de Storage Area tipo 2 e requisitos de bancos de dados Progress para tecnologia Protheus estão disponíveis ao final deste artigo;

6. Crie a base de dados com tamanho de bloco de 8Kb:

prodb P11_PRO $DLC/empty8


7. Habilite o recurso Large Files para prevenir problemas relacionados ao crescimento da base de dados:

proutil P11_PRO -C enablelargefiles


8. Edite o arquivo das definições P11_PRO.dfsql criado no passo 1 e substitua as strings PUB. por GFE., para que os objetos sejam criados abaixo do novo owner;

9. No mesmo arquivo substitua também as strings Schema Area por dados, para que os objetos sejam criados na Storage Area tipo 2;

10. Inicie o novo banco de dados, incluindo no script de carga uma referência para o script DLC/bin/sql_env. Detalhes deste procedimento estão descritos ao final deste artigo;

11. Acesse o banco via Data Administration e crie os usuários sysprogress e gfe. Este procedimento pode ser realizado através do menu Admin, Security, Edit User List;

12. Ainda através do Data Administration importe as definições das sequencias e seus valores correntes, gerados no passo 2;

13. Conceda as devidas permissões para o usuário GFE através do seguinte comando:

sqlexp -db P11_PRO -H localhost -S 45001 -user sysprogress -password sysprogress
grant resource to gfe;
grant dba to gfe;
commit;


14. Importe o arquivo com as definições das tabelas e índices através do seguinte comando:

sqlexp -db P11_PRO -H localhost -S 45001 -user gfe -password gfe -infile P11_PRO.dfsql


15. Execute o script para importar os dados das tabelas via load binário, o qual foi criado no passo 3 deste artigo. Como houve troca de schema o comando para importação solicita a confirmação da operação. Para cada tabela será solicitada uma confirmação. Pode-se confirmar a cada vez em que a mensagem é solicitada ou criar um arquivo texto com um nome qualquer e no seu conteúdo uma única linha com o valor yes. Esse arquivo deve ser incluído como parâmetro de entrada para a execução do comando para cada tabela. Segue abaixo um exemplo, supondo que o nome deste arquivo seja confirma.txt:

proutil P11_PRO -C load AA3010.bd < confirma.txt


16. Após a conclusão do processo de importação, gere um tabanalys da base de origem e da nova base, comparando os resultados dos registros de ambas, para certificar-se de que os valores estejam iguais, através do comando abaixo:

proutil P11_PRO -C load tabanalys > p11_pro.dba


17. Execute o procedimento de reindexação do banco de dados, através do comando abaixo:

proutil P11_PRO -C idxbuild all -TB 31 -TM 32 -SG 64


Saiba mais
Informações adicionais nos artigos:
Framework - Linha Datasul - TEC - Requisitos do banco de dados Progress OpenEdge para tecnologia Protheus
How to generate scripts to run binary dump and load for all tables?
Framework - Linha Datasul - TEC - Como criar uma Storage Area tipo II

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _