Chamado: TUOHTG
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: LCECU
- Criação da tabela “ecu-ciudad-bairro”.
Banco: MOVFIS
- Criação dos campos “cod-cnpj-invest”, “cod-lancto-ctbl”, “ind-sdo-cta-fim”, “qtd-inic-item”, “val-sdo-cta-ctbl-fim” na tabela “dwf-razao-aux-sub-cta”.
- Alteração de ordem e posição dos campos da tabela “dwf-razao-aux-sub-cta”.
- Alteração dos campos “cod-patrim-item”, “dat-lancto-sub-cta” para “MANDATORY”, na tabela “dwf-razao-aux-sub-cta”.
- Alteração dos índices “dwfrzxsb_id2”, “dwfrzxsb_ix2” da tabela “dwf-razao-aux-sub-cta”.
- Exclusão dos campos “cdn-empresa”, “cod-estab”, “num-cnpj-invest”, “num-exerc-ctbl”, “num-period-ctbl”, “num-quant-inic-item” da tabela “dwf-razao-aux-sub-cta”.
- 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 | lcecu-orap10-multi-2016.df | shlcecu | Oracle Dataserver | data_dic |
|
| lcecu-orap10-multi-2016.sql | lcecu | Oracle | data_dic |
|
| movfis-orap10-multi-2016.df | shmovfis | Oracle Dataserver | data_dic |
|
| movfis-orap10-multi-2016.df | *hisfis | Oracle Dataserver | data_dic | * Este delta deve ser aplicado sobre o banco hisfis, caso você utilize o módulo de Bancos Históricos. |
| movfis-orap10-multi-2016.sql | movfis | Oracle | data_dic |
|
| movfis-orap10-multi-2016.sql | *hisfis | Oracle | data_dic | * Este delta deve ser aplicado sobre o banco hisfis, caso você utilize o módulo de Bancos Históricos. |
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”>.
- 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 | lcecu-orap10-multi-2016.df | shlcecu | Oracle Dataserver | data_dic |
|
| lcecu-orap10-multi-2016.sql | lcecu | Oracle | data_dic |
|
| movfis-orap10-multi-2016.df | shmovfis | Oracle Dataserver | data_dic |
|
| movfis-orap10-multi-2016.df | *hisfis | Oracle Dataserver | data_dic | * Este delta deve ser aplicado sobre o banco hisfis, caso você utilize o módulo de Bancos Históricos. |
| movfis-orap10-multi-2016.sql | movfis | Oracle | data_dic |
|
| movfis-orap10-multi-2016.sql | *hisfis | Oracle | data_dic | * Este delta deve ser aplicado sobre o banco hisfis, caso você utilize o módulo de Bancos Históricos. |
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”>.