Árvore de páginas


Ticket: 222071

Implementação: Alteração de dicionário para ambiente Datasul com base Oracle


Verifique se existem alterações de índice reportadas abaixo. Estas, quando aplicadas sobre tabelas de grande número de registros, geram tempos elevados de execução no processo de atualização do banco. Por este motivo, é necessário planejar a aplicação do mesmo. Recomenda-se a execução do processo de atualização primeiramente num ambiente de homologação, cópia da produção, para estimar o tempo que o processo poderá levar. É imprescindível que se faça um backup antes de aplicar o pacote.

 

Foram liberadas as seguintes alterações:

  

Banco: MGFIS

 

  1. Criação dos campos “dat-fim”, “dat-inic” na tabela “dwf-digita-cons-espec-padr”
  2. Alteração de posição e ordem dos campos da tabela "dwf-digita-cons-espec-padr".
  3. Alteração do formato dos campos "es-codigo", "it-codigo" para "x(25)" da tabela "dwf-digita-cons-espec-padr".
  4. Alteração do índice "dwfdgtcn_id2" da tabela "dwf-digita-cons-espec-padr".
  5. Alteração do formato do campo "it-codigo" para "x(25)" da tabela "dwf-correc".
  6. Alteração do campo "dat-estoq-final" para mandatório da tabela "dwf-correc-estoq".
  7. Alteração do formato do campo "it-codigo" para "x(25)" da tabela "dwf-correc-estoq".
  8. Alteração do índice "dwfcrrcs_id2" da tabela "dwf-correc-estoq".
  9. Alteração do formato dos campos "al-codigo", "es-codigo", "it-codigo" para "x(25)" da tabela " dwf-correc-insumo".
  10. Alteração do formato dos campos "cod-dest", "cod-orig" para "x(25)" da tabela "dwf-desmont-dest".
  11. Alteração do formato do campo "cod-orig" para "x(25)" da tabela " dwf-desmont-orig".
  12. Alteração do formato do campo " it-codigo" para "x(25)" da tabela "dwf-digita-correc".
  13. Alteração do campo "dat-estoq-final" para mandatório da tabela "dwf-digita-correc-estoq".
  14. Alteração do formato do campo " it-codigo" para "x(25)" da tabela "dwf-digita-correc-estoq".
  15. Alteração do índice "dwfdgtcb_id2" da tabela "dwf-digita-correc-estoq".
  16. Alteração do formato dos campos "al-codigo", "es-codigo", "it-codigo" para "x(25)" da tabela "dwf-digita-correc-insumo".
  17. Alteração do formato dos campos "cod-dest", "cod-orig" para "x(25)" da tabela "dwf-digita-desmont-dest".
  18. Alteração do formato do campo "cod-orig" para "x(25)" da tabela " dwf-digita-desmont-orig".
  19. Alteração do formato do campo "it-codigo" para "x(25)" da tabela " dwf-digita-estoq-escrit".
  20. Alteração do formato do campo "it-codigo" para "x(25)" da tabela "dwf-digita-fator-conv-unid".
  21. Alteração do índice " dwfdgtft_id2 " da tabela "dwf-digita-fator-conv-unid".
  22. Alteração do formato do campo "it-codigo" para "x(25)" da tabela "dwf-digita-ident-item".
  23. Alteração do índice "dwfdgtdn_id2" da tabela "dwf-digita-ident-item".
  24. Alteração do formato dos campos "al-codigo", "es-codigo", "it-codigo" para "x(25)" da tabela "dwf-digita-ind-terc-insumo".
  25. Alteração do índice "dwfdgtna_id2" da tabela "dwf-digita-ind-terc-insumo".
  26. Alteração do formato do campo "it-codigo" para "x(25)" da tabela "dwf-digita-ind-terc-itens".
  27. Alteração do índice "dwfdgtnd_id2" da tabela "dwf-digita-ind-terc-itens".
  28. Alteração do formato dos campos "al-codigo", "es-codigo", "it-codigo" para "x(25)" da tabela "dwf-digita-insumo-consum".
  29. Alteração do formato do campo "it-codigo" para "x(25)" da tabela "dwf-digita-itens-produz".
  30. Alteração do formato dos campos " cod-item-dest", " cod-item-orig" para "x(25)" da tabela " dwf-digita-outr-mov-inter".
  31. Alteração do formato do campo "it-codigo" para "x(25)" da tabela "dwf-digita-reproces".
  32. Alteração do formato dos campos "es-codigo", "it-codigo" para "x(25)" da tabela " dwf-digita-reproces-consum".
  33. Alteração do formato do campo "it-codigo" para "x(25)" da tabela "dwf-estoq-escrit".
  34. Alteração do formato dos campos "al-codigo", "es-codigo", "it-codigo" para "x(25)" da tabela "dwf-ind-terc-insumo".
  35. A Alteração do formato dos campos "al-codigo", "es-codigo", "it-codigo" para "x(25)" da tabela "dwf-insumo-consum".
  36. Alteração do formato do campo "it-codigo" para "x(25)" da tabela "dwf-itens-produz".
  37. Alteração do formato dos campos "cod-item-dest", "cod-item-orig" para "x(25)" da tabela " dwf-outr-mov-inter".
  38. Alteração do formato do campo "it-codigo" para "x(25)" da tabela "dwf-reproces".
  39. Alteração do formato dos campos "es-codigo", "it-codigo" para "x(25)" da tabela "dwf-reproces-consum".

 

  1. AMBIENTE COM BANCOS DE DADOS UNIFICADOS

 

