A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho.

Apresentações semelhantes


Apresentação em tema: "DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho."— Transcrição da apresentação:

1 DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

2 Objetivos Apresentar algumas melhorias do DB2 for OS/390 Versão 8 em relação a versões anteriores 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 Introduzir conceitos utilizados na nova versão Formar base de conhecimento para as demais apresentações do evento Formar base de conhecimento para as demais apresentações do evento Orientação principal para aspectos da administração de banco de dados Orientação principal para aspectos da administração de banco de dados

3 Principais aspectos Escalabilidade Escalabilidade Disponibilidade Disponibilidade Desempenho Desempenho Funcionalidade Funcionalidade Instalação e migração Instalação e migração Conclusões Conclusões

4 Escalabilidade

5 Escalabilidade Removendo inibidores de crescimento Removendo inibidores de crescimento Explorando arquitetura de 64 bits Explorando arquitetura de 64 bits Mais partições Mais partições Mais arquivos log Mais arquivos log Aumentando limites no SQL Aumentando limites no SQL

6 Removendo inibidores de crescimento Limites do DB2 for z/OS : V7 V8 V7 V8 Memória Virtual Memória Virtual Logs Ativas Logs Ativas Logs Arquivadas ,000 Logs Arquivadas ,000 Partições Partições Tamanho do SQL 32 KB 2 MB Tamanho do SQL 32 KB 2 MB Tabelas no join Tabelas no join

7 Explorando arquitetura de 64 bits 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 Sistema Operacional suportando aplicações de 24-bit, 31-bit e 64-bit 128GB (64GB máximo atual no z900) de memória central 128GB (64GB máximo atual no z900) de memória central Registradores de 64 bits, etc... Registradores de 64 bits, etc... Memória Central XA/ESA 31-bit z/Architecture 64-bit S/ bit Arquitetura Atual ESA Arquitetura Antiga S/370 Memória Virtual Memória Central Memória Expandida Memória Central Memória Virtual

8 Evolução de 64 bit Suporte de hardware para 64 bit zSeries, z/Architecture (z800, z900, z990) Suporte de hardware para 64 bit zSeries, z/Architecture (z800, z900, z990) Suporte do sistema operacional Suporte do sistema operacional Suporte de 64 bit para Memória Real (OS/390 V2R10 ESAME mode +) Suporte de 64 bit para Memória Real (OS/390 V2R10 ESAME mode +) Grandes quantidades de memória real (para performance) Grandes quantidades de memória real (para performance) Melhoria em todas as versões do DB2 Melhoria em todas as versões do DB2 Vantagens do data space na V6 (melhor que hiperpool) Vantagens do data space na V6 (melhor que hiperpool) Suporte de 64 bit para Memória Virtual (z/OS V1.2 +) Suporte de 64 bit para Memória Virtual (z/OS V1.2 +) Explorado pelo DB2 V8 (requer z/OS 1.3) Explorado pelo DB2 V8 (requer z/OS 1.3) Move grandes áreas de memória para acima da barra Move grandes áreas de memória para acima da barra Explorado pelo IRLM V2.2 (parte do DB2 V8) Explorado pelo IRLM V2.2 (parte do DB2 V8) Bloqueios sempre na memória privada acima da barra Bloqueios sempre na memória privada acima da barra Melhora escalabilidade, disponibilidade e facilidade Melhora escalabilidade, disponibilidade e facilidade Não necessita mais de hiperpool ou data space Não necessita mais de hiperpool ou data space

9 Utilização de 64 bit pelo DB2 - movimentação acima da barra 2 GB 16 EB Buffer pool 0 16 M EDM pool (DSC+DBD) RID lists Sort pool Compression dictionary Barra

