apostila_topconnect_sql

84
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. 1

Upload: rit-ler-antonio-de-almeida

Post on 03-Jan-2016

26 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Apostila_Topconnect_SQL

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

Page 2: Apostila_Topconnect_SQL

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

Page 3: Apostila_Topconnect_SQL

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

Page 4: Apostila_Topconnect_SQL

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

Page 5: Apostila_Topconnect_SQL

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

Page 6: Apostila_Topconnect_SQL

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

Page 7: Apostila_Topconnect_SQL

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

Page 8: Apostila_Topconnect_SQL

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

Page 9: Apostila_Topconnect_SQL

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

Page 10: Apostila_Topconnect_SQL

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

Page 11: Apostila_Topconnect_SQL

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

Page 12: Apostila_Topconnect_SQL

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

Page 13: Apostila_Topconnect_SQL

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

Page 14: Apostila_Topconnect_SQL

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

Page 15: Apostila_Topconnect_SQL

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

Page 16: Apostila_Topconnect_SQL

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

Page 17: Apostila_Topconnect_SQL

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

Page 18: Apostila_Topconnect_SQL

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

Page 19: Apostila_Topconnect_SQL

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

Page 20: Apostila_Topconnect_SQL

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

Page 21: Apostila_Topconnect_SQL

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

Page 22: Apostila_Topconnect_SQL

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

Page 23: Apostila_Topconnect_SQL

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

Page 24: Apostila_Topconnect_SQL

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

Page 25: Apostila_Topconnect_SQL

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

Page 26: Apostila_Topconnect_SQL

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

Page 27: Apostila_Topconnect_SQL

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

Page 28: Apostila_Topconnect_SQL

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

Page 29: Apostila_Topconnect_SQL

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

Page 30: Apostila_Topconnect_SQL

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

Page 31: Apostila_Topconnect_SQL

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

Page 32: Apostila_Topconnect_SQL

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

Page 33: Apostila_Topconnect_SQL

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

Page 34: Apostila_Topconnect_SQL

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

Page 35: Apostila_Topconnect_SQL

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

Page 36: Apostila_Topconnect_SQL

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

Page 37: Apostila_Topconnect_SQL

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

Page 38: Apostila_Topconnect_SQL

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

Page 39: Apostila_Topconnect_SQL

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

Page 40: Apostila_Topconnect_SQL

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

Page 41: Apostila_Topconnect_SQL

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

Page 42: Apostila_Topconnect_SQL

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

Page 43: Apostila_Topconnect_SQL

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

Page 44: Apostila_Topconnect_SQL

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

Page 45: Apostila_Topconnect_SQL

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

Page 46: Apostila_Topconnect_SQL

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

Page 47: Apostila_Topconnect_SQL

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

Page 48: Apostila_Topconnect_SQL

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

Page 49: Apostila_Topconnect_SQL

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

Page 50: Apostila_Topconnect_SQL

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

Page 51: Apostila_Topconnect_SQL

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

Page 52: Apostila_Topconnect_SQL

Utilizando TopConnect com Banco de Dados em várias plataformas

12.2.2. Conexões

12.2.3. Utilização

52

Page 53: Apostila_Topconnect_SQL

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

Page 54: Apostila_Topconnect_SQL

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

Page 55: Apostila_Topconnect_SQL

Utilizando TopConnect com Banco de Dados em várias plataformas

Ambientes

Sql Server 6.5

55

Page 56: Apostila_Topconnect_SQL

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

Page 57: Apostila_Topconnect_SQL

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

Page 58: Apostila_Topconnect_SQL

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

Page 59: Apostila_Topconnect_SQL

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

Page 60: Apostila_Topconnect_SQL

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

Page 61: Apostila_Topconnect_SQL

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

Page 62: Apostila_Topconnect_SQL

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