Foram liberados os seguintes arquivos que devem ser aplicados de acordo com o ambiente seguindo a tabela abaixo:

Tabela Unificado

 

Ambiente

Arquivo .df/.sql

Nome do Banco

Gerenciador do Banco de dados

Diretório

Observação

EMS206BMultiIdiomaOracleProgress10

mgfis-orap10-multi-20161216.df

shmgfis

Oracle

Dataserver

data_dic

 

 

mgfis-orap10-multi-20161216.sql

mgfis

Oracle

data_dic

 

Obs.: os bancos citados na coluna “Nome do Banco” que começam com “sh” são schema holders.

 

Os procedimentos para atualização de dicionário são:

 

1.1  SCHEMA HOLDER UNIFICADO

O primeiro passo é identificar o <nome-do-banco-unificado> que contém o nome do banco lógico (alias) que sofreu alterações, conforme a quadro acima “Tabela Unificado”.

Caso a unificação de seu ambiente não siga o padrão Datasul, editar o programa que cria os alias dos bancos (alias.p ou menu_ems.p por exemplo, este pode ser identificado através da edição das propriedades do atalho utilizado para acesso ao Produto Datasul, logo após o parâmetro –p), procurar pelo “Nome do Banco” (conforme apresentado no quadro acima Tabela Unificado), e verificar o <nome-do-banco-unificado> logo depois da palavra DATABASE no final da linha.

Formato: CREATE ALIAS <alias> FOR DATABASE <nome-do-banco-unificado> NO-ERROR.

Exemplo: CREATE ALIAS shmgind FOR DATABASE shmgcad.

Encontrado o <nome-do-banco-unificado> correspondente ao alias, este será o nome do banco para efetuar os procedimentos abaixo:

  • Definir o conteúdo da variável de ambiente DLC com o diretório de instalação do Progress.
  • Efetuar backup do schema holder.
  • Aplicar o arquivo de atualização que acompanha o pacote (detalhamento abaixo).
  • Truncar o bi (proutil <nome-do-banco-unificado> -C truncate bi).

OBS.: os procedimentos acima se aplicam para Windows NT, 2000 e Unix.

 

1.2  USERS ORACLE SCHEMA HOLDER UNIFICADO