10 Suporte para 4096 partitions Número máximo de partições aumentado de 254 para 4096 Número máximo de partições aumentado de 254 para 4096 Table spaces e índices Table spaces e índices Table space usa DSSIZE para ir além de 254 partições Table space usa DSSIZE para ir além de 254 partições ALTER TS ADD PARTITION acrescenta partições ao final ALTER TS ADD PARTITION acrescenta partições ao final Tamanho máximo da tabela continua 16 TB para páginas de 4 KB Tamanho máximo da tabela continua 16 TB para páginas de 4 KB Convenção para nomes de arquivos expandida Convenção para nomes de arquivos expandida 'A001 - 'A999' partições 'A001 - 'A999' partições 'B000' - 'B999' partições 'B000' - 'B999' partições 'C000' - 'C999' partições 'C000' - 'C999' partições 'D000' - 'D999' partições 'D000' - 'D999' partições 'E000' - 'E096' partições 'E000' - 'E096' partições Número máximo de partições permitidas depende do tamanho da página e do DSSIZE 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=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 Páginas de 4 KB, DSSIZE=64 GB => 256 partições, 16 TB tamanho máximo da tabela

11 Suporte para mais arquivos log Aumento no número de logs ativas de 31 para 93 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 Aumento no número de logs arquivadas que podem ser registradas no BSDS de 1000 para Ambos requerem conversão prévia do BSDS para acomodar informação adicional Ambos requerem conversão prévia do BSDS para acomodar informação adicional Executar job DSNJCNVB para converter o BSDS Executar job DSNJCNVB para converter o BSDS Tem que estar em Modo de Novas Funções antes que a conversão seja permitida Tem que estar em Modo de Novas Funções antes que a conversão seja permitida

12 Aumentando limites no SQL Limites do DB2 for z/OS : V7 V8 V7 V8 Nome da tabela(*) Nome da tabela(*) Nome da coluna Nome da coluna Chave de índice Chave de índice Literais em caráter Literais em caráter Tamanho de predicados Tamanho de predicados Tamanho do SQL 32 KB 2MB Tamanho do SQL 32 KB 2MB Tabelas no join Tabelas no join (*) Idem views, alias, índices, triggers, sinônimos

13 Disponibilidade

14 Disponibilidade Evolução online de esquema Evolução online de esquema ALTER ao invés de DROP / CREATE ALTER ao invés de DROP / CREATE Data Partitioned Secondary Indexes (DPSI) Data Partitioned Secondary Indexes (DPSI) Recuperação a nível de sistema para um ponto no tempo Recuperação a nível de sistema para um ponto no tempo Alteração online de mais parâmetros do DSNZPARM Alteração online de mais parâmetros do DSNZPARM

15 Evolução online de esquema Mudança de partições Mudança de partições Adicionar uma partição ao final da tabela Adicionar uma partição ao final da tabela Rodar partições Rodar partições Redistribuir partições Redistribuir partições Desvinculação entre particionamento e clustering Desvinculação entre particionamento e clustering Possibilidade de fazer drop do partitioning index Possibilidade de fazer drop do partitioning index Data Partitioned Secondary Indexes Data Partitioned Secondary Indexes Possibilidade de alterar o índice clustering Possibilidade de alterar o índice clustering Aplicável também a tabelas não particionadas Aplicável também a tabelas não particionadas Alteração de índices Alteração de índices Adicionar colunas a índices Adicionar colunas a índices Alteração de tabelas Alteração de tabelas Possibilidade de alterar tipos de dados e tamanhos (aumentos) Possibilidade de alterar tipos de dados e tamanhos (aumentos) Inclui tipos de dados de colunas referenciadas em views Inclui tipos de dados de colunas referenciadas em views Inclui alteração de colunas usadas em índices Inclui alteração de colunas usadas em índices

16 Adição de partição ao final da tabela ALTER TABLE... ADD PARTITION ENDING AT (" "); ALTER TABLE... ADD PARTITION ENDING AT (" "); ts pi Partição 1 Partição Jan 1999 Feb 1999 Fev 2003 Oct 2003 Out Partição Nov Partição Dec 2003 Dez npsi dpsi

17 Rotação de partições (1) tspinpi Part 1 Part Jan 1999 Feb 1999 Fev 2003 Nov Part Dec 2003 Dez Part 60

