Tempo aproximado para leitura: 00:05:00 min
Dúvida
Como migrar uma base Informix para Oracle?
Ambiente
Logix - Administração Logix - Todas as versões
Solução
O banco de dados no Oracle pode ser criado conforme o padrão utilizado pela ferramenta Oracle DBCA observando os seguintes ajustes:
- O código de página deverá ser alterado para o valor WE8ISO8859P1 ou o seu superset WE8MSWIN1252;
- Como cada programa abre uma conexão no banco de dados o parâmetro processes deverá ser aumentado para acomodar a demanda do Logix, quantidade de usuários x quantidade de programas que cada um pode executar incluindo o menu + 100;
- O parâmetro open_cursors deverá ser aumentado para o valor 50.000;
Sugerimos a utilização de tablespaces separadas para dados e índices. No final do artigo, na seção Saiba mais há um link para a documentação Esquema Logix no Banco Oracle orientando a criação do usuário owner das tabelas e suas permissões.
Execute os scripts que criam objetos necessários para o funcionamento do Logix conforme artigo Emulação das funções Informix no Oracle referenciado também em Saiba mais.
Baixe os Scripts para criação da base Oracle na versão 12.1.29 utilizando o link referenciado em Saiba mais. Execute os 3 scripts na ordem.
A pasta UNL possui dados para uma carga inicial nas tabelas, sendo necessário primeiro editar a script carga_ORA.bat com seus dados de conexão no banco de dados. Como será feita a migração dos dados do Informix para o Oracle essa carga inicial pode ser desconsiderado.
Para a carga do Appserver deverão ser incluídas as seguintes variáveis de ambiente na script totvsenv:
set ORACLE_HOME=<diretorio_home_do_client_oracle_32_bits>
set PATH=%ORACLE_HOME%\bin;%PATH%
set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
set NLS_NUMERIC_CHARACTERS=.,
set NLS_DATE_FORMAT="dd/mm/yyyy hh24:mi:ss"
Para configurar a conexão do Appserver com o banco Oracle, inclua a seguinte informação dentro do arquivo totvsdbaccess.ini:
[ORACLE]
ClientLibrary=<diretorio_home_do_client_oracle_32_bits>\bin\oci.dll
Caso seu Appserver execute em Linux o nome e localização dessa biblioteca é diferente
[ORACLE]
ClientLibrary=<diretorio_home_do_client_oracle_32_bits>/lib/libclntsh.so
O nome do alias que será configurado no Appserver deverá ser igual ao nome de conexão configurado no arquivo <oracle_home>/network/admin/tnsnames.ora, exemplo:
LOGIX =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = <ip_servidor_oracle>)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = pdb1)
)
)
Utilizando este exemplo o nome do alias que deverá ser configurado na configuração a seguir será LOGIX.
Para configurar esse alias, defina as variáveis de ambiente supra citadas e execute o procedimento do artigo Validar conexão do TotvsAppserver com o banco de dados referenciado no final deste.
Após o alias configurado altere o arquivo totvsappserver.ini apontando para a nova configuração:
Como os scripts de criação do banco de dados sugeridos para download estão na versão 12.1.29; é importante o seu ambiente de origem Informix também estar com este pacote aplicado. Além de facilitar a migração dos dados você também poderá utilizar o mesmo RPO.
Para a migração dos dados você poderá utilizar o recurso de UNLOAD do Informix gerando os arquivos UNL. Pode utilizar os scripts da pasta UNL baixados do portal, arquivo db_oracle.zip, como exemplo. Estes scripts utilizam a ferramenta SQLLoader do Oracle, o qual faz uso de um arquivo de controle .ctl para descrever a estrutura da tabela que está sendo migrada.
No arquivo .zip citado não existe configuração para todas as tabelas, ali estão apenas as utilizadas na carga inicial do produto. Porém com base nelas você poderá confeccionar as restantes. Observe que no momento de realizar o UNLOAD você deverá fazê-lo utilizando o caracter '^' como delimitador dos campos.
Saiba mais
Artigos adicionais para auxiliar no procedimento de migração:
LG - FRW - Esquema Logix no Banco Oracle
LG - FRW - Emulação das funções Informix no Oracle
Scripts para criação da base Oracle na versão 12.1.29
LG - FRW - Validar conexão do TotvsAppserver com o banco de dados
0 Comentários