1.2.1  Caso sua empresa esteja utilizando FOREIGN-OWNER diferente do padrão da DATASUL, deve-se editar o arquivo .df  conforme informado na Tabela Unificado na coluna "Arquivo .df/.sql", para efetuar a troca. Certifique-se que esta troca seja por um usuário existente no Banco Oracle ou um usuário que venha a ser criado.

Para os objetos do tipo 'SEQUENCE' verifique o item 1.5.1 Criando Sinônimos para o usuário de conexão do ambiente Unificado

Obs.: este procedimento serve para plataforma Windows e Unix.

 

1.3  APLICAÇÃO DO ARQUIVO DE ATUALIZAÇÃO (UNIX/LINUX) SCHEMA HOLDER UNIFICADO

1.3.1     O administrador deverá localizar o schema holder conforme procedimentos apresentados no item “Ambiente com Bancos de Dados Unificados – Schema Holder Unificado”, especificamente o diretório e o servidor.

1.3.2     Efetuar “backup” do banco schema holder unificado.

1.3.3     Fazer FTP do arquivo .df para o UNIX (protocolo ASCII), conforme nome informado na Tabela Unificado na coluna “Arquivo .df/.sql”.

1.3.4     Conectar-se, em monousuário, ao banco de dados unificado que contêm as definições do banco a ser atualizado (verificar “Schema Holder Unificado”). Executar os comandos abaixo (substituir /usr/dlc101c pelo diretório de instalação do Progress, se necessário):

  • export DLC=/usr/dlc101c
  • export PROMSGS=/usr/dlc101c/promsgs
  • /usr/dlc101c/bin/_progres –db <nome-do-banco-unificado> –1 -rx –p _admin.p

1.3.5     Na opção Database/Select Working Database selecione o banco (Type Oracle), pressione "OK", responda "Não" a questão de conexão do banco.

 

1.3.6     Entrar na opção Admin "Load Data and Definitions / Load Data Definitions (.df)". Quando solicitado, informar o diretório e o nome do arquivo de atualização .df informado na Tabela Unificado na coluna “Nome do Banco”, e marcar as 3 opções de atualização, (“Stop If Error Found in Definition”, “Output Errors to File” e “Output Errors to Screen”) antes de clicar em “OK”.

1.3.7     Sair do aplicativo.

1.3.8     Truncar o before-image do schema holder:

Ex.: /usr/dlc101c/bin/_proutil <nome-do-banco-unificado> –C truncate bi

 

1.4    NA SESSÃO ORACLE UNIX SCHEMA HOLDER UNIFICADO

Com “backup” feito do Schema Oracle (user Oracle), poderão ser executados os próximos procedimentos. Caso o usuário em uso não seja o padrão DATASUL, acesse o Dicionário do schema holder (Data Dictionary) e, nas propriedades da tabela, consulte o campo OWNER para identificá-lo. Pode ser verificado através do arquivo de conexão “.pf” chamado pelo atalho do produto, editar esse arquivo e procurar pelo parâmetro -U, a terminação do nome identifica o nome do banco.

Ex.: -U EMS204PORO8P932ADM/EMS204PORO8P932ADM@oracle

Fazer FTP do arquivo .sql para o UNIX (protocolo ASCII), conforme nome informado na Tabela Unificado na coluna “Arquivo .df/.sql”.

Com o aplicativo SQL*PLUS conectar-se ao usuário identificado acima e executar o script .sql informado na Tabela Unificado na coluna “Arquivo .df/.sql”.

Executar o comando:

SQL>@/ems204/data_dic/<informado na Tabela Unificado na coluna “Arquivo .df/.sql”>.

 

1.5    CRIAÇÃO DE SINÔNIMOS COM ESTRUTURA UNIFICADA

1.5.1    Criando Sinônimos para o usuário de conexão do ambiente Unificado