18 Rotação de partições (2) ALTER TABLE... ROTATE FIRST TO LAST ENDING AT (" ") RESET; ALTER TABLE... ROTATE FIRST TO LAST ENDING AT (" ") RESET; tspi npi Part 1 Part Feb 1999 Fev 2003 Nov Part Dec 2003 Dez Part Jan

19 Tabela particionada Não necessita índices para particionamento !!! TB Particionamento controlado pela tabela CREATE TABLE CUSTOMER ( ACCOUNT_NUMINTEGER, CUST_LAST_NMCHAR(30),... LAST_ACTIVITY_DTDATE, STATE_CDCHAR(2)) PARTITION BY ( ACCOUNT_NUM ASC ) ( PARTITION 1 ENDING AT (199), PARTITION 2 ENDING AT (299), PARTITION 2 ENDING AT (299), PARTITION 3 ENDING AT (399), PARTITION 3 ENDING AT (399), PARTITION 4 ENDING AT (499) ) ; PARTITION 4 ENDING AT (499) ) ;

20 Classificação dos índices na Versão 8 Um índice pode estar ou não correlacionado às colunas de particionamento de uma tabela Um índice pode estar ou não correlacionado às colunas de particionamento de uma tabela Partitioning index (PI) Partitioning index (PI) Secondary index Secondary index Um índice pode ser ou não fisicamente particionado Um índice pode ser ou não fisicamente particionado Partitioned Partitioned Non-partitioned Non-partitioned Índice clustering : Índice clustering : Qualquer índice pode ser o clustering Qualquer índice pode ser o clustering O índice clustering pode ser de chave não única O índice clustering pode ser de chave não única

21 Partitioned index and non-partitioned index IX IX Tabela particionada TB Índice particionado - 1 partição por partição de dados Índice não particionado

22 Partitioning indexes (Partitioned and Non-Partitioned) Partitioned Partitioning index - part_ix_1 Tabelaparticionada Non-partitioned Partitioning index - part_ix_ ,MG 102,AL 103,RS 104,ES 105,GO 106,BA 201,SP 202,RN 203,CE 204,RJ 205,PE 206,SC 301,PR 302,MT 303,PA 304,SE 305,TO 306,AC 401,AM 402,PI 403,RO 404,PB 405,MS 406,MA 101,JAN,MG 102,FEV,AL 103,MAR,RS 104,ABR,ES 105,NOV,GO 106,DEZ,BA 201,JAN,SP 202,FEV,RN 203,JUL,CE 204,AGO,RJ 205,OUT,PE 206,DEZ,SC 301,ABR,PR 302,MAI,MT 303,JUN,PA 304,JUL,SE 305,SET,TO 306,NOV,AC 401,FEV,AM 402,MAR,PI 403,JUN,RO 404,SET,PB 405,OUT,MS 406,NOV,MA

23 Secondary indexes (Partitioned and Non- Partitioned) Data Partitioned Secondary Index (DPSI) - data_part_si_1 106,JAN,BA 101,FEV,MG 102,MAR,AL 105,ABR,GO 104,NOV,ES 103,DEZ,RS 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 Non-Partitioned Secondary Index (NPSI) - non_part_si_2 JAN FEV MAR ABR NOV DEZ JAN FEV JUL AGO OUT DEZ ABR MAI JUN JUL SET NOV FEV MAR JUN SET OUT NOV AC AL AM BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RS SC SE SP TO Tabelaparticionada

24 Benefícios do DPSI Online REORG Online REORG Não executa a fase de BUILD2 com DPSIs Não executa a fase de BUILD2 com DPSIs Carga de partições (LOAD PART) Carga de partições (LOAD PART) Sem páginas compartilhadas Sem páginas compartilhadas Remove contenção de páginas e problemas de sobrecarga do GPB 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) Permite uso de estratégia mais eficiente para extensão de tabelas (APPEND) Operações mais fáceis a nível de partição 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 Tornam mais fácil e eficiente a inclusão e exclusão de novas partições Falha de armazenamento Falha de armazenamento Recuperação a nível de partição Recuperação a nível de partição Sobrecarga em data sharing Sobrecarga em data sharing Designação por afinidade membro partição é efetiva no DPSI Designação por afinidade membro partição é efetiva no DPSI Permite paralelismo de query Permite paralelismo de query

