DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho Objetivos Apresentar algumas melhorias do DB2 for OS/390 Versão 8 em relação a versões anteriores Introduzir conceitos utilizados na nova versão Formar base de conhecimento para as demais apresentações do evento Orientação principal para aspectos da administração de banco de dados Principais aspectos Escalabilidade Disponibilidade Desempenho Funcionalidade Instalação e migração Conclusões Escalabilidade Escalabilidade Removendo inibidores de crescimento Explorando arquitetura de 64 bits Mais partições Mais arquivos log Aumentando limites no SQL Removendo inibidores de crescimento Limites do DB2 for z/OS : Memória Virtual Logs Ativas Logs Arquivadas Partições Tamanho do SQL Tabelas no join V7 231 31 1000 254 32 KB 15 V8 264 93 10,000 4096 2 MB 225 Explorando arquitetura de 64 bits Memória Expandida Memória Central Memória Central S/370 24-bit XA/ESA 31-bit Memória Central z/Architecture 64-bit Memória Virtual Memória Virtual Memória Virtual Arquitetura Antiga S/370 Arquitetura Atual ESA Suporte para endereçamento real fornecido pela z/Architecture do OS/390 V2R10 Sistema Operacional suportando aplicações de 24-bit, 31-bit e 64-bit 128GB (64GB máximo atual no z900) de memória central Registradores de 64 bits, etc... Evolução de 64 bit Suporte de hardware para 64 bit zSeries, z/Architecture (z800, z900, z990) Suporte do sistema operacional Suporte de 64 bit para Memória Real (OS/390 V2R10 ESAME mode +) Grandes quantidades de memória real (para performance) Melhoria em todas as versões do DB2 Vantagens do data space na V6 (melhor que hiperpool) Suporte de 64 bit para Memória Virtual (z/OS V1.2 +) Explorado pelo DB2 V8 (requer z/OS 1.3) Move grandes áreas de memória para acima da barra Explorado pelo IRLM V2.2 (parte do DB2 V8) Bloqueios sempre na memória privada acima da barra Melhora escalabilidade, disponibilidade e facilidade Não necessita mais de hiperpool ou data space Utilização de 64 bit pelo DB2 movimentação acima da barra 16 EB DBM1 Buffer pool EDM pool (DSC+DBD) RID lists Sort pool Compression dictionary Barra 2 GB 16 M 0 Suporte para 4096 partitions Número máximo de partições aumentado de 254 para 4096 Table spaces e índices Table space usa DSSIZE para ir além de 254 partições ALTER TS ADD PARTITION acrescenta partições ao final Tamanho máximo da tabela continua 16 TB para páginas de 4 KB Convenção para nomes de arquivos expandida 'A001‘ - 'A999' partições 1-999 'B000' - 'B999' partições 1000-1999 'C000' - 'C999' partições 2000-2999 'D000' - 'D999' partições 3000-3999 'E000' - 'E096' partições 4000-4096 Número máximo de partições permitidas depende do tamanho da página e do DSSIZE Páginas de 4 KB, DSSIZE=1 GB => 4096 partições, 4 TB tamanho máximo da tabela Páginas de 4 KB, DSSIZE=64 GB => 256 partições, 16 TB tamanho máximo da tabela Suporte para mais arquivos log Aumento no número de logs ativas de 31 para 93 Aumento no número de logs arquivadas que podem ser registradas no BSDS de 1000 para 10000 Ambos requerem conversão prévia do BSDS para acomodar informação adicional Executar job DSNJCNVB para converter o BSDS Tem que estar em Modo de Novas Funções antes que a conversão seja permitida Aumentando limites no SQL Limites do DB2 for z/OS : V7 V8 Nome da tabela(*) 18 128 Nome da coluna 18 30 Chave de índice 255 2000 Literais em caráter 255 32704 Tamanho de predicados 55 32704 Tamanho do SQL 32 KB 2MB Tabelas no join 15 225 (*) Idem views, alias, índices, triggers, sinônimos Disponibilidade Disponibilidade Evolução online de esquema ALTER ao invés de DROP / CREATE Data Partitioned Secondary Indexes (DPSI) Recuperação a nível de sistema para um ponto no tempo Alteração online de mais parâmetros do DSNZPARM Evolução online de esquema Mudança de partições Adicionar uma partição ao final da tabela Rodar partições Redistribuir partições Desvinculação entre particionamento e clustering Possibilidade de fazer drop do partitioning index Data Partitioned Secondary Indexes Possibilidade de alterar o índice clustering Aplicável também a tabelas não particionadas Alteração de índices Adicionar colunas a índices Alteração de tabelas Possibilidade de alterar tipos de dados e tamanhos (aumentos) Inclui tipos de dados de colunas referenciadas em views Inclui alteração de colunas usadas em índices Adição de partição ao final da tabela ALTER TABLE ... ADD PARTITION ENDING AT ("31-12-2003"); ts Partição 1 1999 1999 Jan Jan Partição 2 1999 1999 Fev Feb Partição 58 2003 2003 Out Oct Partição 59 2003 2003 Nov Nov Partição 60 2003 2003 Dez Dec pi npsi dpsi Rotação de partições (1) ts Part 1 1999 1999 Jan Jan Part 2 1999 1999 Fev Feb Part 59 2003 2003 Nov Nov Part 60 2003 2003 Dez Dec pi npi Rotação de partições (2) ALTER TABLE ... ROTATE FIRST TO LAST ENDING AT ("31-01-2004") RESET; ts 1999 1999 Jan Jan Part 2 1999 1999 Fev Feb Part 59 2003 2003 Nov Nov Part 60 2003 2003 Dez Dec Part 1 pi npi Particionamento controlado pela tabela CREATE TABLE CUSTOMER ( ACCOUNT_NUM INTEGER, CUST_LAST_NM CHAR(30), ... LAST_ACTIVITY_DT DATE, STATE_CD CHAR(2)) PARTITION BY ( ACCOUNT_NUM ASC ) ( PARTITION 1 ENDING AT (199), PARTITION 2 ENDING AT (299), PARTITION 3 ENDING AT (399), PARTITION 4 ENDING AT (499) ) ; Tabela particionada 401 402 403 404 405 406 301 302 303 304 305 306 201 202 203 204 205 206 TB 101 102 103 104 105 106 Não necessita índices para particionamento !!! Classificação dos índices na Versão 8 Um índice pode estar ou não correlacionado às colunas de particionamento de uma tabela Partitioning index (PI) Secondary index Um índice pode ser ou não fisicamente particionado Partitioned Non-partitioned Índice clustering : Qualquer índice pode ser o clustering O índice clustering pode ser de chave não única Partitioned index and non-partitioned index Índice particionado - 1 partição por partição de dados Tabela particionada IX Índice não particionado 401 402 403 404 405 406 301 302 303 304 305 306 201 202 203 204 205 206 TB 101 102 103 104 105 106 IX 401,AM 402,PI 403,RO 404,PB 405,MS 406,MA 301,PR 302,MT 303,PA 304,SE 305,TO 306,AC 401,FEV,AM 402,MAR,PI 403,JUN,RO 404,SET,PB 405,OUT,MS 406,NOV,MA 301,ABR,PR 302,MAI,MT 303,JUN,PA 304,JUL,SE 305,SET,TO 306,NOV,AC 201,JAN,SP 202,FEV,RN 203,JUL,CE 204,AGO,RJ 205,OUT,PE 206,DEZ,SC 101,JAN,MG 102,FEV,AL 103,MAR,RS 104,ABR,ES 105,NOV,GO 106,DEZ,BA Tabela particionada 201,SP 202,RN 203,CE 204,RJ 205,PE 206,SC 101,MG 102,AL 103,RS 104,ES 105,GO 106,BA 401 402 403 404 405 406 301 302 303 304 305 306 201 202 203 204 205 206 101 102 103 104 105 106 Partitioning indexes (Partitioned and Non-Partitioned) Partitioned Partitioning index - part_ix_1 Non-partitioned Partitioning index - part_ix_2 AC AL AM BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RS SC SE SP TO JAN FEV MAR ABR NOV DEZ JAN FEV JUL AGO OUT DEZ ABR MAI JUN JUL SET NOV FEV MAR JUN SET OUT NOV 205,JAN,PE 206,FEV,SC 201,JUL,SP 202,AGO,RN 203,OUT,CE 204,DEZ,RJ 304,ABR,SE 303,MAI,PA 306,JUN,AC 302,JUL,MT 305,SET,TO 301,NOV,PR 404,FEV,PB 403,MAR,RO 405,JUN,MS 401,SET,AM 406,OUT,MA 402,NOV,PI Tabela particionada 106,JAN,BA 101,FEV,MG 102,MAR,AL 105,ABR,GO 104,NOV,ES 103,DEZ,RS Secondary indexes (Partitioned and NonPartitioned) Data Partitioned Secondary Index (DPSI) - data_part_si_1 Non-Partitioned Secondary Index (NPSI) - non_part_si_2 Benefícios do DPSI Online REORG Não executa a fase de BUILD2 com DPSI’s Carga de partições (LOAD PART) Sem páginas compartilhadas Remove contenção de páginas e problemas de sobrecarga do GPB Permite uso de estratégia mais eficiente para extensão de tabelas (APPEND) Operações mais fáceis a nível de partição Tornam mais fácil e eficiente a inclusão e exclusão de novas partições Falha de armazenamento Recuperação a nível de partição Sobrecarga em data sharing Designação por afinidade membro partição é efetiva no DPSI Permite paralelismo de query Outras melhorias de índices ALTER INDEX ADD COLUMN ALTER INDEX PADDED / NOT PADDED Chaves de índices com tamanhos variáveis (NOT PADDED) ALTER clustering index Para tabelas particionadas e não particionadas Efetivo imediatamente REORG necessário para reordenar todas as linhas existentes na sequência do novo índice clustering Outras melhorias na área de desempenho ALTER TABLE data types suportados na V8 FROM TYPE DO TIPODATA DE DADO TO DATA PARA TIPOTYPE DE DADO smallint smallint smallint smallint smallint smallint smallint smallint integer integer integer integer float(1-21) float(1-21)or orreal real <=decimal(7,s) <=decimal(7,s) <=decimal(15,s) <=decimal(15,s) decimal(p,s) decimal(p,s) char(n) char(n) char(n) char(n) varchar(n) varchar(n) varchar(n) varchar(n) graphic(n) graphic(n) graphic(n) graphic(n) vargraphic(n) vargraphic(n) vargraphic(n) vargraphic(n) integer integer float(1-21) float(1-21)or orreal real float(22-53) float(22-53)or ordouble double >=>=decimal(5,0) decimal(5,0) float(22-53) float(22-53)or ordouble double >=decimal(10,0) >=decimal(10,0) float(22-53) float(22-53)or ordouble double float(1-21) float(1-21)or orreal real float(22-53) float(22-53)or ordouble double decimal(p+a,s+b) decimal(p+a,s+b) char(n+x) char(n+x) varchar(n+x) varchar(n+x) char(n+x) char(n+x) varchar(n+x) varchar(n+x) graphic(n+x) graphic(n+x) vargraphic(n+x) vargraphic(n+x) vargraphic(n+x) vargraphic(n+x) graphic(n+x) graphic(n+x) Dentro do mesmo tipo de grupo de dados (caráter ou numérico) Tamanho menor maior ALTER TABLE tab1 ALTER COLUMN cola SET DATA TYPE CHAR(20); Para tipos de dados decimais, “a” mais “b” tem que ser maior do que zero ou não ocorre mudança Para tipos de dados caráter, “x” tem que ser maior ou igual a zero Que acontece à tabela e aos dados Tabela Nova definição registrada no catálogo e no diretório Máximo de 255 ALTERS por table space antes que o REORG seja requerido Table space é colocado em “advisory reorg-pending” (AREO) Planos, packages e solicitações de SQL dinâmico guardadas na memória que referenciem a coluna alterada são invalidados Valores do RUNSTATS para as colunas são invalidados e tratados como se fossem -1 (mesmo tratamento dado no aumento de colunas varchar na Versão 7) Dados Dados existentes permanecem inalterados No SELECT, os dados são materializados no novo formato INSERT e UPDATE alteram a linha inteira para o formato mais recente REORG altera todas as linhas para a versão atual (mais recente) e melhora a performance (em muitos casos o REORG online pode ser usado) Recuperação a nível de sistema para um ponto no tempo Mais fácil, flexível e permitindo recuperação mais rápida Manuseia grande número de table spaces e índices (na V8 só suporta o subsistema DB2 inteiro ou o data sharing group) Dois novos utilitários criados BACKUP SYSTEM: Cópia rápida por volume DB2 databases (e logs) Escopo de data sharing group z/OS V1R5 requerido (DFSMShsm, DFSMSdss, DFSMS) DASD que suporte o Flashcopy API RESTORE SYSTEM Para um ponto arbitrário no tempo Manuseia eventos de creates, drops, LOG NO Parâmetros de sistema já existentes na V7, alteráveis online na V8 Parameter CHGDC EDPROP SYSADM SYSADM2 SYSOPR1 SYSOPR2 CACHEDYN SRTPOOL XLKUPDLT MAXKEEPD PARTKEYU RESYNC IDTHTOIN MAXTYPE1 POOLINAC TCPKPALV TCPALVER Panel DSNTIPO DSNTIPO DSNTIPP DSNTIPP DSNTIPP DSNTIPP DSNTIP4 DSNTIPC DSNTIPI DSNTIPE DSNTIP4 DSNTIPR DSNTIPR DSNTIPR DSNTIP5 DSNTIP5 DSNTIP5 Panel Field DPROP Support DPROP Support System Admin 1 System Admin 2 System Operator 1 System Operator 2 Cache Dynamic SQL Sort Pool Size X Lock for Searched U/D Max Kept Dyn Stmts Update Part Key Cols Resync Interval Idle Thread Timeout Max Inactive DBAT’s Pool Thread Timeout TCP/IP Keepalive TCP/IP Already Verified Desempenho Desempenho Habilidade de usar índices mais frequentemente Mais predicados indexáveis Varredura reversa de índices (backward scan) Índices NOT PADDED (acesso IX-only para dados tipo VARCHAR) Materialized Query Tables Suporte para tabelas voláteis Melhoria no EXPLAIN Visual Explain inteligente Predicados estágio 1 indexáveis com tipos de dados diferentes DB2 foi melhorado para permitir acesso via índice quando a variável de programa e a coluna da tabela não têm o mesmo tipo de dados ou tamanho Atende linguagens de programação que não suportam todo o conjunto de tipos de dados do DB2 C/C++ não possui tipo de dados DECIMAL Java não tem tipo de dados CHAR de tamanho fixo Alguns exemplos: Coluna é decimal; variável de programa é float Coluna é char(3); Literal ou variável de programa é char(4) Melhoria significante de performance para muitas aplicações Pode ser usado com “transitive closure” Existem ainda algumas restrições para estágio 1, indexável Simplifica tarefas do programador de aplicações e do DBA Predicado estágio 1 na Versão 8 exemplos salary hv_float dec (12,2) floating SELECT FROM employee WHERE salary > :hv_float; Antes da V8 Predicado estágio 2 Table space scan V8 Predicado estágio 1 Pode usar índice pela coluna salário Exemplo de Transitive Closure CHAR(4) SELECT DEPT.NAME, EMP.NAME FROM EMP, DEPT WHERE EMP.DEPTID = ? AND EMP.DEPTID = DEPT.ID CHAR(3) AND Gerado DEPT.ID = ? ; Antes da V8 Predicado estágio 2 Varredura do table space A partir da V8 Predicado estágio 1 Pode usar índice pela coluna DEPTID Materialized Query Tables (MQT) Previamente conhecida como "Automatic Summary Tables" Otimizador é capaz de reescrever a solicitação para acessar a MQT em lugar da tabela ou view (se MQT for habilitada para otimização da query) Melhoria significante de performance Dois tipos de MQT’s Mantida pelo sistema (através da solicitação SQL REFRESH) Mantida pelo usuário (através de triggers, atualizações batch, LOAD, etc.) Sem Materialized Query Tables Cada query é recomputado ! Q11, Q12, ... Q21, Q22, ... CLIENTE PRODUTO VENDA LOCAL TEMPO Com Materialized Query Tables Q11, Q12, ... MQT Reusa muitas vezes Pré-computa uma vez Armazena na MQT CLIENTE PRODUTO VENDA LOCAL TEMPO MQT Q21, Q22, ... Melhorias em índices Índice de real tamanho variável Acesso IX-only Redução de espaço para o índice ALTER INDEX PADDED / NOT PADDED + REBUILD Tamanho máximo da chave aumentado de 255 para 2000 bytes Chaves em Unicode podem se tornar maiores DB2 em plataformas de LUW pode ter chaves > 255 Suporte para varredura reversa do índice Usada por “scrollable cursors” Pode definir apenas um índice quando necessita ordem ASC e DESC para as mesmas colunas Otimizador usa a varredura para frente se ambos os índices estiverem disponíveis (varredura reversa do índice só pode ser usada com “dynamic prefetch” Varredura reversa de índice DB2 pode selecionar um índice ascendente e usar a varredura reversa para evitar um sort em ordem descendente Para ser capaz de usar um índice para varredura reversa: O índice tem que ser definido sobre as mesmas colunas usadas no ORDER BY e A ordenação tem que ser exatamente oposta à requerida no ORDER BY Se o índice for definido como DATE DESC, TIME ASC, pode fazer: Varredura direta para ORDER BY DATE DESC, TIME ASC Varredura reversa para ORDER BY DATE ASC, TIME DESC Mas tem que usar o sort para: ORDER BY DATE ASC, TIME ASC ou ORDER BY DATE DESC, TIME DESC Suporte para tabelas voláteis Tabelas cujo conteúdo pode variar de vazio a muito grande em tempo de execução Favorece o acesso através de índice para tabelas que possuem cardinalidade imprevisível Melhoria significativa de performance para algumas aplicações SAP (cluster tables) Pode evitar conflitos de bloqueio causados por caminhos de acesso diferentes para consultas diversas, acessando a mesma tabela CREATE TABLE T1 ..... VOLATILE Melhoria no EXPLAIN Melhorias na solicitação EXPLAIN permitem obter informação de EXPLAIN para entradas no “DB2 global statement cache” Visual Explain melhorado para explorar esta nova função EXPLAIN STMTCACHE STMTID id-host-variable integer-constant STMTTOKEN token-host-variable string-constant Visual Explain inteligente Melhorias significativas na ferramenta de Visual Explain: Informação muito mais detalhada sobre o caminho de acesso Estatísticas mais detalhadas para cada nó no gráfico Documento XML descrevendo o caminho de acesso escolhido para a query Mais fácil para coletar informações para análise Funcionalidade Funcionalidade Entrada e saída delimitadas no LOAD e no UNLOAD Melhorias no RUNSTATS Redistribuição de partições Melhorias no Online REORG Mudanças para suportar DPSI’s Novos padrões para melhoria de performance Entrada e saída delimitadas no LOAD e no UNLOAD Utilitários LOAD / UNLOAD aceitam / produzem arquivos delimitados Benefícios: Facilita a importação / exportação de (grandes quantidades de) dados do DB2 for z/OS para sistemas operacionais em outras plataformas e vice versa Elimina necessidade de escrever programas para converter dados de plataforma não z/OS no formato posicional para usar o utilitário LOAD do DB2 for z/OS ou para inclusão utilizando o INSERT Descarregar / exportar dados de outro DBMS no formato delimitado e carregá-los no DB2 for z/OS Melhorias no RUNSTATS Coleta de estatísticas de distribuição não uniforme para colunas não indexadas Técnica na V7 é usar programa separado - DSTATS RUNSTATS da V8 permite coletar frequências e estatísticas de distribuição não uniforme para colunas ou grupo de colunas que não fazem parte de um índice Usadas pelo otimizador e podem conduzir a melhoria significativa de performance de certas consultas Não é suportada para estatísticas em linha Pode também coletar os valores menos frequentes (LEAST) RUNSTATS com UPDATE NONE REPORT NO Invalida comandos existentes no “Dynamic Statements Cache” que referenciam objeto especificado RUNSTATS com UPDATE NONE HISTORY ALL só atualiza as tabelas HISTORY Redistribuição de partições Antes do REORG TABLESPACE Part 1 Part 2 Part 1 Part 2 Part 3 Part 4 Partitioning Index Part 4 Data Partitions Part 3 LK='50000' LK='80000' Depois do REORG TABLESPACE ... REBALANCE Part 1 Part 1 Part 2 Part 2 Part 3 Part 3 LK='30000' LK='80000' Part 4 Partitioning Index Part 4 Data Partitions Etapas da redistribuição Faz unload das linhas do table space ou de uma faixa de partições Classifica as linhas pela(s) coluna(s) de particionamento e distribui pelo número de partições A divisão não é perfeita se existirem muitas duplicatas de chaves Recarrega os dados Atualiza o valor da chave limite de cada partição no catálogo Invalida planos, packages e o “dynamic statement cache” Quando a ordem de clustering não casa com a chave de particionamento rodar o REORG duas vezes: Na primeira para mover as linhas para a partição correta Na segunda para classificar na sequência de clustering Melhorias no Online REORG Não possui a fase de BUILD2 no REORG PART quando usando DPSI’s Suporte para processo de DISCARD com Online REORG SHRLEVEL CHANGE Suporte para fazer Online REORG SHRLEVEL REFERENCE de todas as tabelas do catálogo (incluindo as que possuem links) Permite especificar SCOPE PENDING para reorganizar somente as partições que estiverem em estado de reorg pending (REORP) ou em estado de advisory reorg pending (AREO) para um table space específico ou faixa de partições Mudanças para suportar DPSI’s CHECK INDEX Permite usar a opção PART para especificar a partição do DPSI a ser verificada COPY DSNUM pode especificar uma partição do DPSI LISTDEF PARTLEVEL permite especificar granularidade para DPSI’s TEMPLATE Templates criadas para DPSI’s podem fazer uso da variável &PA Novos padrões para melhoria de performance RESTART é o novo padrão para Utilitários SORTKEYS para LOAD, REORG e REBUILD SORTDATA para REORG SORTDATA agora permitido para registros de 32k REORG usa índice clustering implícito Se não tem índice clustering, usa o primeiro índice definido Se o table space não possui índices, SORTDATA funciona como nas versões anteriores à V8 Instalação e migração Instalação e migração Características gerais Caminhos para migração Migração para a versão 8 Modos de operação Processo de migração Verificação da instalação (IVP) Mudanças no catálogo Características gerais DB2 e IRLM são exclusivamente 64-bit Pré-requisitos básicos: zSeries z800, z900 ou posterior z/OS V1R3 ou posterior (algumas funções necessitam a V1R4 ou V1R5) Principais mudanças no catálogo: Nomes longos Unicode Processo de migração: Somente partindo da Versão 7 Processo em várias etapas Suporta coexistência das versões 7 e 8 em data sharing somente no modo de compatibilidade Caminhos para migração Suspenso em 30/06/2002 V.5 V.6 V.7 V.8 Migrar para o DB2 for z/OS V7 Migrar para o z/OS V1R3 ou posterior Requer WLM em goal mode Migrar para o IBM COBOL V2 or V3 Sem suporte para OS/VS COBOL or VS COBOL II Pode continuar a executar módulos antigos de COBOL sob LE, mas sem garantia IMS V7, CICS TS V1.3 ou V2.2, IRLM 2.2 Migração para a versão 8 DB2 Versão 7 V8 Modo de Compatibilidade (CM) Coexistência das Versões 7 e 8 em data sharing Retorno possível com sucesso do CATMAINT Habilitação do Modo de Novas Funções (ENFM) V8 Modo de Novas Funções (NFM) Sem retorno para V7 ou CM depois de passar para ENFM ou NFM Modos de operação V7 Módulos - Módulos da V7 - Funções da V7 - Fallback SPE DSNTIJTC - Atualização do CATMAINT DSNTIJNE - Início do CATENFM V8 CM V8 ENFM V8 NFM - Módulos da V8 - Algumas funções da V8 - Módulos da V8 - Módulos da V8 - Algumas funções da V8 Restaurar módulos V7 Catálogo e diretório - Catálogo e diretório da V7 Catálogo V8 -EBCDIC -nomes curtos -padded IXs DSNTIJNF - Fim do CATENFM - Funções da V8 DSNTIJNE Catálogo V8 Catálogo V8 - EBCDIC/ - Unicode Unicode - nomes longos - nomes curtos/longos - not-padded IXs (C/D) - mixed IXs Processo de migração (1) Aplicar fallback SPE (PQ48486) a todos os membros Existência da PTF é mandatória Iniciar todos os membros no mesmo nível de SPE Migrar para o código da nova versão sem novas funções (modo de compatibilidade) Usar CATMAINT para migrar o catálogo e diretório Esteja atento para sobrecargas Testar ambiente com novo código Processo de migração (2) Habilitar modo de novas funções Todos os membros do data sharing group devem estar em V8 CM Executar conversão das tabelas do catálogo para nomes longos e Unicode Um table space de cada vez numa ordem obrigatória Usando online REORG com SHRLEVEL CHANGE Pode ser interrompido e reiniciado a qualquer tempo Depois da conversão de todos os objetos do catálogo mudar para modo de novas funções Verificação da instalação (IVP) Importante – não é possível executar os jobs de IVP da Versão 8 até que o DB2 esteja no Modo de Novas Funções da Versão 8 Executar jobs da IVP da Versão 7 para verificar o sucesso da migração para a Versão 8 Modo de Compatibilidade Na migração é recomendado executar partes das aplicações exemplo da Versão 7 no Modo de Novas Funções da Versão 8 Verificar a migração Garantir que os jobs antigos funcionam no Modo de Novas Funções da Versão 8 Os jobs da IVP da Versão 8 são criados pela CLIST de instalação como parte da Habilitação do Modo de Novas Funções no processo de migração Mudanças no catálogo Nomes longos (128 byte varchar Unicode) Table, view and alias Column (30) Schema UDF, stored procedures, triggers, packages Alguns tamanhos de página maiores do que 4 KB Páginas de 4K, 8K, 16K, 32K no catálogo do DB2 DB2 cria buffer pools para estes novos tamanhos de página Quando usando data sharing, o usuário tem que criar os GBP’s para estes buffer pools Índices maiores do que 255 bytes Contem dados em Unicode Conclusões Vantagens da Versão 8 Permite uso mais eficiente dos recursos de hardware e software disponíveis Voltado para ambientes com grandes volumes de acessos OLTP E-Business Queries OLAP Data Mining