Quando ocorrem inserções de novos objetos do tipo 'SEQUENCE' no dicionário Oracle para produtos Datasul ou o Owner de conexão for alterado, existe a necessidade de criar novos sinônimos. O sinônimo deve ser criado para o usuário Oracle utilizado pela sessão Progress para conectar o banco Oracle, descrito pelo parâmetro de conexão "-U" no arquivo (.pf) ou no campo "Other CONNECT Statement Parameters" do Data Administration / DataServer / ORACLE Utilities / Edit Connection Information.

 

1.5.2    Exemplo do Script que cria novos objetos na base:

No arquivo ‘.sql’ aplicado no banco Oracle é criado uma nova seqüência

CREATE SEQUENCE “seq_ped_exec” START WITH 1 INCREMENT BY 1;

A seqüência pertence neste exemplo ao usuário “hr208poro9p9UNI55”.

 

1.5.3    Exemplo do arquivo .pf a linha de conexão foi definida como segue:

  • -db \hr208\database\unificado\prod\shhr208  -RO -ld shhr208   -c 4000
  • -db hr208 -ld hr208 -U hr208poro9p9uni55/hr208poro9p9uni55@prod

 

1.5.4    Exemplo do arquivo alias.p:

Editando o arquivo ‘alias.p’ utilizado no parâmetro –p nas propriedades no atalho, confira quais das linhas com o comando ‘CREATE ALIAS’ aponta para o banco especificado na “Tabela Unificado” no arquivo RELNOTES.DOC que acompanha o pacote com alteração de dicionário. Nesta tabela há o direcionamento para o Schema Holder do type “Oracle”. No exemplo abaixo o type Oracle é “mgdis” e aponta “emp”.

  • CREATE ALIAS mguni   FOR DATABASE hr208 NO-ERROR.
  • CREATE ALIAS shmguni            FOR DATABASE shhr208 NO-ERROR.

 

1.5.5    Com base nestas informações o próximo passo é criar o sinônimo:

Exemplo:

  • CREATE SYNONYM " HR208PORO9P9UNI55"."PRODUT_SEFAZSP_SEQ"
  • FOR "HR208PORO9P9PYC55"." PRODUT_SEFAZSP_SEQ"

Este procedimento deve ser executado sempre que houver a inclusão de novos objetos do tipo seqüência.

Havendo dúvidas, ligue para a equipe de Suporte a Banco de Dados na Totvs (4003-0015) para obter o acompanhamento na aplicação dos procedimentos.

 

 

1.6    APLICAÇÃO DO ARQUIVO DE ATUALIZAÇÃO (PLATAFORMA WINDOWS) UNIFICADO

O administrador deverá localizar o schema holder conforme procedimentos apresentados no item “Ambiente com Bancos de Dados Unificados – Schema Holder Unificado”, especificamente o diretório e o servidor.

Efetuar “backup” do banco schema holder.

Conectar-se, em monousuário, ao banco de dados unificado que contêm as definições do banco a ser atualizado (verificar “Schema Holder Unificado”). Executar os comandos abaixo em uma janela DOS (substituir C:\dlc101c pelo diretório de instalação do Progress, se necessário):

  • set DLC=C:\dlc101c
  • set PROMSGS=C:\dlc101c\promsgs
  • C:\dlc101c\bin\prowin32 –db <nome-do-banco-unificado> –1 -rx –p _admin.p

Na opção Database/Select Working Database selecione o banco (Type Oracle), pressione "OK", responda "Não" a questão de conexão do banco.

Entrar na opção Admin "Load Data and Definitions/Load Data Definitions (.df)". Quando solicitado, informar o diretório e o nome do arquivo de atualização .df  informado na Tabela Unificado na coluna "Nome do Banco", e marcar as 3 opções de atualização, ("Stop If Error Found in Definition", "Output Errors to File" e "Output Errors to Screen") antes de clicar em "OK".

  • Sair do aplicativo.
  • Truncar o before-image do schema holder:
  • Ex.: C:\dlc101c\bin\_proutil <nome-do-banco-unificado> –C truncate bi

 