25 Outras melhorias de índices ALTER INDEX ADD COLUMN ALTER INDEX ADD COLUMN ALTER INDEX PADDED / NOT PADDED ALTER INDEX PADDED / NOT PADDED Chaves de índices com tamanhos variáveis (NOT PADDED) Chaves de índices com tamanhos variáveis (NOT PADDED) ALTER clustering index ALTER clustering index Para tabelas particionadas e não particionadas Para tabelas particionadas e não particionadas Efetivo imediatamente Efetivo imediatamente REORG necessário para reordenar todas as linhas existentes na sequência do novo índice clustering REORG necessário para reordenar todas as linhas existentes na sequência do novo índice clustering Outras melhorias na área de desempenho Outras melhorias na área de desempenho

26 ALTER TABLE data types suportados na V8 Dentro do mesmo tipo de grupo de dados Dentro do mesmo tipo de grupo de dados (caráter ou numérico) Tamanho menor maior Tamanho menor maior ALTER TABLE tab1 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 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 Para tipos de dados caráter, x tem que ser maior ou igual a zero

27 Que acontece à tabela e aos dados Tabela Tabela Nova definição registrada no catálogo e no diretório 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 Máximo de 255 ALTERS por table space antes que o REORG seja requerido Table space é colocado em advisory reorg-pending (AREO) 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 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) 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 Dados existentes permanecem inalterados Dados existentes permanecem inalterados No SELECT, os dados são materializados no novo formato No SELECT, os dados são materializados no novo formato INSERT e UPDATE alteram a linha inteira para o formato mais recente 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) 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)

28 Recuperação a nível de sistema para um ponto no tempo Mais fácil, flexível e permitindo recuperação mais rápida 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) 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 Dois novos utilitários criados BACKUP SYSTEM: Cópia rápida por volume BACKUP SYSTEM: Cópia rápida por volume DB2 databases (e logs) DB2 databases (e logs) Escopo de data sharing group Escopo de data sharing group z/OS V1R5 requerido (DFSMShsm, DFSMSdss, DFSMS) z/OS V1R5 requerido (DFSMShsm, DFSMSdss, DFSMS) DASD que suporte o Flashcopy API DASD que suporte o Flashcopy API RESTORE SYSTEM RESTORE SYSTEM Para um ponto arbitrário no tempo Para um ponto arbitrário no tempo Manuseia eventos de creates, drops, LOG NO Manuseia eventos de creates, drops, LOG NO

29 Parâmetros de sistema já existentes na V7, alteráveis online na V8 ParameterPanel Panel Field CHGDCDSNTIPO DPROP Support EDPROPDSNTIPO SYSADMDSNTIPP System Admin 1 SYSADM2DSNTIPP System Admin 2 SYSOPR1DSNTIPP System Operator 1 SYSOPR2DSNTIPP System Operator 2 CACHEDYNDSNTIP4 Cache Dynamic SQL SRTPOOLDSNTIPC Sort Pool Size XLKUPDLTDSNTIPI X Lock for Searched U/D MAXKEEPDDSNTIPE Max Kept Dyn Stmts PARTKEYUDSNTIP4 Update Part Key Cols RESYNCDSNTIPR Resync Interval IDTHTOINDSNTIPR Idle Thread Timeout MAXTYPE1DSNTIPR Max Inactive DBATs POOLINACDSNTIP5 Pool Thread Timeout TCPKPALVDSNTIP5 TCP/IP Keepalive TCPALVERDSNTIP5 TCP/IP Already Verified

30 Desempenho

