Escrito por Adriano Corrêa
em 13 de setembro de 2010, 14:59h
Dicas do processo de conversão para o produto Datasul: Instalação
[Leia mais]
Escrito por Adriano Corrêa
em 30 de abril de 2010, 08:03h
Nova ferramenta para controlar bancos de dados.
[Leia mais]
Escrito por Eloi Rene Pscheidt
em 14 de abril de 2010, 10:19h
Este post descreve a correção Progress que permite a reindexação de tabelas com tamanho superior a 2GB sem necessidade de configurações adicionais.
[Leia mais]
Escrito por Adriano Corrêa
em 27 de janeiro de 2010, 16:47h
O Alternate Buffer Pool permite gerenciar a alocação de memória a nível de tabela ou índice.
[Leia mais]
Escrito por Adriano Corrêa
em 26 de março de 2009, 14:21h
Como conectar um banco de dados Progress sobre a versão IPV6.
[Leia mais]
Escrito por Gionei Mistura
em 18 de março de 2009, 11:54h
IPv6 é a nova versão do protocolo IP (Internet Protocol version 6), o qual deverá substituir progressivamente o IPv4 (Internet Protocol version 4), ampliando o espaço de endereçamento de 32 bits para 128 bits.
A Internet não foi projetada inicialmente para uso comercial. No início dos anos 80, ela era uma rede acadêmica, com cerca de 100 computadores. Na época, não se imaginava que a quantidade de endereçamentos IP pudesse esgotar. Porém, houve uma má distribuição dos endereços IP em seu projeto inicial.
No IPv4, os endereços IP são montados em 4 octetos. Tomando como exemplo o IP 192.168.0.10/24:
Representação Decimal IP
192
168
0
10
Representação Binária IP
11000000
10101000
00000000
00001010
Representação Decimal Máscara
255
255
255
0
Representação Binária Máscara
11111111
11111111
11111111
00000000
Através da representação binária, é feito um "AND" binário do IP com a máscara, para saber á que rede aquele IP pertence.
Os endereços IPV4 são formados por 32 bits, dos quais parte representam a rede e outra parte os hosts. Com essa quantidade de bits é possível obter 4294967296 (pouco mais de 4 bilhões) de endereços IP, os quais são divididos entre as classes A, B e C (existem outras classes, porém não utilizadas).
Classe A: Compreende os endereços "0.*.*.*" a "126.*.*.*". Conhecida como "/8", onde 8 bits são utilizados para endereçar a rede.
Classe B: Compreende os endereços "128.0.*.*" a "191.255.*.*". Classificada como "/16", pois 16 bits são utilizados para endereçamento de rede.
Classe C: De "192.0.0.*" a "213.255.255.*". É classificada como "/24", onde 24 bits endereçam a rede. Dos 32 bits do endereço, sobram 8 bits para endereçar os hosts, o que significa que cada rede classe C pode ter um total de 254 hosts (utilizando a máscara padrão).
A imagem abaixo mostra a distribuição dos endereços IPv4 no mundo:
Diversas soluções paliativas foram utilizadas para tentar adiar o problema. Entre elas, a utilização de NAT (Network Address Translation), que faz a tradução de endereçamentos de uma rede interna para uma rede externa. A IANA (Internet Assigned Numbers Authority), que é a entidade que administra a distribuição dos endereços IP, prevê para 2011 o esgotamento dos endereços IPv4.
Além disso, o endereço de loopback (127.0.0.1) é um endereço de Classe A. Somente a escolha desta rede para este fim já desperdiça cerca de 16 milhões de endereços IP.
Este post está dividido em 2 partes. No próximo post, explicaremos sobre o funcionamento do IPv6.
Escrito por Adriano Corrêa
em 26 de janeiro de 2009, 08:10h
A partir da versão 10.1B o Progress permite conectar mais de um banco de dados no mesmo acesso ODBC ou JDBC, possibilitando executar queries de consulta nos vários bancos utilizados.
Esse acesso possui severas limitações:
A conexão é feita em dois passos: Conecta-se o primeiro banco (primário) e depois conecta-se os demais (catálogo).
Ambos devem estar na mesma máquina. Quem faz o acesso ao banco catálogo é o processo _sqlsrv2 no banco primário.
Apenas o banco primário poderá sofrer alterações. Os bancos "catálogo" são conectados apenas para leitura.
O banco primário é conectado obrigatoriamente em modo cliente-servidor. Os bancos "catálogo" são conectados obrigatoriamente em modo self-service (acesso direto à shared-memory).
O usuário e senha usados na conexão do banco primário serão usados para conexão dos bancos catálogo.
Quando ocorre uma conexão SQL, o Progress inicia para o banco de dados um processo server (_sqlsrv2) para estabelecer o acesso. Esse processo poderá ser identificado no promon como SQSV. Quando o número mínimo de usuários por servidor for atingido (-Mi) o processo inicia um novo processo server, e assim por diante, até estourar a quantidade de servers permitido (-Mn ou -Mpb).
Quando ocorre uma conexão a um banco catálogo, o Progress estabelece uma conexão chamada SQFA (SQL Federated Agent). Essa conexão é equivalente ao SQSV, porém sem o processo _sqlsrv2 associado. O acesso real do usuário é reconhecido no Progress como SQFC (SQL Federated Client). Da mesma forma que o SQSV, um novo SQFA é criado quando estoura o parâmetro -Mi.
É possível conectar um banco catálogo de duas formas:
Da forma manual, execute o comando: connect 'c:\banco\demo' as catalog demo; .
Da forma automática, utilize o parâmetro -mdbq. Simulei essa situação conforme o exemplo a seguir:
Criei dois bancos de dados exemplo, a partir dos bancos sports e demo, que a Progress disponibiliza. Serví ambos com os comandos:
proserve sports -S 30000
proserve demo -S 40000
Vou conectar o banco sports como primário e o banco demo como catálogo. Dessa forma, criei no diretório do banco de dados sports, o arquivo sports.oesql.properties com o seguinte conteúdo:
[sql-configuration]
configuration-names-list=cfgTeste
[configuration.cfgTeste]
database-id-list=dbdemo
[database.dbdemo]
Name=dbdemo
Catalog=demo
Location=d:\workarea\catal\demo
Com o arquivo configurado, abrí o SQL Explorer com a seguinte sintaxe:
sqlexp -db sports[-mdbq:cfgTeste] -H localhost -S 30000 -N TCP
Dentro do SQL Explorer, executei o seguinte comando para verificar os bancos conectados:
show catalogs all;
Ele apresentou a seguinte informação:
PRO_NAME PRO_TYPE PRO_STATUS
-------------------------------- --------- ----------
SPORTS primary default
DEMO auxiliary notdefault
Esse é um exemplo de conexão utilizando JDBC. Para conexão ODBC, proceda da mesma forma, adicionando o parâmetro -mdbq no nome do banco especificado no DSN.
Escrito por Eloi Rene Pscheidt
em 23 de janeiro de 2009, 19:24h
Conheça um pouco desta nova funcionalidade do Oracle e como o Progress pode se beneficiar dela.
[Leia mais]