1.7    NA SESSÃO ORACLE WINDOWS UNIFICADO

Com “backup” feito do Schema Oracle (user Oracle), poderão ser executados os próximos procedimentos. Caso o usuário em uso não seja o padrão DATASUL, acesse o Dicionário do schema holder (Data Dictionary) e, nas propriedades da tabela, consulte o campo OWNER para identificá-lo. Pode ser verificado através do arquivo de conexão “.pf” chamado pelo atalho do produto, editar esse arquivo e procurar pelo parâmetro -U, a terminação do nome identifica o nome do banco.

Ex.: -U EMS204PORO8P932ADM/EMS204PORO8P932ADM@oracle

Com o  aplicativo SQL*PLUS conectar-se ao usuário identificado acima  e executar o script informado na Tabela Unificado na coluna “Arquivo .df/.sql”.      

Executar o comando:

SQL>@c:\ems204\data_dic\<informado na Tabela Unificado na coluna “Arquivo .df/.sql”>.

 

 

  1. AMBIENTE COM BANCOS DE DADOS DISTRIBUÍDOS

 

Foram liberados os seguintes arquivos que devem ser aplicados de acordo com o ambiente seguindo a tabela abaixo:

Tabela Distribuído 

 

Ambiente

Arquivo .df/.sql

Nome do Banco

Gerenciador do Banco de dados

Diretório

Observação

EMS206BMultiIdiomaOracleProgress10

mgfis-orap10-multi-20161216.df

shmgfis

Oracle

Dataserver

data_dic

 

 

mgfis-orap10-multi-20161216.sql

mgfis

Oracle

data_dic

 

Obs.: os bancos citados na coluna “Nome do Banco” que começam com “sh” são schema holders.

 

Os procedimentos para atualização de dicionário são:

 

2.1  SCHEMA HOLDER DISTRIBUÍDO

O administrador deve localizar a área onde se encontra o Schema Holder conforme coluna “Nome do Banco” da Tabela Distribuído, especificamente o diretório e o servidor.

Efetuar backup do banco conforme coluna “Nome do Banco” da Tabela Distribuído.

 

2.2  USERS ORACLE DISTRIBUÍDO

Caso em sua empresa esteja utilizando FOREIGN-OWNER diferente do padrão da DATASUL, deve-se editar o arquivo .df  conforme informado na Tabela Distribuído na coluna “Arquivo .df/.sql”, para efetuar a troca. Certifique-se que esta troca seja por um usuário existente no Banco Oracle ou um usuário que venha a ser criado.

OBS.: este procedimento serve para plataforma Windows e Unix.

 

2.3  APLICAÇÃO DO ARQUIVO DE ATUALIZAÇÃO (UNIX/LINUX) SCHEMA HOLDER DISTRIBUÍDO

O administrador deverá localizar o schema holder conforme Tabela Distribuído na coluna “Nome do Banco”, especificamente o diretório e o servidor.

Efetuar “backup” do banco schema holder.

Fazer FTP do arquivo .df  para o UNIX (protocolo ASCII), conforme nome informado na Tabela

Distribuído na coluna “Arquivo .df/.sql”.

Conectar-se, em monousuário, ao banco de dados. Executar os comandos abaixo (substituir /usr/dlc101c pelo diretório de instalação do Progress, se necessário):

  • export DLC=/usr/dlc101c
  • export PROMSGS=/usr/dlc101c/promsgs
  • /usr/dlc101c/_progres -db <nome-do-banco> -1 -rx -p _admin.p

Na opção Database/Select Working Database selecione o banco (Type Oracle), pressione "OK", responda "Não" a questão de conexão do banco.

Entrar na opção Admin "Load Data and Definitions/Load Data Definitions (.df)". Quando solicitado, informar o diretório e o nome do arquivo de atualização .df informado na Tabela Distribuído na coluna "Nome do Banco", e marcar as 3 opções de atualização, ("Stop If Error Found in Definition", "Output Errors to File" e "Output Errors to Screen") antes de clicar em "OK".