31 Desempenho Habilidade de usar índices mais frequentemente Habilidade de usar índices mais frequentemente Mais predicados indexáveis Mais predicados indexáveis Varredura reversa de índices (backward scan) Varredura reversa de índices (backward scan) Índices NOT PADDED (acesso IX-only para dados tipo VARCHAR) Índices NOT PADDED (acesso IX-only para dados tipo VARCHAR) Materialized Query Tables Materialized Query Tables Suporte para tabelas voláteis Suporte para tabelas voláteis Melhoria no EXPLAIN Melhoria no EXPLAIN Visual Explain inteligente Visual Explain inteligente

32 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 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 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 C/C++ não possui tipo de dados DECIMAL Java não tem tipo de dados CHAR de tamanho fixo Java não tem tipo de dados CHAR de tamanho fixo Alguns exemplos: Alguns exemplos: Coluna é decimal; variável de programa é float Coluna é decimal; variável de programa é float Coluna é char(3); Literal ou variável de programa é char(4) Coluna é char(3); Literal ou variável de programa é char(4) Melhoria significante de performance para muitas aplicações Melhoria significante de performance para muitas aplicações Pode ser usado com transitive closure Pode ser usado com transitive closure Existem ainda algumas restrições para estágio 1, indexável Existem ainda algumas restrições para estágio 1, indexável Simplifica tarefas do programador de aplicações e do DBA Simplifica tarefas do programador de aplicações e do DBA

33 Predicado estágio 1 na Versão 8 - exemplos SELECT FROM employee WHERE salary > :hv_float; WHERE salary > :hv_float; salary dec (12,2) hv_floatfloating Predicado estágio 2 Predicado estágio 2 Table space scan Table space scan Predicado estágio 1 Predicado estágio 1 Pode usar índice Pode usar índice pela coluna salário pela coluna salário Antes da V8 V8

34 Exemplo de Exemplo de Transitive Closure SELECT DEPT.NAME, EMP.NAME FROM EMP, DEPT WHEREEMP.DEPTID = ?AND WHERE EMP.DEPTID = ? AND EMP.DEPTID = DEPT.ID AND DEPT.ID = ? DEPT.ID = ? ; Gerado CHAR(4) CHAR(3) Predicado estágio 2 Predicado estágio 2 Varredura do table space Varredura do table space Predicado estágio 1 Predicado estágio 1 Pode usar índice pela Pode usar índice pela coluna DEPTID coluna DEPTID Antes da V8 A partir da V8

35 Materialized Query Tables (MQT) Previamente conhecida como "Automatic Summary Tables" 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) 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 Melhoria significante de performance Dois tipos de MQTs Dois tipos de MQTs Mantida pelo sistema (através da solicitação SQL REFRESH) Mantida pelo sistema (através da solicitação SQL REFRESH) Mantida pelo usuário (através de triggers, atualizações batch, LOAD, etc.) Mantida pelo usuário (através de triggers, atualizações batch, LOAD, etc.)

36 Sem Materialized Query Tables PRODUTO CLIENTE VENDA TEMPO LOCAL Q11, Q12,... Q21, Q22,... Cada query é recomputado !

37 Com Materialized Query Tables PRODUTO CLIENTE VENDA TEMPO LOCAL Q11, Q12,... Q21, Q22,... Pré-computa uma vez Armazena na MQT Reusa muitas vezes MQT

