3_progress na prática

40
Progress na prática Migrando V8/V9 para OpenEdge ® 10 Regis Martins Ezipato Pre Sales Manager

Upload: edison-roberto-pitoli

Post on 03-Mar-2015

174 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 3_Progress na Prática

Progress na práticaMigrando V8/V9 para OpenEdge® 10

Regis Martins EzipatoPre Sales Manager

Page 2: 3_Progress na Prática

© 2008 Progress Software Corporation2 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

O que há de novo no RDBMS?

• BLOB, CLOB• Datetime, Datetime-TZ• INT64 (no conversion)

• Type II Storage Areas• Fast Drop & Temp tables• Increased shmem –B 1 billion• Internal algorithmic enhancements

• Buffers, Locks, Indexing• Improved APW scanning

• Auto Record Defrag• Enhanced Txn Backout• New Defaults

• Log File• New format• Significant events• Improved management

• Db I/O by User by Object• Database Describe

• 64 bit Rowids• 64 bit Sequences• 64 bit Integer Datatype• Large Index Key Entries (1970)• 32,000 areas• 8 TB Shmem

Performance Visibilidade

Suporte a Grandes Bases

Suporte a Tipo de Dados

Page 3: 3_Progress na Prática

© 2008 Progress Software Corporation3 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

O que há de novo no RDBMS?

• Online Schema adds• Sequences• Tables• Fields• Indexes w/fast fill

• Online space management• Enabled/Disable AI online• Enable AI Mgmt online• HA Clusters Bundled

• Index Rebuild• By area, table, active status

•.st file syntax checker• AI Management• Multi threaded utilities

• idxbuild, binary dump• Binary Dump without index• Binary Load Performance• Index Fix with NO-LOCK

• SSL• Auditing

Alta Disponibilidade

Segurança

Manutenção

Page 4: 3_Progress na Prática

© 2008 Progress Software Corporation4 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

� Estratégia Geral de Migração� Upgrade rápido e fácil� Upgrade Físico� Oportunidade de Tuning

Agenda

Page 5: 3_Progress na Prática

© 2008 Progress Software Corporation5 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Passos Básicos

� Preparação• BI truncado, Desabilitar AI, 2PC, e Replication (V9)• Backup (V8/9)

� Instalação• Instalar OpenEdge• Não precisa desintalar V8/9• *Não sobrescrever seu diretório Progress

� Upgrade• Upgrade DB para OpenEdge 10• Faça backups !!!!• Recompile/Redistribua seu código ABL se o cliente é

OpenEdge� Execute a aplicação e teste, teste…teste

Primeiro detalhe o planejamento, revise, teste e ENTÃO execute

Page 6: 3_Progress na Prática

© 2008 Progress Software Corporation6 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

A Aplicação

� Seguro� Instale OpenEdge em sua máquina de teste existente� proutil <test db> -C conv910*� Recompile sua aplicação* e teste

� Rápido� Upgrade do site cliente remoto ou local� Recompile sua aplicação* e teste

� Apresentação• Upgrade de sistemas remoto com OpenEdge� Servidor remoto do cliente, Servidor de aplicações remoto� “retire” a aplicação recentemente construída (PROPATH) e

teste* O código ABL precisa ser reompilado somente para promover o cliente V10. Na

codificação em 3 camadas (com AppServer™) o cliente ainda pode ser V9. Nãoé possível através do SQL ou V8.

* Você terá que converter um DB de V8 para V9 antes de converter para OpenEdge

Page 7: 3_Progress na Prática

© 2008 Progress Software Corporation7 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

� Estratégia Geral de Migração� Upgrade rápido e fácil� Upgrade Físico� Oportunidade de Tuning

Agenda

Page 8: 3_Progress na Prática

© 2008 Progress Software Corporation8 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Distribuição

� Preparação• BI truncado• Desabilitar AI, 2PC, Replication (V9)• Backup das bases de dados (V8/9)• Validar backup

� Instalar OpenEdge 10 no servidor• E todas as outras partes!! (Clientes devem fazer o

upgrade antes do servidor)� Recompile e re-distribua a aplicação (se necessário)

• Client/Server V9 para OpenEdge 10• Clientes V9 para V10, AppServer para V10, base de

dados está habilitada

Page 9: 3_Progress na Prática

© 2008 Progress Software Corporation9

Conectividade: Progress® V9 e OpenEdge 10� Mix de configuração ABL : Progress V9 e OpenEdge 10

são suportados• Uma versão (clientes para servidores)• Uma versão encaminhada (clientes para Application

Server)� Combinar o SQL