Sair do aplicativo.

Truncar o before-image do schema holder:

Ex.: /usr/dlc101c/bin/_proutil <nome-do-banco> -C truncate bi

 

2.4  NA SESSÃO ORACLE UNIX SCHEMA HOLDER DISTRIBUÍDO

Com “backup” feito do Schema Oracle (user Oracle), poderão ser executados os próximos procedimentos. Caso o usuário em uso não seja o padrão DATASUL, acesse o Dicionário do schema holder (Data Dictionary) e, nas propriedades da tabela, consulte o campo OWNER para identificá-lo. Pode ser verificado através do arquivo de conexão “.pf” chamado pelo atalho do produto, editar esse arquivo e procurar pelo parâmetro -U, a terminação do nome identifica o nome do banco.

Ex.: -U EMS204PORO8P932ADM/EMS204PORO8P932ADM@oracle

Fazer FTP do arquivo .sql para o UNIX (protocolo ASCII), conforme nome informado na Tabela Distribuído na coluna “Arquivo .df/.sql”.

Com o aplicativo SQL*PLUS conectar-se ao usuário identificado acima e executar o script .sql informado na Tabela Distribuído na coluna “Arquivo .df/.sql”.

Executar o comando:

SQL>@/ems204/data_dic/<informado na Tabela Distribuído na coluna “Arquivo .df/.sql”>.

 

2.5  APLICAÇÃO DO ARQUIVO DE ATUALIZAÇÃO (PLATAFORMA WINDOWS) DISTRIBUÍDO

O administrador deverá localizar o schema holder conforme Tabela Distribuído na coluna “Nome do Banco”, especificamente o diretório e o servidor.

Efetuar “backup” do banco schema holder.

Conectar-se ao schema holderem monousuário. Executaros comandos abaixo em uma janela DOS (substituir C:\DLC101c pelo diretório de instalação do Progress, se necessário):            

  • set DLC=c:\dlc101c
  • set PROMSGS=C:\dlc101c\promsgs
  • C:\dlc101c\bin\prowin32 -db <nome-do-banco> -1 -rx -p _admin.p

Na opção Database/Select Working Database selecione o banco (Type Oracle), pressione "OK", responda "Não" a questão de conexão do banco.

Entrar na opção Admin "Load Data and Definitions/Load Data Definitions (.df)". Quando solicitado, informar o diretório e o nome do arquivo de atualização .df informado na Tabela Distribuído na coluna “Nome do Banco”, e marcar as 3 opções de atualização, (“Stop If Error Found in Definition”, “Output Errors to File” e “Output Errors to Screen”) antes de clicar em “OK”.

  • Sair do aplicativo.
  • Truncar o before-image do schema holder:
  • Ex.: C:\dlc101c\bin\_proutil <nome-do-banco> -C truncate bi

 

2.6  NA SESSÃO ORACLE WINDOWS DISTRIBUÍDO

Com “backup” feito do Schema Oracle (user Oracle), poderão ser executados os próximos procedimentos. Caso o usuário em uso não seja o padrão DATASUL, acesse o Dicionário do schema holder (Data Dictionary) e, nas propriedades da tabela, consulte o campo OWNER para identificá-lo. Pode ser verificado através do arquivo de conexão “.pf” chamado pelo atalho do produto, editar esse arquivo e procurar pelo parâmetro -U, a terminação do nome identifica o nome do banco.

Ex.: -U EMS204PORO8P932ADM/EMS204PORO8P932ADM@oracle

Com o aplicativo SQL*PLUS conectar-se ao usuário identificado acima  e executar o script informado na Tabela Distribuído na coluna “Arquivo .df/.sql”.

Executar o comando:

SQL>@c:\ems204\data_dic\<informado na Tabela Distribuído na coluna “Arquivo .df/.sql”>.