38 Melhorias em índices Índice de real tamanho variável Índice de real tamanho variável Acesso IX-only Acesso IX-only Redução de espaço para o índice Redução de espaço para o índice ALTER INDEX PADDED / NOT PADDED + REBUILD ALTER INDEX PADDED / NOT PADDED + REBUILD Tamanho máximo da chave aumentado de 255 para 2000 bytes Tamanho máximo da chave aumentado de 255 para 2000 bytes Chaves em Unicode podem se tornar maiores Chaves em Unicode podem se tornar maiores DB2 em plataformas de LUW pode ter chaves > 255 DB2 em plataformas de LUW pode ter chaves > 255 Suporte para varredura reversa do índice Suporte para varredura reversa do índice Usada por scrollable cursors Usada por scrollable cursors Pode definir apenas um índice quando necessita ordem ASC e DESC para as mesmas colunas 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 Otimizador usa a varredura para frente se ambos os índices estiverem disponíveis (varredura reversa do índice só pode ser usada com dynamic prefetch

39 Varredura reversa de índice DB2 pode selecionar um índice ascendente e usar a varredura reversa para evitar um sort em ordem descendente 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: 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 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 A ordenação tem que ser exatamente oposta à requerida no ORDER BY Se o índice for definido como DATE DESC, TIME ASC, pode fazer: Se o índice for definido como DATE DESC, TIME ASC, pode fazer: Varredura direta para ORDER BY DATE DESC, TIME ASC Varredura direta para ORDER BY DATE DESC, TIME ASC Varredura reversa para ORDER BY DATE ASC, TIME DESC Varredura reversa para ORDER BY DATE ASC, TIME DESC Mas tem que usar o sort para: Mas tem que usar o sort para: ORDER BY DATE ASC, TIME ASC ou ORDER BY DATE ASC, TIME ASC ou ORDER BY DATE DESC, TIME DESC ORDER BY DATE DESC, TIME DESC

40 Suporte para tabelas voláteis Tabelas cujo conteúdo pode variar de vazio a muito grande em tempo de execução 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 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) 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 Pode evitar conflitos de bloqueio causados por caminhos de acesso diferentes para consultas diversas, acessando a mesma tabela CREATE TABLE T VOLATILE

41 Melhoria no EXPLAIN Melhorias na solicitação EXPLAIN permitem obter informação de EXPLAIN para entradas no DB2 global statement cache 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 Visual Explain melhorado para explorar esta nova função EXPLAINSTMTCACHESTMTIDid-host-variable integer-constant STMTTOKENtoken-host-variable string-constant

42 Visual Explain inteligente Melhorias significativas na ferramenta de Visual Explain: Informação muito mais detalhada sobre o caminho de acesso Informação muito mais detalhada sobre o caminho de acesso Estatísticas mais detalhadas para cada nó no gráfico Estatísticas mais detalhadas para cada nó no gráfico Documento XML descrevendo o caminho de acesso escolhido para a query Documento XML descrevendo o caminho de acesso escolhido para a query Mais fácil para coletar informações para análise Mais fácil para coletar informações para análise

43 Funcionalidade

44 Funcionalidade Entrada e saída delimitadas no LOAD e no UNLOAD Entrada e saída delimitadas no LOAD e no UNLOAD Melhorias no RUNSTATS Melhorias no RUNSTATS Redistribuição de partições Redistribuição de partições Melhorias no Online REORG Melhorias no Online REORG Mudanças para suportar DPSIs Mudanças para suportar DPSIs Novos padrões para melhoria de performance Novos padrões para melhoria de performance

45 Entrada e saída delimitadas no LOAD e no UNLOAD Entrada e saída delimitadas no LOAD e no UNLOAD Utilitários LOAD / UNLOAD aceitam / produzem arquivos delimitados Utilitários LOAD / UNLOAD aceitam / produzem arquivos delimitados Benefícios: 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 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 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 Descarregar / exportar dados de outro DBMS no formato delimitado e carregá-los no DB2 for z/OS

46 Melhorias no RUNSTATS Coleta de estatísticas de distribuição não uniforme para colunas não indexadas Coleta de estatísticas de distribuição não uniforme para colunas não indexadas Técnica na V7 é usar programa separado - DSTATS 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 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 Usadas pelo otimizador e podem conduzir a melhoria significativa de performance de certas consultas Não é suportada para estatísticas em linha Não é suportada para estatísticas em linha Pode também coletar os valores menos frequentes (LEAST) Pode também coletar os valores menos frequentes (LEAST) RUNSTATS com UPDATE NONE REPORT NO RUNSTATS com UPDATE NONE REPORT NO Invalida comandos existentes no Dynamic Statements Cache que referenciam objeto especificado Invalida comandos existentes no Dynamic Statements Cache que referenciam objeto especificado RUNSTATS com UPDATE NONE HISTORY ALL só atualiza as tabelas HISTORY RUNSTATS com UPDATE NONE HISTORY ALL só atualiza as tabelas HISTORY