Refere-se de produto por produto para detalhes adicionais

ClienteCliente ServidorServidor Base de dadosBase de dados

910910109991091010101010

Novo no

OpenEdge 10

Page 10: 3_Progress na Prática

© 2008 Progress Software Corporation10 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Conversão da base de dados

� Executar utilitário de conversão_proutil <db> -C conv910 –B 512

� Conversão executa em 5 minutos ou menos� Basicamente um upgrade no schema

• Sem mudanças de registros ou indices • Sem mudanças na estrutura física

� Backup da base de dados� Reiniciar base de dados e aplicação

Page 11: 3_Progress na Prática

© 2008 Progress Software Corporation11 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

� Estratégia Geral de Migração� Upgrade rápido e fácil� Upgrade Físico� Oportunidade de Tuning

Agenda

Page 12: 3_Progress na Prática

© 2008 Progress Software Corporation12 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Áreas de armazenamento?

� Performance, escalabilidade e manutenção� Vantagens nas novas características� Nenhum efeito adverso na aplicação

• Reorganização física não muda a aplicação• A posição dos objetos é abstraída da

linguagem pela camada de mapeamento• Diferentes distribuições físicas podem ser

executadas com o mesmo .r compilado

Page 13: 3_Progress na Prática

© 2008 Progress Software Corporation13 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Como chegar lá

� Preparação (o mesmo de antes)• Truncar BI, desabilitar AI, backup, validar, instalar…

� Reorganização física• Upgrade da base de dados para OpenEdge 10

– Utilitário de conversão– prostrct create (obrigatório mudar o tamanho do bloco)

� Mudanças físicas (não requer mudanças no .r)• Dados de usuário separados do schema• Criação de novas áreas de armazenamento

– Especificar registros por blocos– Especificar o tamanho do cluster para área tipo II

Page 14: 3_Progress na Prática

© 2008 Progress Software Corporation14 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Como chegar lá

� Reorganização Física• Espalhe os dados pelas novas áreas• Mova os indices

� Opções Online vs Opções offline • As mudanças do tamanho de bloco da base

de dados são Offline� Depois da reorganização

• Espaço utilizado na recuperação– Truncar area de dados velha– Deletar area de dados velha

Page 15: 3_Progress na Prática

© 2008 Progress Software Corporation15 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Mudanças Físicas:Localização, Localização, Localização

� Criar arquivo .st com novo layout• Configurar os registros por blocos

� Usar Areas de Armazenamento tipo II• Tabelas 64 ou 512 clusters por bloco• Indices 8 ou 64 blocos por cluster

d “Cust/Bill Indexes“:7,1;8 /d_array2/myDB_7.d1 f 512000

d “Cust/Bill Indexes“:7,1;8 /d_array2/myDB_7.d2

#

d “Customer Data“:8,16;64 /d_array2/myDB_8.d1 f 1024000

d “Customer Data“:8,16;64 /d_array2/myDB_8.d2#d “Billing Data“:9,32;512 /d_array2/myDB_9.d1 f 1024000 d “Billing Data“:9,32;512 /d_array2/myDB_9.d2

Page 16: 3_Progress na Prática

© 2008 Progress Software Corporation16 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Mudanças Físicas

� Primeiro validarprostrct add <db> new.st -validate

� Depois mudarprostrct add <db> new.st

OU:prostrct addonline <db> new.st

The Structure file format is valid. (12619)

Page 17: 3_Progress na Prática

© 2008 Progress Software Corporation17 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Movendo Tabelas e Índices

1. Mover Tabela e Índice• Online (através do primeiro índice)

2. Dump e Load (D&L)• Com ou sem reconstrução de índices• Aplicação deve estar offline

� Sugestão: Mix da opção #1 e #2• 1º remover/arquivar dados desnecessários• Mover as tabelas pequenas (número de blocos)• D&L e mais

3 opções de movimento de dados

Page 18: 3_Progress na Prática

© 2008 Progress Software Corporation18 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Dump e Load

� Dados Textuais• ASCII dump• ASCII load• A maior parte da carga segue a partir da reconstrução do

índice� Binário

• Dump Binário• Load Binário

– Com índice reconstruído– A partir da reconstrução do índice

� (Texto ou raw)• D&L com triggers• Buffer-Copy / Raw-data-transfer / Export/Import• Pode ser difícil, provavelmente você pedirá ajuda

3 Dump e Load

Page 19: 3_Progress na Prática

© 2008 Progress Software Corporation19 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Estratégia Geral de Dump e Load

