apostila_topconnect_sql
TRANSCRIPT
Utilizando TopConnect com Banco de Dados em várias plataformas
Utilizando TopConnect
Com Banco de Dados
em várias Plataformas
Windows NT Server , Windows Workstation, Windows 95/98 e SQL Server são marcas registradas da Microsoft Corporation.Banco de Dados Oracle é a marca registrada da Oracle Corporation.Banco de Dados Informix é a marca registrada da Informix Corporation.Banco de Dados Sybase é a marca registrada da Sybase Corporation.Banco de Dados UDB é a marca registrada da IBM.AS/400 marca registrada da IBM e Itec.
Este material é de efeito didático/suporte e não pode ser reproduzido sem autorização.CopyRight © 2000 Microsiga Software S.A.
1
Utilizando TopConnect com Banco de Dados em várias plataformas
Índice
1. Introdução no ambiente TopConnect com Banco de Dados1.1. Exemplos de plataformas utiliadas
2. Softwares envolvidos no ambiente do curso
3. Características físicas 3.1. Ambiente Desejável para uma instalação de 25 usuários:
4. Conceitos Básicos de Windows NT4.1. PDC, BDC, Member Server4.2. Workstation e Windows 95/98
5. Sistema Operacional Windows NT 4.0 build 1381 no Servidor5.1. Service Pack 5.2. Proteção de Tela no Servidor5.3. Configuração do Ambiente de Rede do Servidor5.4. Propriedades do Sistema5.5. Instalação e desinstalação de Softwares no Servidor5.6. Serviços5.7. Log de Mensagens de Erro do Servidor 5.8. Utilitários Server Manager e Task Manager
6. Bancos de dados6.1. Conceitos Básicos
7. MS SQL Server 6.57.1. Introdução7.2. Parâmetro BINARY ORDER7.3. Service Pack 7.4. DataBases de controle interno do SQL Server7.5. Configuração do SQL Server7.6. DataBases ( para armazenar os dados do Siga Advanced/AP5 )
7.6.1. Criando o Device para o DataBase7.6.2. Criando o DataBase de uso do Siga Advanced 7.6.3. Após criação do banco de dados
7.7. Login do SQL Server. 7.8. Problemas do SQL Server7.9. Backup/Restore em SQL ( DUMP )7.10. Utilitário de Manutenção do Banco de Dados (SQLMAINT)7.11. Utilitário de Agendamento de Tarefas (SQL Executive)
2
Utilizando TopConnect com Banco de Dados em várias plataformas
8. MS SQL Server 7.08.1. Introdução8.2. Parâmetro BINARY ORDER8.3. Service Pack 8.4. Configuração do SQL Server8.5. DataBases ( para armazenar os dados do Siga Advanced/AP5 )
8.5.1. Criando o device para o DataBase8.5.2. Criando o DataBase de uso do Siga Advanced 8.5.3. Após criação do banco de dados
8.6. Login do SQL Server. 8.7. Backup/Restore em SQL ( DUMP )8.8. Utilitário de Manutenção do Banco de Dados (SQLMAINT)8.9. Utilitário de Agendamento de Tarefas (SQL Agent)
9. Oracle 7.3.4 / 8.059.1. Introdução básica 9.2. Configuração do Oracle9.3. Criação de DataBases
9.3.1. Criação dos tablespaces de dados e temporário9.3.2. Criação do usuário
9.4. Utilitário SQL Net Easy Configuration
10. Informix10.1. Introdução básica10.2. Configuração do Informix10.3. Utilitários de configuração e manipulação de dados.
10.3.1. Comandos utilizados em qualquer plataforma informix 10.3.1.1. Dbaccess
10.4. Definição do Ambiente de conexão
11. AS/40011.1. Introdução básica11.2. Instalação e Configuração TopConnect no AS/40011.3. Instalação e Configuração TopBridge
12. TopConnect 2.012.1. Instalação 12.2. Opções de Visualizar
12.2.1. Informações12.2.2. Conexões12.2.3. Utilização12.2.4. Eventos (Mensagens de Erros)
12.3. Opções de Propriedades (Configurações)12.3.1. Login/Senha de Acesso ao Banco de Dados12.3.2. Licenças12.3.3. Tipo de Bancos de Dados Suportados 12.3.4. Ambientes
12.4. Atualização de Versão 12.5. Servidor com mais de um processador
13. SIGA Advanced - Configuração 13.1. Conexão SIGA Advanced / Banco de Dados13.2. Atualização de Executáveis e DLL´s
3
Utilizando TopConnect com Banco de Dados em várias plataformas
14. Utilitários importantes14.1. SDU ( Siga DataBase Utility)14.2. Dbf2Sql ( Conversor de arquivos DBF para SQL)14.3. DEFAULT ( Ferramenta de ajuste do DataBase)
15. Novas Implementações
16. Performance na programação de RDMAKES no SIGA Advanced
17. Erros mais comuns entre SQL Server x TopConnect x SIGA Advanced17.1. Erros apresentados na estação com o SIGA Advanced
17.1.1. Falha Conexão TopConn17.1.2. Travamento da Estação 17.1.3. Data type Error ( Gerado no arquivo de Log do SIGA Advanced )17.1.4. Não aparece a tela de login do SIGA Advanced
17.2. Erros apresentados no Servidor (LOG de eventos do TopConnect)17.2.1. Falha no login17.2.2. Erros do Banco de Dados
18. Comparação entre ambientes DBF e SQL
4
Utilizando TopConnect com Banco de Dados em várias plataformas
1. Introdução
Objetivo : Este curso tem como objetivo treinar e aperfeiçoar nossos analistas e parceiros quanto à implantação do ambiente de trabalho TopConnect / Bases SQL em nossos clientes, aumentar a facilidade de manuseio dos componentes envolvidos na instalação, configuração, análise, e detecção de erros, e quais possíveis ações para saná-los, antes de recorrer ao suporte interno. Demonstraremos também como otimizar programas através da linguagem SQL em seus RDMAKES e futuras implementações para as próximas versões do Siga Advanced.Todos os tópicos mencionados poderão servir como base consulta, considerando-se como “ideal” o ambiente apresentado nas versões, packs, e build´s .
1.1. Esquema exemplo de um Ambiente de trabalho mais comum :Servidor Windows NT 4.0 com TopConnect, Banco de dados MsSql/Oracle/Informix/..., SigaAdvanced/AP5.
5
Utilizando TopConnect com Banco de Dados em várias plataformas
Existem vários outras combinações que podem ser utilizadas , elas variam para cada cliente e devem ser validadas pela Microsiga antes da sua utilização ou recomendação.
Servidor WinNT, TopConnect, SigaAdvanced/AP5 e outro Servidor Unix com Banco de Dados Oracle/Informix/Sybase/UDB.
Servidor WinNT, TopConnect e outro Servidor WinNT(File Share) com SigaAdvanced /AP5.
Servidor WinNT, TopConnect, SigaAdvanced/AP5 e outro Servidor WinNT com TopConnect.
Servidor WinNT, TopConnect, SigaAdvanced/AP5 e outro Servidor NetWare 5.0 com Banco de dados Oracle 8.05.
Servidor Linux, TopConnect, Banco de Dados Informix/Oracle e outro servidor com SigaAdvanced/AP5.
Servidor WinNT, SigaAdvanced/AP5 e outro Servidor AS/400 com TopConnect.
Servidor Winnt, TopConnect (TopBridge), SigaAdvanced/AP5 e outro Servidor AS/400 com Topconnect.
Servidor Netware SigaAdvanced/AP5 e outros Servidor AS/400 com TopConnect.
2. Softwares envolvidos no ambiente:
- Sistema operacional Windows NT Server 4.0 (Service Pack 6a)- Banco de Dados SQL Server 6.5 SP5a/ 7.0 SP1, Oracle Server 8.05 e Informix 7.31 SP5- TopConnect 2.05 Build 3s ou acima- Siga Advanced 4.07 SQL ou AP5 (Advanced Protheus 5 )
3. Características físicas
3.1. Ambiente Desejável para uma instalação de 25 usuários:
Servidor Windows NT 4.0 com TopConnect, Banco de dados MsSql/Oracle/Informix/..., SigaAdvanced/AP5.
- Memória = 512 MB ou mais- Discos = 2 discos SCSI com 9GB de 80mbit/s com dois adaptadores para garantir
acesso simultaneo dos discos. Para base de dados grandes (com mais de 1GB de dados) recomendamos um Disk Array do tipo Raid-5 de 4 Discos de 9GB com memória de 256 a 512 para cache de leitura.
- Processador = 2 processador Pentium III Xeon 500mhz com 512 de cache.- Rede = Adaptador de 100 mbits, utilizar swite(não cascatear Hubs)
4. Conceitos Básicos de Windows NT
6
Utilizando TopConnect com Banco de Dados em várias plataformas
4.1. PDC, BDC, Member Server
PDC – Domínio Primário de Controle – é responsável por gerenciar todas as contas (usuário / senha), guardando as configurações de acesso e ambiente do usuário.
BDC – Domínio de Controle Backup – tem a função de substituir o PDC em casos de manutenção , pois ele mantém uma cópia das contas do PDC, porém ele não mantém cópia dos softwares intalados no PDC.
Member-Server – tem a função de um servidor de aplicação, para não atrapalhar o processamento do PDC.Obs: Em um domínio podem existir vários BDC´s e Member-Server´s, porém só existirá um PDC.
4.2. Workstation e Windows 95/98Devem ser utilizados apenas como estações.Note o detalhe que para o Windows Workstation , como o NT Server, existem atualizações - Service Pack – que são necessárias para o seu perfeito funcionamento.
7
Utilizando TopConnect com Banco de Dados em várias plataformas
5. Sistema Operacional Windows NT 4.0 build 1381 no Servidor
5.1. Service Pack
Verificar a atualização do Service Pack , que é demonstrado na carga do Sistema Operacional (Quando a área da tela estiver azul, verifique o texto apresentado), ou execute o programa Windows NT Diagnostics - Version.
Atenção para qualquer alteração que o NT requisita o CD original para atualização de programas e DLLs, pois ele estará colocando versões originais do NT, onde devemos novamente executar o Service Pack.
Por recomendação utilizem a versão Windows NT Server em Inglês, para evitar problemas de atualização, já que os Services Packs são lançados primeiramente em Inglês.
8
Utilizando TopConnect com Banco de Dados em várias plataformas
5.2. Proteção de Tela no Servidor
Verificar se existe algum programa de proteção de tela instalada no servidor. Se houver remova-a , pois estes programas podem utilizar até 100% da CPU de seu servidor, onde, neste caso, todas as estações que acessarem o servidor ficarão muito lentas
9
Utilizando TopConnect com Banco de Dados em várias plataformas
5.3. Configuração do Ambiente de Rede do Servidor
Os protocolos de comunicação que serão utilizados são : TCP/IP ou NETBEUI. Se houver mais protocolos instalados como IPX/SPX o servidor NT ficará muito lento. Caso não seja necessária a utilização destes outros protocolos, remova-os.
No caso de instalar ou reinstalar os protocolos, devemos após isto, atualizar novamente o Service Pack do NT.
No Painel de controle/Ambiente de rede temos 5 pastas com informações e configuração que devem ser checadas:
10
Utilizando TopConnect com Banco de Dados em várias plataformas
5.4. Propriedades do Sistema
Propriedades do Sistema ( Painel de controle/Propriedades do Sistema na pasta PERFORMANCE), configuração da performance de aplicações que rodam no próprio servidor. Por padrão, o percentual disponibilizado para estas aplicações é de 0%, já que o servidor deve ser dedicado.
11
Utilizando TopConnect com Banco de Dados em várias plataformas
5.5. Instalação e desinstalação de Softwares no Servidor
A adição ou remoção de softwares (Painel de controle/Adicionar e remover) deve ser sempre feita desta forma, devido ao controle do sistema operacional feito através do que chamados de controle de registro (Registry). Se os softwares forem removidos sem a atualização do registro você poderá ter DLL´s carregadas pelo sistema sem nenhuma utilidade e a perfomance do equipamento estará prejudicada.
12
Utilizando TopConnect com Banco de Dados em várias plataformas
5.6. Serviços
Serviços (Painel de controle/Serviços), são programas que rodam em background (na retaguarda). Estes programas podem ser iniciados automaticamente pela carga do sistema operacional ou manualmente pelo usuário. Eles utilizam memória de CPU e dependendo dos serviços em uso a performance do equipamento pode diminuir. Como exemplo seguem alguns serviços que devem ser utilizados em servidores independentes, ou seja, NÃO devem permanecer no mesmo servidor que o TopConnect e do Banco de Dados.
- Gateway (and Client) Services for NetWare- IIS (Internet Information Server)- RAS (Remote Access Service)- Service for Macintosh- WINS (Windows Internet Name Service)- SNA Server- E outros serviços que necessitam de um servidor independente (Para avaliar esta condição
só através do uso de memória e CPU do servidor que é requisitado pelo serviço )
13
Utilizando TopConnect com Banco de Dados em várias plataformas
5.7. Log de Mensagens de Erro do Servidor
Verificação de problemas que o NT reporta através de LOG de eventos.Estas mensagens são armazenadas, para futura verificação e análise do administrador da rede, e é de grande importância o seu acompanhamento para resolver alguns problemas básicos como: pouco espaço em disco, serviço não iniciado, falta de memória, etc.Claro que nem todas as mensagens são de nosso interesse, mas tudo que for reportado visualmente pelo NT, será armazenado no arquivo de LOG.Existem três tipos de LOG de erros, porém só nos interessa o LOG do sistema (Armazena erros referente ao software e programas do sistema operacional) e o LOG das Aplicações (Armazena erros referente ao software desenvolvido por terceiros - no nosso caso o TopConnect).
14
Utilizando TopConnect com Banco de Dados em várias plataformas
5.8. Utilitário Server Manager
Server Manager – é um utilitário para verificação de conexão dos usuários e os arquivos por estes em uso. Existem casos de usuários que utilizam o NT sem a atualização do Service Pack ou a não atualização devida do mesmo. Isto pode causar problemas de compartilhamento / travamento (share / lock) de arquivos. Devemos atualizar o NT com SPs e recriar o diretório que estamos utilizando. No nosso caso específico, o diretório que causa este problema é o SIGAADV do Siga Advanced.
5.9. Utilitário Task Manager
Task Manager (Utilitário para verificação das tarefas em execução, chamado com um click do botão direito do mouse na barra de tarefas do Windows NT). Ele demonstra a utilização de CPU e MEMÓRIA por serviço ou aplicação em execução. Neste utilitário podemos interromper a execução de qualquer programa, além de podermos verificar qual executável está consumindo o maior número de memória ou CPU.
15
Utilizando TopConnect com Banco de Dados em várias plataformas
6. Banco de dados
6.1. Conceitos Básicos
Os conceitos básicos dos Bancos de Dados relacionais são bem diferenciados dos conhecidos DBF´s. Estes conceitos básicos são úteis principalmente para saber responder eventuais perguntas que nossos clientes poderão efetuar sobre nosso sistema.
SQL quer dizer : Structured Query Language , que foi desenvolvido inicialmente pela IBM Corporation.
Um banco de dados não trabalha em função de registros, ou Arquivos como nós estamos acostumados a ver e fazer em linguagem de programação Clipper. o SQL utiliza a teoria de conjuntos conhecida por todos, que tem o objetivo de resolver os problemas dos usuários com comandos simples, chamados de query´s ( Requisição e Alteração de dados ), que utilizam basicamente 4 comandos : SELECT, INSERT, UPDATE, DELETE.
O que nos interessa neste momento , é saber que no SQL Server, no Oracle, no SyBase, ou em qualquer outro banco de dados conhecido, é que nestes, obrigatoriamente criamos um chamado DATABASE, no qual estarão armazenados as Tabelas ( Arquivos ), e estas conterão as Colunas ( Campos ), e os índices. Os dados armazenados nas tabelas NÃO são “Registros”, e sim “Linhas”. Os índices trabalham de forma semelhante ao DBF, e são utilizados com duas finalidades : a de termos uma chave de acesso extremamente rápida, e de garantirmos uma chave única em uma tabela. A partir do momento que indicamos uma chave única em uma tabela, o próprio banco de dados passa a garantir que não existirá dados duplicados, sem a necessidade de programação para tal.
Também estarão ligados à uma tabela específica os Triggers, e as Foreign Keys ( Chaves Estrangeiras ). Em cada DataBase também estarão armazenadas as Stored Procedures, que são programas ou funções escritas como qualquer linguagem conhecida ( Clipper, Pascal etc.), só que no padrão ANSI / SQL.
16
Utilizando TopConnect com Banco de Dados em várias plataformas
Uma Trigger funciona como um gatilho, só que este é disparado não a cada campo alterado, e sim a cada Inclusão, Alteração ou Exclusão de uma linha da tabela. Os Triggers também são escritos como as Stored Procedures, ou seja, como um programa qualquer, que pode efetuar qualquer tipo de validação, atualização em outras tabelas, etc...Hoje não utilizamos no Siga Advanced nenhuma Trigger. Em alguns casos específicos em clientes, as mesmas poderão ser utilizadas.
Uma Foreign Key ( Chave Estrangeira ) é uma ligação entre tabelas que são criadas nas mesmas. São estas que garantem que nunca o Cliente “X” será excluído se o mesmo tiver movimentos ( Pedidos, Notas , Duplicatas Etc. ), também será garantido que nunca será incluído um Pedido de Vendas do Cliente “Y”, se o mesmo não existir. Este tratamento é feito diretamente pelo Banco de Dados, não necessitando qualquer codificação para isto.O Siga Advanced não trabalha hoje com o conceito de chaves estrangeiras no banco de dados.
O uso de um Banco de Dados SQL se faz necessário pela segurança dos dados e pela fácil recuperação dos mesmos por vários aplicativos como Siga Advanced (TopConnect), Crystal Reports (ODBC), SigaEIS (BDE), Excel, etc.
Devido ao controle exercido sobre os dados a performance do banco acaba sendo prejudicada. Nos próximos tópicos estaremos demonstrando como melhorar e otimizar o SGDB (Sistema Gerenciador de Banco de Dados) para o melhor aproveitamento do sistema.
Nas empresas maiores normalmente se encontram o chamado DBA (Data Base Administrator), que tem a função de administrar o banco de dados, quanto a otimização, configuração, backups e segurança. Sabemos que na prática isto só funciona para empresas grandes, portanto temos que saber o mínimo possível de cada banco de dados para podermos identificar problemas e soluções que se adequam melhor à instalação do cliente.
17
Utilizando TopConnect com Banco de Dados em várias plataformas
7. MS SQL Server 6.5
7.1. Introdução
O SQL Server hoje é uma excelente opção para nossos clientes tanto no que se refere à performance, quanto à confiabilidade. Originou-se da desassociação da Microsoft e a SyBase, que até então trabalhavam em cima de um único produto ( o SyBase ).
No SQL Server 6.5 não existe “Lock” de registros e sim de páginas. O banco somente trabalha em suas requisições de dados com páginas de 2K, que dependendo da “banda/tamanho” das linhas, uma página poderá conter diversas linhas, sendo que, na necessidade de Lock de uma linha, o SQL Server irá dar um Lock em toda a página que se encontra esta linha.
No SQL Server, assim como nos outros bancos de dados disponíveis no mercado, existem uma série de parâmetros e dicas que interferem diretamente em seu desempenho, podendo até ser a diferença entre o fracasso e o sucesso da implantação.
A seguir veremos estes parâmetros e opções, que devem ser tomadas como base para implantações, apesar de que para cada cliente, dependendo do hardware disponível, haverá um tipo de configuração mais aconselhada.
7.2. Parâmetro BINARY ORDER
Na instalação do SQL Server o parâmetro mais importante para o Siga Advanced é o SET ORDER = BINARY ORDER(50)
18
Utilizando TopConnect com Banco de Dados em várias plataformas
Quando o SQL Server já estiver instalado temos como verificar a ordem de gravação dos dados, através do o utilitário ISQL/W ( Programs/Microsoft SQL Server 6.5/ISQL_w) e executar o seguinte script:
QUERY : exec sp_helpsortRESULT: Sort Order Description ------------------------------------------------------------------ Character Set = 1, iso_1
ISO 8859-1 (Latin-1) - Western European 8-bit character set. Sort Order = 50, bin_iso_1
Binary Sort Order for the ISO 8859-1 (Latin 1) Character Set Characters, in Order ------------------------------------------------------------------ ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
Este resultado garante a instalação adequada para o Siga Advanced.
OBS: Uma vez instalado em uma determinada ordem não existe forma de reconfigurar o banco de dados, a não ser que você instale o SQL Server em outro Servidor com a nova ordem e transfira os dados de um para o outro.
19
Utilizando TopConnect com Banco de Dados em várias plataformas
7.3. Service Pack
O service pack é uma atualização de DLL´s e Executáveis fornecida pela própria Microsoft. Sem esta atualização, não podemos garantir o bom funcionamento e nem a avaliação de problemas. Para verificar se o SQL Server foi atualizado com o Service Pack , você deverá verificar a versão da DLL do driver ODBC no painel de controle/ODBC/ODBC Drivers (name=SQL Server, version = 2.65.0252, company = Microsoft Corporation, file = SQLSRV32.DLL, 16/6/97 )
Uma outra forma de checar esta atualização é carregar o utilitário ISQ/W (Programs/Microsoft SQL Server 6.5/ISQL_w) e executar o seguinte script:QUERY : exec sp_server_infoRESULT : DBMS_VER Microsoft SQL Server 6.50 - 6.50.281 (Intel X86)
20
Utilizando TopConnect com Banco de Dados em várias plataformas
7.4. DataBases de controle interno do SQL Server
SQL Server cria vários databases de controle interno e de treinamento, que não devem ser alterados e nem deletados manualmente.
Um dos bancos que deve ser alterado antes de qualquer operação é o TempDB, pois o tamanho padrão dele é de 2 MB e deve ser expandido para 100 MB no mínimo.
Este database armazena todas as tabelas temporárias criadas pelo SQL Server, na resolução de query´s que utilizam joins e ordenações diferentes das existentes nas tabelas. O tamanho deste DataBase poderá ser acrescido se houver necessidade, isto vai depender das funções que os usuários vierem a utilizar.
Para abrir a tela abaixo, via MS SQL Enterprise Manager, abrir os databases, e com o Click Direito do Mouse, dar Edit .
21
Utilizando TopConnect com Banco de Dados em várias plataformas
7.5. Configuração do SQL Server
Agora demonstramos uma lista de parâmetros disponíveis no SQL Server, que devem ser ajustados para obter o melhor funcionamento e performance do sistema.
Name minimum maximum config_value run_value
affinity mask 0 2147483647 0 0allow updates 0 1 0 0backup buffer size 1 32 1 1backup threads 0 32 5 5cursor threshold -1 2147483647 -1 -1database size 2 10000 2 2default language 0 9999 0 0default sortorder id 0 255 50 50 *fill factor 0 100 0 0free buffers 20 524288 2048 2048hash buckets 4999 265003 7993 7993language in cache 3 100 3 3LE threshold maximum 2 500000 1000 1000LE threshold minimum 2 500000 500 500LE threshold percent 1 100 0 0Locks 5000 2147483647 5000 5000LogLRU buffers 0 2147483647 0 0logwrite sleep (ms) -1 500 0 0max async IO 1 1024 8 8max lazywrite IO 1 1024 8 8max text repl size 0 2147483647 65536 65536max worker threads 10 1024 255 255 *media retention 0 365 0 0memory 2800 1048576 40960 40960 *nested triggers 0 1 1 1network packet size 512 32767 8192 8192 *open databases 5 32767 20 20open objects 100 2147483647 5000 5000 *priority boost 0 1 0 0procedure cache 1 99 5 5 *Protection cache size 1 8192 10 10RA cache hit limit 1 255 4 4RA cache miss limit 1 255 3 3RA delay 0 500 15 15RA pre-fetches 1 1000 40 40 *RA slots per thread 1 255 255 2RA worker threads 0 255 3 3recovery flags 0 1 0 0recovery interval 1 32767 10 10remote access 0 1 1 1remote conn timeout -1 32767 10 10remote login timeout 0 2147483647 5 5remote proc trans 0 1 0 0remote query timeout 0 2147483647 0 0remote sites 0 256 10 10resource timeout 5 2147483647 10 10set working set size 0 1 0 0show advanced options 0 1 1 1 *
22
Utilizando TopConnect com Banco de Dados em várias plataformas
SMP concurrency -1 64 1 1sort pages 64 511 64 64spin counter 1 2147483647 10000 0tempdb in ram (MB) 0 2044 0 0time slice 50 1000 100 100user connections 5 32767 100 100 *user options 0 4095 0 0
(*) Estes parâmetros são os de maior importância na configuração do SGDB. A seguir teremos uma explicação de cada um deles. O valor de cada parâmetro deve ser alterado de acordo com a configuração física do equipamento do cliente. Em caso de dúvida não altere o parâmetro, por que você correrá o risco do banco não ser iniciado novamente.
7.5.1. DEFAULT SORTORDER IDName minimum maximum config_value run_valuedefault sortorder id 0 255 50 50
Este parâmetro não pode ser alterado. Seu valor foi configurado em tempo de instalação, como demonstrado em tópico anterior. Ele pode ser utilizado apenas para conferir a instalação do cliente.
7.5.2. MAX WORKER THREADSName minimum maximum config_value run_valuemax worker threads 10 1024 255 255
Estes parâmetros servem para determinar o número de áreas de trabalhos disponíveis para uso simultâneo.O valor sugerido é 255 para ambos casos.
7.5.3. MEMORYName minimum maximum config_value run_valuememory 2800 1048576 40960 40960
Este parâmetro define, quantas unidade de 2K de memória estarão disponíveis para uso do SQL Server. Este valor depende exclusivamente da quantidade de memória física disponível, com o serviço do SQL Server parado. Esta informação deverá ser obtida através do utilitário Task Manager pasta Performance.
7.5.4. NETWORK PACKET SIZE Name minimum maximum config_value run_valuenetwork packet size 512 32767 8192 8192
Este parâmetro define, o tamanho do pacote de transmissão / recepção que trafega pela rede.
7.5.5. OPEN OBJECTS Name minimum maximum config_value run_valueopen objects 100 2147483647 5000 5000
Define o número de objetos do database que podem ser abertos ao mesmo tempo, este parâmetro varia de acordo o número de estações. Quando este valor for sobrecarregado, será logado uma mensagem no EventView do NT.
23
Utilizando TopConnect com Banco de Dados em várias plataformas
7.5.6. PROCEDURE CACHE Name minimum maximum config_value run_valueprocedure cache 1 99 5 5
Este parâmetro define o percentual que será reservado da memória para cache de Stored Procedures, o valor Default é 30, mas recomendo diminuir este valor para 5%.
7.5.7. USER CONNECTIONSName minimum maximum config_value run_valueuser connections 5 32767 100 100
Define o número de sessões disponíveis para conexão com o banco. O SQL Server se utiliza de cinco conexões, o TopConnect utiliza duas conexões e cada estação do Siga Advanced utiliza mais duas conexões. Ajuste o número de conexões com uma margem de tolerância de + - 20%.
7.5.8. SHOW ADVANCED OPTIONSName minimum maximum config_value run_valueshow advanced options 0 1 1 1
Habilita a exibição dos parâmetros complementares do SQL Server.
A tela abaixo é chamada a partir do SQL Enterprise Manager, no MENU – Server, escolha a opção SQL Server Configure .
24
Utilizando TopConnect com Banco de Dados em várias plataformas
7.6. DataBases ( para armazenar os dados do Siga Advanced )
7.6.1. Criando o Device para o DataBase
O “Device” para o SQL Server é necessário para suportar os DataBases que serão criados, ou seja, todo DataBase estará necessariamente ligado a um Device. Nele é que definimos o local e o tamanho ( espaço em disco ) que estarão armazenados os databases.
Para se criar um Device, basta ir no SQL Enterprise Manager, e em cima do Database Device , dar um click da direita e escolher New Device
Os arquivos físicos (Devices) são criados como dvDadosAdv e dvDadosAdvLOG (Arquivo de Transaction LOG de controle do SQL Server), o arquivo de LOG é criado com 100MB.
Os devices (arquivos físicos) de dados e log devem ser criados em discos diferentes, para quem possui 2 discos, você deve colocar o LOG em um disco e os DADOS em outro disco, lembrando também que o TempDB deverá estar em outro disco ou junto com os DADOS.
25
Utilizando TopConnect com Banco de Dados em várias plataformas
7.6.2. Criando o DataBase de uso do Siga Advanced
O database é criado com tamanho padrão de 300MB, com o nome de DADOSADV.
O NT utiliza o disco de boot (ou aquele definido pelo usuário), para fazer Swap de memória virtual, portanto o arquivo de LOG deve estar junto deste disco e os demais (DADOS e TempDB) devem estar no outro disco.
Estas configurações são só exemplos de configuração para otimizar a perfomance do sistema.
OBS: Os bancos de dados utilizam o banco de LOG para controle de alterações, inclusões e exclusões, que podem estar em transação ou não. Tudo isto serve para controle de ROLLBACK do banco de dados, quando o Siga Advanced estiver com o parâmetro MV_TTS = "S". Este LOG serve também para empresas que utilizam backup por Transações, normalmente utilizado em grandes plataformas em casos que o backup geral não é possível.
Na versão 7.0 do SQL Server foi resolvido o problema do lock de página, passando agora para o lock de linha onde poderemos utilizar o controle de transação normalmente sem problemas de dead lock (Erro gerado pelo banco na concorrência de recursos de lock de mesma página).
26
Utilizando TopConnect com Banco de Dados em várias plataformas
7.6.3. Após criação do banco de dadosDevemos editar ( click da direita em cima do DataBase criado – Edit … ) o mesmo para setar ou verificar algumas configurações importantes:Pasta DataBase :
Demonstra alguns dados importantes para verificação do tamanho do DataBase e disponibiliza opções para expandir o database quando necessário.
Pasta Options :Deve-se possuir apenas dois parâmetros selecionados :- Select into/Bulk Copy (Permite cópias de tabelas via SELECT)- Truncate Log on CheckPoint (Evita o estouro do LOG em determinado tempo)
7.7. Login do SQL Server. Existe um nó de login do SQL Server onde cadastramos o usuário para conectar no banco, que será o mesmo que colocaremos no TopConnect.(Demonstrado no Tópico 7.0)
27
Utilizando TopConnect com Banco de Dados em várias plataformas
7.8. Problemas do SQL ServerExistem problemas gerados pelo SQL Server se as tabelas forem criadas com Ansi_Padding.
Se a instalação estiver sem atualização do Service Pack , o driver ODBC não terá a opção para desabilitar o parâmetro Ansi_Padding, portanto existirá a necessidade da atualização do Service Pack e depois utilizar o utilitário de transferência de dados do SQL Server para ajuste das tabelas.
Atenção : Existe a necessidade de criar um novo DataBase com as tabelas vazias antes de iniciar a transferência. Utilizar a criação automática a partir de cada módulo do SIGA Advanced. Nesta transferência a única tabela que não deve ser transferida é a TOP_FIELD, que será criada no momento em que as tabelas do novo DataBase forem criadas.
OBS: O erro causado pelo SQL Server é percebido na recuperação dos dados, especificamente no retorno de um registro selecionado por um Select que retorna uma linha específica e que utiliza o índice(dbseek). Percebido pelo usuário que após a inclusão de um dado qualquer, na próxima verificação ele não existe mais. Mas o dado está fisicamente gravado, somente não é retornado quando selecionado diretamente.
28
Utilizando TopConnect com Banco de Dados em várias plataformas
7.9. Backup/Restore em SQL ( DUMP )O SQL Server armazena todas as tabelas, índice, constraints, tabela de sistema, etc em um ou mais arquivos, chamados de device, porém este arquivo não é o backup. Para fazer o backup utilizamos o comando de backup do próprio SQL Server para fazer o dump do DataBase, que extrai somente os dados do banco. Este Backup pode ser feito de três formas : Backup do DataBase Inteiro (Recomendado), Backup por Tabela e Backup do Transaction LOG.
29
Utilizando TopConnect com Banco de Dados em várias plataformas
7.10. Utilitário de Manutenção do Banco de Dados (SQLMAINT)A Microsoft recomenda a execução deste utilitário semanalmente, para ajustar problemas nos catálogos do SQL, para atualizar as estatísticas de acesso (Update Statistics). A não utilização desta ferramenta pode vir a gerar perda de performance do SGDB.
OBS : Não é recomendado a execução desta ferramenta para bancos maiores que 399 Mb (observação da Microsoft).
7.11. Utilitário para Agendamento de Tarefas (SQL Executive)Utilitário do SQL Server que agenda a execução dos processos de Backup e Manutenção do Banco, e de qualquer outra tarefa que se faça necessário ser agendada.
30
Utilizando TopConnect com Banco de Dados em várias plataformas
8. MS SQL Server 7.0
8.1. Introdução
O SQL Server hoje é uma excelente opção para nossos clientes tanto no que se refere à performance, quanto à confiabilidade. Originou-se da desassociação da Microsoft e a SyBase, que até então trabalhavam em cima de um único produto ( o SyBase ).
A versão mais atualizada do SQL Server é a 7.0, e esta está homologada pela Microsiga. No SQL Server 7.0 esta substituindo o a versão 6.5, e esta muito mais poderoso no controle de base de dados grandes, e a Microsoft aposta na capacidade de seu produto para competir com com outros Bancos de dados.
Uma das melhorias primordiais do SQL 7.0 foi o controle de lock de registros, que na versão anterior gerou vários problemas no controle transacional.
No SQL Server, assim como nos outros bancos de dados disponíveis no mercado, existem uma série de parâmetros e dicas que interferem diretamente em seu desempenho, podendo até ser a diferença entre o fracasso e o sucesso da implantação.
A seguir veremos estes parâmetros e opções, que devem ser tomadas como base para implantações, apesar de que para cada cliente, dependendo do hardware disponível, haverá um tipo de configuração mais aconselhada.
8.2. Parâmetro BINARY ORDER
Na instalação do SQL Server o parâmetro mais importante para o Siga Advanced é o SET ORDER = BINARY ORDER(50)
31
Utilizando TopConnect com Banco de Dados em várias plataformas
Quando o SQL Server já estiver instalado temos como verificar a ordem de gravação dos dados, através do o utilitário Query Analyzer( Programs/Microsoft SQL Server 7.0/Query Analyzer) e executar o seguinte script:
QUERY : exec sp_helpsortRESULT: Sort Order Description ------------------------------------------------------------------ Unicode data sorting ---------------------- Locale ID = 33280 case sensitiveSort Order Description -------------------------------------------------------------------Character Set = 1, iso_1 ISO 8859-1 (Latin-1) - Western European 8-bit character set.Sort Order = 50, bin_iso_1 Binary Sort Order for the ISO 8859-1 (Latin 1) Character SetCharacters, in Order ------------------------------------------------------------------- ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
Este resultado garante a instalação adequada para o Siga Advanced/AP5.
OBS: Uma vez instalado em uma determinada ordem não existe forma de reconfigurar o banco de dados, a não ser que você instale o SQL Server em outro Servidor com a nova ordem e transfira os dados de um para o outro.
32
Utilizando TopConnect com Banco de Dados em várias plataformas
8.3. Service Pack
O service pack 1 não é uma necessidade exigida para utilizar com o SigaAdvanced/Ap5. Para verificar se o SQL Server foi atualizado com o Service Pack 1, você deverá verificar a versão da DLL do driver ODBC no painel de controle/ODBC/ODBC Drivers (name=SQL Server, version = 3.70.0623, company = Microsoft Corporation, file = SQLSRV32.DLL, 11/5/98 – este versão é a original a versão mais nova esta com data e versão superior a esta)
Uma outra forma de checar esta atualização é carregar o utilitário ISQ/W (Programs/Microsoft SQL Server 6.5/ISQL_w) e executar o seguinte script:QUERY : exec sp_server_infoRESULT : DBMS_VER Microsoft SQL Server 7.00 - 7.00.623 (Intel X86)
33
Utilizando TopConnect com Banco de Dados em várias plataformas
8.4. Configuração do SQL Server 7.0
Agora demonstramos uma lista de parâmetros disponíveis no SQL Server, que devem ser ajustados para obter o melhor funcionamento e performance do sistema.
O SQL Server automáticamente utiliza uma configuração adequada sem necessidade de fazermos alterações no arquivo sp_configure como foram é feito na versão MS SQL 6.5.
O único parâmetro que pode ser modificado é o parâmetro de memória o qual sempre na primeira instalação estará configurado para utilizar toda a memória disponível do equipamento, normalmente não deixamos ele utilizar toda a memória por que utilizamos outros produtos neste equipamento como o topconnect. Deixe sempre de 10% a 20% de memória disponível para outras aplicações, se não teremos muito uso de disco, com a área de swap do sistema operacional.
34
Utilizando TopConnect com Banco de Dados em várias plataformas
8.5. DataBases ( para armazenar os dados do Siga Advanced/AP5 )
8.5.1. Criando o Device para o DataBase
O DataBase deve ser criado com um tamanho pré-definido para evitar o crscimento automático que diminui a performance do SGDB.
Para se criar um Device, basta ir no SQL Enterprise Manager, e em cima do Database, dar um click da direita e escolher New DataBase
Os devices (arquivos físicos) de dados e log devem ser criados em discos diferentes, para quem possui 2 discos, você deve colocar o LOG em um disco e os DADOS em outro disco, lembrando também que o TempDB deverá estar em outro disco ou junto com os DADOS.
35
Utilizando TopConnect com Banco de Dados em várias plataformas
8.5.2. Criando o DataBase de uso do Siga Advanced
O database é criado com tamanho padrão de 300MB, com o nome de DADOSADV.
O NT utiliza o disco de boot (ou aquele definido pelo usuário), para fazer Swap de memória virtual, portanto o arquivo de LOG deve estar junto deste disco e os demais (DADOS e TempDB) devem estar no outro disco.
Estas configurações são só exemplos de configuração para otimizar a perfomance do sistema.
OBS: Os bancos de dados utilizam o banco de LOG para controle de alterações, inclusões e exclusões, que podem estar em transação ou não. Tudo isto serve para controle de ROLLBACK do banco de dados, quando o Siga Advanced estiver com o parâmetro MV_TTS = "S". Este LOG serve também para empresas que utilizam backup por Transações, normalmente utilizado em grandes plataformas em casos que o backup geral não é possível.
Na versão 7.0 do SQL Server foi resolvido o problema do lock de página, passando agora para o lock de linha onde poderemos utilizar o controle de transação normalmente sem problemas de dead lock (Erro gerado pelo banco na concorrência de recursos de lock de mesma página).
36
Utilizando TopConnect com Banco de Dados em várias plataformas
8.5.3. Após criação do banco de dadosDevemos editar ( click da direita em cima do DataBase criado – Propeties … ) o mesmo para setar ou verificar algumas configurações importantes:Pasta Options :
Deve-se possuir apenas dois parâmetros selecionados :- Select into/Bulk Copy (Permite cópias de tabelas via SELECT)- Truncate Log on CheckPoint (Evita o estouro do LOG em determinado tempo)
37
Utilizando TopConnect com Banco de Dados em várias plataformas
8.6. Login do SQL Server. Existe um nó de login do SQL Server onde cadastramos o usuário para conectar no banco, que será o mesmo que colocaremos no TopConnect.
38
Utilizando TopConnect com Banco de Dados em várias plataformas
8.7. Backup/Restore em SQL ( DUMP )O SQL Server armazena todas as tabelas, índice, constraints, tabela de sistema, etc em um ou mais arquivos, chamados de device, porém este arquivo não é o backup. Para fazer o backup utilizamos o comando de backup do próprio SQL Server para fazer o dump do DataBase, que extrai somente os dados do banco. Este Backup pode ser feito de três formas : Backup do DataBase Inteiro (Recomendado), Backup por Diferença e Backup do Transaction LOG.
39
Utilizando TopConnect com Banco de Dados em várias plataformas
8.8. Utilitário de Manutenção do Banco de Dados (SQLMAINT)A Microsoft recomenda a execução deste utilitário semanalmente, para ajustar problemas nos catálogos do SQL, para atualizar as estatísticas de acesso (Update Statistics). A não utilização desta ferramenta pode vir a gerar perda de performance do SGDB.
8.9. Utilitário para Agendamento de Tarefas (SQL Executive)Utilitário do SQL Server que agenda a execução dos processos de Backup e Manutenção do Banco, e de qualquer outra tarefa que se faça necessário ser agendada.
40
Utilizando TopConnect com Banco de Dados em várias plataformas
9. Oracle 7.3.4 / 8.05
9.1. Introdução básica Neste tópico relataremos apenas as diferenças na configuração do Oracle em relação ao SQL Server.
9.2. Configuração do OracleNa configuração do Oracle existem 250 parâmetros possíveis de serem alterados, porém falaremos apenas daqueles que interessam na interação do SIGA Advanced com o banco.O valor que aparece ao lado do parâmetro serve apenas como exemplo, uma vez que todo o conjunto (memória + cpu + disco) deve ser levado em conta para se obter estes valores.(Estes parâmetros são encontrados no arquivo INITORCL.ORA no diretório OraNT\Database)
db_file_multiblock_read_count = 32Quantidade de blocos de dados lidos pelo Oracle em cada acesso ao disco.
db_block_buffers = 20000Quantidade de blocos de dados mantidos em memória para fins de buffers.
shared_pool_size = 32768000Área de memória compartilhada para diversos fins (compilação de sql, execução de triggers, procedures, packages, cache de comandos compilados, etc). Valor em bytes.
shared_pool_reserved_size = 3276800Área reservada para grandes alocações de compilação de comandos. Valor em bytes.
log_checkpoint_interval = 100000Intervalo de checkpoint para a gravação dos arquivos de log. Valor em milisegundos.
open_cursors = 200Número máximo de cursores abertos por sessão.
processes = 200Número máximo de processos simultâneos.
dml_locks = 200Número máximo de locks em uma única transação.
log_buffer = 163840Buffer para os arquivos de log.
sort_area_size = 8192000Área de sort para execução de comandos do tipo order by e criação de índices, clusters, etc. Valor em bytes.
transactions = 60Número máximo de transações simultâneas.
transactions_per_rollback_segment = 6Número máximo de transações por segmento de rollback.
41
Utilizando TopConnect com Banco de Dados em várias plataformas
unlimited_rollback_segments = TRUEHabilita a criação de segmentos com ilimitados next's.
v733_plans_enabled = TRUE (Somente para Oracle 7.3.4)Parâmetro não documentado. Ativa várias features de perfomance introduzidas na versão 7.3.3 ou maior.
9.3. Criação de DataBases
9.3.1. Criação dos tablespaces de dados e temporárioO tablespace no Oracle é semelhante ao device no SQL Server.
Criaremos um tablespace de dados com nome de dvSigaAdv.ora com tamanho de 300MB, e também um tablespace de dados temporários com nome de dvSigaAdvTMP.ora com tamanho de 100MB.
Vale aqui a mesma observação do SQL Server quanto a separação dos arquivos em 2 discos, uma vez que o acesso fica muito mais rápido.
O NT utiliza o disco de boot (ou aquele definido pelo usuário), para fazer Swap de memória virtual, portanto o arquivo de LOG deve estar junto deste disco e o de dados deve estar no outro disco. Estas configurações são só exemplos de configuração para otimizar a perfomance do sistema.
42
Utilizando TopConnect com Banco de Dados em várias plataformas
9.3.2. Criação do usuárioAqui temos uma grande diferença do Oracle para o SQL Server. Quando você cria um usuário, você deve associar a ele um tablespace de dados e um de dados temporários(opcional), e o seu acesso será limitado a esta área.
É muito importante a parte de atribuição de direitos ao usuário, pois dela dependem vários comandos do Top Connect. Na pasta Roles/Privileges, os direitos que devem ser concedidos ao usuário SIGA são: CONNECT, DBA e RESOURCE. As demais opções não são necessárias para o usuário SIGA.
43
Utilizando TopConnect com Banco de Dados em várias plataformas
9.4. Utilitário SQL Net Easy ConfigurationEsta ferramenta é responsável pela conexão do Client com o banco de dados.Sua configuração é feita da seguinte maneira:- Add Database Alias - para a criação de uma nova conexão- Database Alias - Nome da conexão que será utilizado para conexão via Top
Connect - SIGA_NET (este nome será utilizado no arquivo ADV97.ini no parâmetro Alias.)- Choose Protocol - Protocolo de comunicação - TCP/IP- TCP/IP Host Name - Nome do servidor onde esta o Oracle- Database Instance - Deve ser mantido o valor default – ORCL- Confirmação dos parâmetros.
44
Utilizando TopConnect com Banco de Dados em várias plataformas
10. Informix
10.1. Introdução
O Informix hoje é um excelente SGDB para nossos clientes tanto no que se refere à performance, quanto à confiabilidade. Atualmente estamos trabalhando para colocar o informix em cliente que requerem maior performance com base de dados grandes.
No informix existe uma série de parâmetros e dicas que interferem diretamente em seu desempenho, podendo até ser a diferença entre o fracasso e o sucesso da implantação.
A seguir veremos estes parâmetros e opções, que devem ser tomadas como base para implantações, apesar de que para cada cliente, dependendo do hardware disponível, haverá um tipo de configuração mais aconselhada.
10.2. Configuração
A versão Homologada atualmente é a 7.31 TC5 para Windows NT com Service Pack 5 ou maior, atenção para o Service pack instalado no Sistema Operacional NT, por que esta versão é dependente o Service Pack, no caso de necessidade de atualização de Service Pack, acoselhamos verificar a versão com a informix. Na instalação você necessita criar um usuário com o nome de informix com previlégios de Administrador e Domain Administrator. (o instalador fará isto automáticamente)
Sempre deve ser instalado em uma Partição NTFS, nunca em uma partição FAT.
Quando você for solicitado a informar o tamanho do Table Space (DataBase), se possível recomendamos sempre informar o tamanho máximo de 2GB , recomendamos não selecionar a opção de espelhamento (mirror).
No final da instalação devemos instalar o Client SDK acompanhado do produto, ou fornecido pela Microsiga, para que sejam feitas as atualizações de driver ODBC compatíveis com o TopConnect. A versão do ODBC válida é Informix 3.30 e 3.31.
Utilizar no painel de controle a opção System environment/system variables=PATH, inclua o seguinte caminho: <letra da unidade que instalou o informix>:\informix\bin; < letra da unidade que instalou o informix >:\informix;
Ex: PATH = %PATH%;C:\INFORMIX\BIN;C:\INFORMIX;
Existe um arquivo chamado ONCONFIG no diretório: \informix\bin, que deverá ser configura de acordo as especificaçoes de hardware do cliente.
10.3. Utilitários de configuração e manipulação de dados.
O informix utiliza ferramentas de linha de comando, para facilitar o uso em plataformas diferentes, portanto todas as ferramentas estarão disponíveis através da execução de uma arquivo de comando(Batch), para configurar o ambiente de trabalho. O informix no momento da instalação cria uma opção no menu start\programs\informix\ol_pesquisa3 (ol_pesquisa3 – foi definido na instalação o padrão é ol_ + o nome da máquina).
45
Utilizando TopConnect com Banco de Dados em várias plataformas
Em algumas versões você possui os utilitários em forma gráfica, como já conheciamos o IECC (Comand center) , SQL Editor, etc.
10.3.1. Comandos utilizados em qualquer plataforma informix
10.3.1.1. Dbaccess
Utilitário que contempla a maioria das funções como , conexão ao banco de dados, sessão para fazer query’s diversas, criação do banco de dados, criação de chunks(Devices de Table Spaces), criação se seguimentos de rollback, etc.
10.4. Definição do Ambiente de conexão
A conexão do topconnect com informix é feita através da conexão ODBC nativa do informix, e deve ser configurado da seguinte forma:
46
Utilizando TopConnect com Banco de Dados em várias plataformas
11. AS/400
11.1. Introdução
O AS/400 é uma plataforma proprietária da IBM, a maioria dos softwares são desenvolvidos pela própria IBM, e parceiros como o nosso caso do TopConnect . A versão de topconnect do AS/400 não depende de um servidor NT o topconnect é instalado dentro do próprio AS/400. Esta plataforma é bastante segura , o esquema de trabalho é parecido com o antigo Mainframe, esta plataforma depende de profissionais especilistas e operação, por que necessitam operar o OS/400.
11.2. Instalação e Configuração TopConnect no AS/400
Abaixo segue um CheckList para instalar e configurar o topconnect no AS/400, basta seguir a risca a ordem dos procedimentos. Estes procedimentos dependem de um pouco de conhecimento do ambiente operacional do terminal AS/400.
11.2.1. Descompactar o arquivo TOPFTP.ZIP num diretório de trabalho.
11.2.2. Finalizar o Serviço TOPConnect, usando os seguintes comandos no AS/400:ENDTOPTCP <enter>ENDSBS + F4 , Digite em Subsystem : TOPCONNECT e em How to End : *IMMED.(Nenhum usuário poderá estar usando o TOPConnect durante a instalação)
11.2.3. Retirar a biblioteca TOPCONNECT da LIBL, comando:EDTLIBL <enter>Apagar com a barra de espaços ou Del o nome da referida biblioteca <enter> <enter>
11.2.4. Renomear a biblioteca TOPCONNECT para um outro nome, comando:WRKLIBPDM TOPCONNECT <enter>Na coluna escrito OPT colocar o número 7 (Rename) <enter>Digitar um outro nome para esta biblioteca. Ex.: TOPOLD.
11.2.5. Caso o número 7 (Rename) não esteja disponível, criar um *SAVF na biblioteca QGPL com o nome de TOPBACKUP, comando:CRTSAVF + F4Nome do Arquivo: TOPBACKUPBiblioteca: QGPL
11.2.6. Salvar a biblioteca TOPCONNECT para o *SAVF através do comando::SAVLIB + F4Biblioteca: TOPCONNECTDevice: *SAVF + F10Save File: TOPBACKUPBiblioteca: QGPL
11.2.7. Apagar a biblioteca TOPCONNECT através do comando:DLTLIB + F4Biblioteca: TOPBACKUP
11.2.8. Criar um *SAVF na biblioteca QGPL com o nome de TOPCONNECT, comando:
47
Utilizando TopConnect com Banco de Dados em várias plataformas
CRTSAVF + F4Nome do Arquivo: TOPCONNECTBiblioteca: QGPL
11.2.9. Caso o *SAVF já exista, esvaziá-lo com o comando:CLRSAVF + F4Nome do Arquivo: TOPCONNECTBiblioteca: QGPL
11.2.10. Na estação que você descompactou o arquivo, abrir uma janela MS-DOS, (detalhe: esta estação tem que estar enxergando o Servidor AS/400 via TCP/IP), fazer um FTP deste arquivo, comando:
C:\temp\> ftp <endereço de IP do AS/400> <enter>Logar-se com o usuário QSECOFRftp> binary <enter>ftp> put topconn.f36 qgpl/topconnect.savf <enter>ftp> bye <enter>c:\> exit <enter>
11.2.11. Voltar no AS/400 com o usuário QSECOFR, restaurar a biblioteca, comando:RSTLIB + F4 Saved Library: TOPCONNECT Device: *SAVF <enter>Save File: TOPCONNECTLibrary: QGPL <enter>
11.2.12. Feita a re-instalção, é preciso aplicar uma nova chave para o TOPConnect. Antes de ativar o serviço TOPCONNECT, verifique o serial number do AS/400 através do comando:DSPSYSVAL QSRLNBR <enter>
11.2.13. Caso o tenha disponível a última chave de liberação utilizada no AS/400 onde a instação está sendo efetuada, passe direto ao item 9.
11.2.14. Em seguida, anote este número e envie um e-mail para [email protected] , informando este serial number e o número de usuários (licenças) TOPConnect.Nosso suporte enviará um número de chave, a qual deverá ser aplicada da seguinte forma:
11.2.15. Ainda com o TOPConnect desativado, digite na linha de comando:TOPKEY + F4Digite o número de chave fornecido e tecle enter.Caso queira confirmar a chave que foi aplicada , repita o comando:TOPKEY + F4Digite *CHECK e tecle enter. O TOPConnect mostrará o número de licenças e dias desta chave aplicada.
48
Utilizando TopConnect com Banco de Dados em várias plataformas
11.2.16. Após a chave ser aplicada com sucesso, você poderá continuar a instalação.Após restaurada a biblioteca, adicionar a Lib TOPCONNECT na LIBL, comando:ADDLIBLE TOPCONNECT <enter>
Inicializar o TOPConnect pelo comando:STRTOPTCPObs.: A mensagem apresentada de algum objeto não encontrado, é normal e não representa problemas.
Para verificar se o TOPConnect está ativo, use o comando:WRKACTJOB <enter>Pelo Page Down e Page Up, procure o nome TOPCONNECT.
11.2.17. Ajuste o Arquivo ADV97.ini com seguinte configuração e depois basta testar numa estação o TOPConnect.
Segue um exemplo de ADV97.ini[TopConnect]DataBase=DADOSADVAlias=AS400Contype=TCPIPServer=<Endereço IP>
49
Utilizando TopConnect com Banco de Dados em várias plataformas
11.3. Instalação e Configuração TopBridge
O topbridge tem o objetivo de agilizar as conexão e a velocidade de comunicação com o AS/400. Este produto necessita um Servidor Windows NT Server/WorkStation.
No momento da instalação você deverá informar o endereço IP do servidor AS/400, e neste mesmo momento devemos verificar se o servidor é válido através da tecla Try. O Listener Port não deve ser modificado sem orientação de pessoal especializado da Microsiga.
Segue um exemplo de ADV97.ini, configurado para TOPBridge.[TopConnect]DataBase=DADOSADVAlias=AS400Contype=BRIDGE Server=PESQUISA3
Caso a rede tenha estações acessando o SigaAdvanced(Dos) e outras com SigaAdvanced(Windows), só deverá haver o arquivo ADV97.INI, no diretório \SIGAADV ( ou o equivalente ) e não no \SIGAADV\WINSQL\ ( ou equivalente ).
50
Utilizando TopConnect com Banco de Dados em várias plataformas
12. TopConnect 2.0
12.1. Instalação Antes de iniciar a instalação do TopConnect 2.0, verifique se existe alguma versão anterior do TopConnect instalada. Em caso positivo e a versão for TopConnect 1.0, remova-a pela opção do painel de controle (Adicionar/Remover Programas), e em seguida instale o TopConnect 2.05 Build 3s ou superior.
12.2. Opções de Visualizar
12.2.1. Informações
51
Utilizando TopConnect com Banco de Dados em várias plataformas
12.2.2. Conexões
12.2.3. Utilização
52
Utilizando TopConnect com Banco de Dados em várias plataformas
12.2.4. Eventos (Mensagens de Erros)As mensagens apresentadas neste ponto são as mensagens reportadas pelo DataBase.
12.3. Opções de Propriedades (Configurações)
12.3.1. Login/Senha de Acesso ao Banco de Dados
53
Utilizando TopConnect com Banco de Dados em várias plataformas
12.3.2. Licenças
12.3.3. Tipo de Bancos de Dados Suportados
Para a base de dados Oracle podemos clicar em cima do logotipo da Oracle aparecerá um nova tela onde podemos distribuir a área de dados da área de índices. Este procedimento é muito comum para melhorar a performance do banco de dados
54
Utilizando TopConnect com Banco de Dados em várias plataformas
Ambientes
Sql Server 6.5
55
Utilizando TopConnect com Banco de Dados em várias plataformas
12.4. Atualização de Versão Existem atualizações do TopConnect que não mudam a versão original, mudam apenas o que chamamos de construção (build xx), para ajuste ou atualização de novos DataBases que estiverem disponíveis no mercado. Sempre que houver atualizações será disponibilizado no site ftp://snetnt.com.br/topconn , faça um download do executável topconnect_2.exe.
12.5. Servidor com mais de um processador (Topconnect versão 2.05 Build 3v ou acima)Para estes equipamentos antes de atualizar a versão verifique se existe o parâmetro com as seguintes características:- Nome = CPU- Tipo = DWORD Value- Valor = 1 Hexadecimal (0x00000001)
- Todas as threads utilizarao a CPU 1- Valor = 2 Hexadecimal (0x00000002)
- Todas as threads utilizarao a CPU 2- Valor = FFFFFFFF Hexadecimal (0xFFFFFFFF)
- A utilização dos processadores se dará de modo alternado Utilize o utilitário REGEDIT, a partir da opção EXECUTAR do Windows NT. Este utilitário mostrará uma árvore com várias informações do seu equipamento. A seguir descrevemos a árvore que deve ser aberta:
+ HKEY_LOCAL_MACHINE+ SOFTWARE
+ TOPCONN.INI-- GENERAL (Neste ponto criaremos a constante CPU)
56
Utilizando TopConnect com Banco de Dados em várias plataformas
13. SIGA Advanced - Configuração
13.1. Conexão SIGA Advanced / Banco de DadosA conexão do SIGA Advanced é feita Através do TopConnect. que é estabelecida de acordo com a configuração abaixo :
Localização = \SIGAADV\WINSQL\ADV97.INI
Conteúdo = [TopConnect] DataBase= <Nome do banco de dados> Ex:MSSQL / ORACLEAlias= <Ambiente definido no TopConnect> / Alias do SQL Net (Oracle)
Obs: Deixe em branco para Oracle rodando na mesma máquina, Temos ganho de performance considerável.
ConType= <Tipo de conexão> Ex:NPIPE / TCPIPServer= <Nome (se NPIPE) ou Número do IP do Servidor (se TCPIP)>
Ex: [Topconnect] DataBase=MSSQLAlias=TOPSIGAConType=TCPIPServer=172.16.1.15ou[TopConnect] DataBase=ORACLE Alias=PROTHEUSConType=NPIPEServer=PESQUISA1
As duas configurações irão funcionar normalmente para a versão SIGA Advanced Windows. A versão DOS só funcionará com a segunda configuração que utiliza a camada Named Pipe. Por recomendação utilizem a segunda configuração para utilizar ambas as versões.
Na conexão direta via TCP/IP (primeira opção), quando um estação é interrompida por queda de energia, travamento ou qualquer outro motivo, a conexão pode ficar presa por 2 horas ou mais; Já com NPIPE esta conexão é liberada imediatamente ou na pior das hipóteses, no próximo logon do usuário.
13.2. Atualização de Executáveis e DLL´sAtente para o detalhe de que quando você atualizar as DLL´s do client do SIGA Advanced, os executáveis também devem ser atualizados, uma vez que a sua compilação utiliza as novas LIB´s geradas junto com as novas DLL’s.
Se você utilizar um executável antigo com as novas DLL´s, o mesmo apresentará um GPF.
57
Utilizando TopConnect com Banco de Dados em várias plataformas
14. Utilitários importantes
14.1. SDU ( Siga DataBase Utility)Ferramenta disponível para manutenção do banco de dados, similar ao DBU, porém com acesso também aos bancos SQL.
14.2. Dbf2Sql ( Conversor de arquivos DBF para SQL)Ferramenta disponível para transferir arquivos DBF´s para o banco de dados. Normalmente é usada em clientes que possuem a versão DBF (CDX ou ADS) e estão migrando para o SQL..Atenção : Os clientes que possuem a versão 4.05, devem primeiro atualizar a versão para 4.06 em DBF antes de passar para SQL.
58
Utilizando TopConnect com Banco de Dados em várias plataformas
14.3. DEFAULT ( Ferramenta de ajuste do DataBase)Ferramenta disponível para verificar a existência de valor nulo nos campos da base de dados, e criar validações diretamente no banco para evitar a inserções de valores nulos.Após utilização do DBF2SQL, devemos executar este programa.Para instalações novas onde as tabelas foram criadas na versão TopConnect 2.0 e SIGA Advanced 4.06 não existe a necessidade de executar este programa.
Este programa é em DOS e solicita os Seguinte parâmetros:Banco de Dados : MSSQL / MSSQL7Alias : <Nome do Ambiente definido no TopConnect>Nome do Servidor : <Nome do Servidor> (Atenção não é o nome do Domínio)ou
Banco de Dados : ORACLEBanco de Dados : DB2Banco de Dados : AS/400Banco de Dados : SYBASE / ANYSYB / ANYWHERE Banco de Dados : INFORMIX
Este programa estará apresentando a empresa que está processando e os campos que estão sendo verificados.
59
Utilizando TopConnect com Banco de Dados em várias plataformas
15. Novas Implementações
Os bancos de dados também possuem a possibilidade de executarem rotinas independentes, que são chamadas Stored Procedures (programas escritos totalmente em SQL, armazenados no banco). Estas rotinas são executadas diretamente no servidor, sem tráfego algum pela rede, melhorando assim a performance do sistema. A única premissa necessária para sua utilização é que o servidor tenha capacidade para suportar a execução das stored procedures e também a administração dos serviços iniciados..As rotinas de processamento do SIGA Advanced já estão sendo escritas em SQL, por exemplo a rotina de reprocessamento contábil é um dos processos que pode ser executado tanto no servidor como na estação.Para cliente AS/400 temos também as rotinas escritas em linguagem nativa (COBOL 400), que aumenta em muito a performance de processamento.Nos relatórios , estamos utilizando o recurso de montar uma query para obter os dados necessários em uma única solicitação ao servidor, ao invés de solicitar registro a registro na indregua ou criatrab (o que aumenta o tráfego de rede e o tempo de resposta do SQL)
16. Performance na programação de RDMAKES no SIGA Advanced
No RDDEMO.PRW existem alguns exemplos de execução de rotinas em SQL.
Exemplo de TCquery´s :
60
Local cQuery := ''
#IFDEF TOP If (TcSrvType()#'AS/400') cQuery := "SELECT SE1.R_E_C_N_O_, SE1.E1_FILIAL" cQuery += " FROM "+RetSQLName("SE1")+" SE1 (NOLOCK INDEX = “+RetSQLName("SE1")+"1 ) " cQuery := cQuery + "Where E1_FILIAL = '"+xfilial("SE1")+"' and E1_CLIENTE >= '"+mv_par01+ "' and E1_CLIENTE <= '"+mv_par02+ "' and " cQuery := cQuery + " E1_PREFIXO >= '"+mv_par03 +"' and E1_PREFIXO <= '"+mv_par04 + "' and " cQuery := cQuery + " E1_NUM >= '"+mv_par05 +"' and E1_NUM <= '"+mv_par06 + "' and " cQuery := cQuery + " E1_PORTADO >= '"+mv_par07 +"' and E1_PORTADO <= '"+mv_par08 + "' and " cQuery := cQuery + " E1_VENCREA >= '"+dtos(mv_par09) +"' and E1_VENCREA <= '"+dtos(mv_par10) + "' and " cQuery := cQuery + " E1_NATUREZ >= '"+mv_par11 +"' and E1_NATUREZ <= '"+mv_par12 + "' and " cQuery := cQuery + " E1_EMISSAO >= '"+dtos(mv_par13) +"' and E1_EMISSAO <= '"+dtos(mv_par14) + "' and " cQuery := cQuery + " E1_EMISSAO <= '"+dtos(dDataBase) +"' and " cQuery += " D_E_L_E_T_ <> '*'" cQuery += " ORDER BY SE1.E1_FILIAL, SE1.E1_PREFIXO, SE1.E1_NUM, SE1.E1_CLIENTE"
cQuery := ChangeQuery(cQuery)
dbUseArea( .T., 'TOPCONN', TCGENQRY(,,cQuery), 'TRB', .F., .T.) // Para Programas Compilados
OU
TCQUERY cQuery NEW ALIAS 'TRB' // Para RDMakes
Else #ENDIF
Utilizando TopConnect com Banco de Dados em várias plataformas
17. Erros mais comuns entre SQL Server x TopConnect x SIGA Advanced
17.1. Erros apresentados na estação com o SIGA Advanced17.1.1. Falha Conexão TopConn
Esta mensagem indica erro na conexão entre o SIGA Advanced e o TopConnect onde devemos verificar os seguintes passos:- Verificar se o arquivo de configuração ADV97.INI está configurado adequadamente.- Verificar se não existe mais do que um ADV97.INI- Verificar se o(s) protocolo(s) instalado(s) está(ão) de acordo com o do servidor- Verificar se o TopConnect foi iniciado- Verificar no TopConnect se o ambiente criado é o mesmo do arquivo ADV97.INI (Não
válido para ORACLE)- Verificar no LOG de eventos do TopConnect as mensagens reportadas pelo Banco
61
Utilizando TopConnect com Banco de Dados em várias plataformas
17.1.2. Travamento da Estação Deve-se verificar os eventos gerados no LOG do TopConnect ,por que quando acontece um erro de resposta do servidor o TopConnect não devolve a resposta para a estação, portanto a estação fica travada.
17.1.3. Data type Error ( Gerado no arquivo de Log do SIGA Advanced )Este erro é gerado quando o TopConnect não consegue avaliar em sua estrutura de dicionário de dados no banco a existência do mesmo (Existe uma cópia do SX3 no banco - apenas das tabelas que o sistema criou). Para resolver este problema você precisa salvar os dados desta tabela, apagá-la e recriá-la pelo SIGA Advanced, que irá atualizar a tabela TOP_FIELD, para finalmente retornar os dados.
OBS: Para deletar uma tabela no banco você deve antes parar o serviço do TopConnect, deletar a tabela e depois iniciar o serviço novamente.
17.1.4. Não aparece a tela de login do SIGA AdvancedVocê deve estar utilizando o ADV97.INI com TCPIP, portanto o mesmo não conseguiu encontrar o endereço IP informado, verifique este arquivo e siga as verificações sugeridas no tópico 14.1.1
17.2. Erros apresentados no Servidor (LOG de eventos do TopConnect)
17.2.1. Falha no loginEste erro é apresentado no LOG de eventos do TopConnect, você deve verificar a igualdade entre o login e senha cadastrados no SQL Server com o TopConnect.
17.2.2. Erros do Banco de DadosTodos os erros reportados no LOG de eventos do TopConnect são gerados pelo Banco de Dados, através de um comando de sintaxe errado, estouro de espaço no Log ou TempDB, erro na verificação dos índices, etc.
18. Comparação entre ambientes DBF e SQL
Os clientes que utilizavam plataforma DBF e passaram para o SQL perceberam que existe uma queda de performance considerável, devido ao grande número de tarefas que o banco de dados esta realizando para segurança dos dados, e também existe a parte de decodificação de um comando Clipper para um comando SQL feita pelo Top Connect e vice-versa.
Esta perda com certeza é compensada pela confiabilidade dos bancos de dados SQL apresentam, e também que, em um futuro bem próximo, todos os programas do Siga Advanced estarão muito adaptados a trabalharem com “Querys”, o que os tornarão muito mais eficientes para trabalhar com volumes de dados grandes do que os DBF´s.
62