47 Redistribuição de partições Redistribuição de partições Antes do REORG TABLESPACE Depois do REORG TABLESPACE... REBALANCE Partitioning Index Part 1 Data Partitions LK='50000'LK='80000' Partitioning Index LK='30000'LK='80000' Data Partitions Part 3Part 4 Part 2Part 1Part 3Part 4 Part 2 Part 1 Part 3 Part 4 Part 1Part 2Part 3Part 4

48 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

49 Melhorias no Online REORG Melhorias no Online REORG Não possui a fase de BUILD2 no REORG PART quando usando DPSIs Não possui a fase de BUILD2 no REORG PART quando usando DPSIs Suporte para processo de DISCARD com Online REORG SHRLEVEL CHANGE 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) 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 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

50 Mudanças para suportar DPSIs Mudanças para suportar DPSIs CHECK INDEX CHECK INDEX Permite usar a opção PART para especificar a partição do DPSI a ser verificada Permite usar a opção PART para especificar a partição do DPSI a ser verificada COPY COPY DSNUM pode especificar uma partição do DPSI DSNUM pode especificar uma partição do DPSI LISTDEF LISTDEF PARTLEVEL permite especificar granularidade para DPSIs PARTLEVEL permite especificar granularidade para DPSIs TEMPLATE TEMPLATE Templates criadas para DPSIs podem fazer uso da variável &PA Templates criadas para DPSIs podem fazer uso da variável &PA

51 Novos padrões para melhoria de performance Novos padrões para melhoria de performance RESTART é o novo padrão para Utilitários RESTART é o novo padrão para Utilitários SORTKEYS para LOAD, REORG e REBUILD SORTKEYS para LOAD, REORG e REBUILD SORTDATA para REORG SORTDATA para REORG SORTDATA agora permitido para registros de 32k SORTDATA agora permitido para registros de 32k REORG usa índice clustering implícito REORG usa índice clustering implícito Se não tem índice clustering, usa o primeiro índice definido 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 Se o table space não possui índices, SORTDATA funciona como nas versões anteriores à V8

52 Instalação e migração

53 Características gerais Características gerais Caminhos para migração Caminhos para migração Migração para a versão 8 Migração para a versão 8 Modos de operação Modos de operação Processo de migração Processo de migração Verificação da instalação (IVP) Verificação da instalação (IVP) Mudanças no catálogo Mudanças no catálogo

54 Características gerais DB2 e IRLM são exclusivamente 64-bit DB2 e IRLM são exclusivamente 64-bit Pré-requisitos básicos: Pré-requisitos básicos: zSeries z800, z900 ou posterior zSeries z800, z900 ou posterior z/OS V1R3 ou posterior (algumas funções necessitam a V1R4 ou V1R5) z/OS V1R3 ou posterior (algumas funções necessitam a V1R4 ou V1R5) Principais mudanças no catálogo: Principais mudanças no catálogo: Nomes longos Nomes longos Unicode Unicode Processo de migração: Processo de migração: Somente partindo da Versão 7 Somente partindo da Versão 7 Processo em várias etapas Processo em várias etapas Suporta coexistência das versões 7 e 8 em data sharing somente no modo de compatibilidade Suporta coexistência das versões 7 e 8 em data sharing somente no modo de compatibilidade

55 Caminhos para migração Migrar para o DB2 for z/OS V7 Migrar para o DB2 for z/OS V7 Migrar para o z/OS V1R3 ou posterior Migrar para o z/OS V1R3 ou posterior Requer WLM em goal mode Requer WLM em goal mode Migrar para o IBM COBOL V2 or V3 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 IMS V7, CICS TS V1.3 ou V2.2, IRLM 2.2 V.5V.6V.7V.8 Suspenso em 30/06/2002