� Criar uma nova estrutura da base de dados• Adicionar a um DB existente• Nova base de dados

� Executar tabanalys� Dump de dados, sequências e usuários� Definições de Dados

• Definições de Dump• Modificar as áreas de armazenamento• Definições de Load

� Carregar os dados na tabela� Configuração de índices (se necessário) [10.1C pode

especificar o pacote]� Executar tabanalys� Backup

Page 20: 3_Progress na Prática

© 2008 Progress Software Corporation20 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Dump de dados pelo Dicionário

� Ferramentas do Banco de Dados� OU: run prodict/dump_d.p(<table>, <dir>,<codepage>).

� Vantagens:• Rápido e Fácil• Paralelo• Nenhuma edição…

� Desvantagens:• Arquivo com limite de tamanho de 2 GB ** Pré 10.1C• Não pode escolher• Tem que exportar toda a tabela• Deve garantir que não haja mudanças nas tabelas entre D&L

Page 21: 3_Progress na Prática

© 2008 Progress Software Corporation21 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Usando Dump Binário

� Vantagens:• Rápido e fácil• Sem o limite de 2 GB • Pode escolher a ordem de dump (pelo índice)• Pode exportar porções de dados da tabela• Multi tarefa (10.1B)• Pode exportar múltiplas tabelas em paralelo

� Desvantagens:• Não pode mudar nada entre o Dump e Load

Page 22: 3_Progress na Prática

© 2008 Progress Software Corporation22 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Dump Binário especificado

proutil <db> -C dumpspecified <table.field> <operator> ‘field-value1 AND operator value2’ <dir> -preferidx <idx-name>

� 10.1B03 permite múltiplos valores� Trocas

• Campo da tabela DEVE ser primeiro participante no índice• Operadores Válidos: LT, GE, LE, GT, EQ• -preferidx determina índice específico a usar• -index, -thread são ignorados

� Performance• Threaded é preferido• Pode rodar em paralelo com muitos valores únicos

� Precauções• Cuidado com índices descendentes

Page 23: 3_Progress na Prática

© 2008 Progress Software Corporation23 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Tarefa do Dump Binário

proutil <db> -C dump <table> <dir> -index <index #>-thread 1 -threadnum <n>-dumpfile <filelist> -Bp 64

� -index <n>• Escolhe o índice a ser usado na leitura• -index 0

– Rápido dump, leitura lenta– Assume vindo de área do Tipo II

� -thread indica dump multi tarefa• # threads automático (# CPUs) • –threadnum máx de # CPUs * 2• Threads somente disponível em multi usuário• Workgroup suporta somente 1 thread

� -dumpfile usado como input para o load

Page 24: 3_Progress na Prática

© 2008 Progress Software Corporation24 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Dump de Dados Completo.

Reorganize a Configuração de Área/Objeto

Page 25: 3_Progress na Prática

© 2008 Progress Software Corporation25 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Dump & Modificação de definição de dados

� Use Data administration � OU:

run prodict/dump_df.p(‘ALL’, ‘<mydb>.df’, ‘ ’).

Se usando bulk load:run prodict/dump_fd.p(‘ALL’, ‘<mydb>.fd’).

Page 26: 3_Progress na Prática

© 2008 Progress Software Corporation26 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Dump & Modificação de definição de dados

� Altere arquivos .df• Opcionalmente delete tabelas velhas• Altere Áreas das Tabelas

� Delete/Drop tabelas� Leitura da Definição de Tabelas