56 Migração para a versão 8 DB2 Versão 7 V8 Modo de Compatibilidade (CM) Habilitação do Modo de Novas Funções (ENFM) V8 Modo de Novas Funções (NFM) Retorno possível com sucesso do CATMAINT Coexistência das Versões 7 e 8 em data sharing Sem retorno para V7 ou CM depois de passar para ENFM ou NFM

57 Modos de operação Módulos Catálogoediretório V7 V8 CM V8 ENFM V8 NFM - Módulos da V7 - Funções da V7 - Fallback SPE - Algumas funções da V8 funções da V8 - Catálogo e diretório e diretório da V7 - Módulos da V8 DSNTIJTC - Atualização do CATMAINT DSNTIJNE - Início do CATENFM DSNTIJNF - Fim do CATENFM Catálogo V8 -EBCDIC -nomes curtos -padded IXs Catálogo V8 - Unicode - nomes longos - not-padded IXs (C/D) Catálogo V8 - EBCDIC/ Unicode - nomes curtos/longos - mixed IXs - Módulos - Módulos da V8 - Algumas - Algumas funções da V8 funções da V8 - Módulos da V8 - Funções da V8 Restaurar módulos V7 DSNTIJNE

58 Processo de migração (1) Aplicar fallback SPE (PQ48486) a todos os membros Aplicar fallback SPE (PQ48486) a todos os membros Existência da PTF é mandatória Existência da PTF é mandatória Iniciar todos os membros no mesmo nível de SPE 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) 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 Usar CATMAINT para migrar o catálogo e diretório Esteja atento para sobrecargas Esteja atento para sobrecargas Testar ambiente com novo código Testar ambiente com novo código

59 Processo de migração (2) Habilitar modo de novas funções Habilitar modo de novas funções Todos os membros do data sharing group devem estar em V8 CM 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 Executar conversão das tabelas do catálogo para nomes longos e Unicode Um table space de cada vez numa ordem obrigatória Um table space de cada vez numa ordem obrigatória Usando online REORG com SHRLEVEL CHANGE Usando online REORG com SHRLEVEL CHANGE Pode ser interrompido e reiniciado a qualquer tempo 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 Depois da conversão de todos os objetos do catálogo mudar para modo de novas funções

60 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 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 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 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 Verificar a migração Garantir que os jobs antigos funcionam no Modo de Novas Funções da Versão 8 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 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

61 Mudanças no catálogo Nomes longos (128 byte varchar Unicode) Nomes longos (128 byte varchar Unicode) Table, view and alias Table, view and alias Column (30) Column (30) Schema Schema UDF, stored procedures, triggers, packages UDF, stored procedures, triggers, packages Alguns tamanhos de página maiores do que 4 KB Alguns tamanhos de página maiores do que 4 KB Páginas de 4K, 8K, 16K, 32K no catálogo do DB2 Páginas de 4K, 8K, 16K, 32K no catálogo do DB2 DB2 cria buffer pools para estes novos tamanhos de página DB2 cria buffer pools para estes novos tamanhos de página Quando usando data sharing, o usuário tem que criar os GBPs para estes buffer pools Quando usando data sharing, o usuário tem que criar os GBPs para estes buffer pools Índices maiores do que 255 bytes Índices maiores do que 255 bytes Contem dados em Unicode Contem dados em Unicode

62 Conclusões

63 Vantagens da Versão 8 Permite uso mais eficiente dos recursos de hardware e software disponíveis Permite uso mais eficiente dos recursos de hardware e software disponíveis Voltado para ambientes com grandes volumes de acessos Voltado para ambientes com grandes volumes de acessos OLTP OLTP E-Business E-Business Queries Queries OLAP OLAP Data Mining Data Mining

64


Carregar ppt "DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho."

Apresentações semelhantes


Anúncios Google