• Data administration• OU: run prodict/load_df.p(“<mytable>.df").

ADD TABLE "mytable2"AREA “Old Default Area"

DROP Table “mytable2”

ADD TABLE "mytable2"AREA “New Data Area"

Page 27: 3_Progress na Prática

© 2008 Progress Software Corporation27 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Alternativa para Modificação da Definição de Dados

� Truncar objetos é mais rápido do que mover/deletarproutil <db> -C truncate area “Old Default Area”

Cuidado quando deletar dados (mas não o schema)

� Reindexar/ativar índices vazios (se movendo)proutil <db> -C idxbuild inactiveindexes

Pode ser feito ONLINE, não apenas a indexação mas a ativação

� Mova tabelas/índices vazios para nova áreaproutil <db> -C tablemove <table> <area> [ index-area ]

Se todos os dados estão na área exportada

Page 28: 3_Progress na Prática

© 2008 Progress Software Corporation28 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Lendo

Coisas a considerar...

� Habilite suporte a large files• No Sistema Operacional (ulimit)• No Filesystem / volume groups• No Banco de Dados

Page 29: 3_Progress na Prática

© 2008 Progress Software Corporation29 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Bulkload

proutil <db> -C bulkload <fd-file> -B 1000 –i –Mf 10

� Entrada de dados do dicionário ou exportação customizada• Mencionado aqui para tabelas completas

� Lembretes:• Limite de 2 GB (pré 10.1C)• Leitura de uma tabela por vez (mono usuário)• Não usa índice na entrada

– Requer indexação separada

• Nenhuma vantagem sobre outros métodos• Mais lento do que outros métodos

Page 30: 3_Progress na Prática

© 2008 Progress Software Corporation30 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Load pelo Dicionário

� Data Administration Tool� OU:

run prodict/load_d.p(‘table1’, ‘table1.d’).

� Entrada de dados pelo dicionário ou exportação de dados customizados• Limite de 2 GB por leitura (pré 10.1C)

� Leitura de Dados em paralelo (para tabelasseparadas)• Inclui entrada nos índices• Árvore de índices imperfeita

� Performance perto do load binário + reindexação• (quando lendo múltiplas tabelas)

Page 31: 3_Progress na Prática

© 2008 Progress Software Corporation31 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Load Binário

proutil <db> -C load <table>.bd [build]

� Leitura para áreas novas ou truncadas• Truncada ao invés de “esvaziada”

� Leitura paralela para tabelas diferentes• Áreas iguais ou diferentes sem distanciamento!

Usando Área do Tipo II� Opcionalmente leitura com criação de índices

• Pode ter melhor performance

Page 32: 3_Progress na Prática

© 2008 Progress Software Corporation32 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Load Binário

proutil <db> -C load <table>.bd-dumplist <filename>

� Arquivo Dump List:/usr1/db/mytable.bd/usr1/db/mytable2.bd/usr1/db/mytable3.bd

� Deve ler todos os dumps (.db, db2, .db3, …)

À partir da exportação com multi tarefa

Page 33: 3_Progress na Prática

© 2008 Progress Software Corporation33 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Ajustando o Processo

� Dump com• –RO, aumente –B e/ou -Bp• Dump com índice com menos # blocos (se possível)

� Load com• Maior –B, –r** or –i**• BIW, 1.5 APW’s por CPU,• Cluster de BI bem grande com blocos de 16K • Sem AI/2PC

� Espalhe dados, BI e arquivos temporários atravésdos discos / controladoras

Ajustando as atividades para cima

Page 34: 3_Progress na Prática

© 2008 Progress Software Corporation34 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Depois da Leitura

proutil <db> -C idxbuild [ all |table <table> | area <area> schema <owner> | activeindexes | inactiveindexes] [-thread n] [-threadnum n] [-T <dir>] [-TM n] [–TB <blocksize>] [-B n] [-SG n] [-SS <file>] [-pfactor n]

� Vários índices novos escolhidos� Parâmetros para auxílio

• -SG 64 (sort groups)• -SS filename (arq. que contém arquivos de sort)• -TM 32 (buffers de merge)• -TB 31 (buffers de sort)• -B 1000

� Rode um tabanalys• valida # registros

� Backup de sua base de dados

Recontrução de Índices (onde aplicável)

Page 35: 3_Progress na Prática

© 2008 Progress Software Corporation35 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Agenda

� Estratégia Geral de Migração� Upgrade rápido e fácil� Upgrade Físico� Oportunidade de Tuning

Page 36: 3_Progress na Prática

© 2008 Progress Software Corporation36 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Oportunidade para tuning

� -Bt (temp tables são armazenadas em áreas do tipoII) – parâmetro de cliente

� 10.1B+ altera o tamanho do bloco da Temp table• De 1K para 4K• –tmpbsize 1 restaura o antigo padrão – parâmetro de

cliente� Monitore o Tamanho do Cluster de BI

• Notas de BI são maiores na OpenEdge 10� BI cresce mais

Page 37: 3_Progress na Prática

© 2008 Progress Software Corporation37 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Resumo

� Conversão é rápida• Atualização física garante seu

sossego• Muitas opções de reorganização

física� Mudança pode ser simples� 10,000+ clientes no OpenEdge

Page 38: 3_Progress na Prática

© 2008 Progress Software Corporation38 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Perguntas

Page 39: 3_Progress na Prática

© 2008 Progress Software Corporation39 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10

Obrigado

Page 40: 3_Progress na Prática

© 2008 Progress Software Corporation40 OPS-10: Moving V8/V9 RDBMS to OpenEdge 10