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

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

Embed Size (px)

Citation preview

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

DB2 UDB for z/OS Versão 8DB2 UDB for z/OS Versão 8Rompendo LimitesRompendo Limites

Jelson CarvalhoJelson Carvalho

Page 2: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

ObjetivosObjetivos

Apresentar algumas melhorias do DB2 for Apresentar algumas melhorias do DB2 for OS/390 Versão 8 em relação a versões OS/390 Versão 8 em relação a versões anterioresanteriores

Introduzir conceitos utilizados na nova Introduzir conceitos utilizados na nova versãoversão

Formar base de conhecimento para as Formar base de conhecimento para as demais apresentações do eventodemais apresentações do evento

Orientação principal para aspectos da Orientação principal para aspectos da administração de banco de dadosadministração de banco de dados

Page 3: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Principais aspectosPrincipais aspectos

EscalabilidadeEscalabilidade DisponibilidadeDisponibilidade DesempenhoDesempenho FuncionalidadeFuncionalidade Instalação e migraçãoInstalação e migração ConclusõesConclusões

Page 4: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

EscalabilidadeEscalabilidade

Page 5: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

EscalabilidadeEscalabilidade

Removendo inibidores de crescimentoRemovendo inibidores de crescimento Explorando arquitetura de 64 bitsExplorando arquitetura de 64 bits Mais partiçõesMais partições Mais arquivos logMais arquivos log Aumentando limites no SQLAumentando limites no SQL

Page 6: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Removendo inibidores de crescimentoRemovendo inibidores de crescimento

Limites do DB2 for z/OS :Limites do DB2 for z/OS :

V7 V8V7 V8 Memória Virtual Memória Virtual 223131 2 26464

Logs Ativas Logs Ativas 31 31 93 93 Logs Arquivadas Logs Arquivadas 1000 1000 10,000 10,000 Partições Partições 254 254 4096 4096 Tamanho do SQL Tamanho do SQL 32 KB 32 KB 2 2

MBMB Tabelas no join Tabelas no join 15 15 225 225

Page 7: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Explorando arquitetura de 64 bitsExplorando arquitetura de 64 bits

Suporte para endereçamento real fornecido pela z/Architecture do OS/390 V2R10Suporte para endereçamento real fornecido pela z/Architecture do OS/390 V2R10 Sistema Operacional suportando aplicações de 24-bit, 31-bit e 64-bitSistema Operacional suportando aplicações de 24-bit, 31-bit e 64-bit 128GB (64GB máximo atual no z900) de memória central128GB (64GB máximo atual no z900) de memória central Registradores de 64 bits, etc...Registradores de 64 bits, etc...

MemóriaCentral

XA/ESA 31-bit z/Architecture 64-bit S/370 24-bit

Arquitetura Arquitetura

Atual ESAAtual ESA

ArquiteturaArquitetura

Antiga S/370Antiga S/370

Memória Virtual

Memória Virtual

Memória Central

Memória Expandida

Memória Central

Memória Virtual

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

Evolução de 64 bitEvolução de 64 bit

Suporte de hardware para 64 bit zSeries, Suporte de hardware para 64 bit zSeries, z/Architecture (z800, z900, z990)z/Architecture (z800, z900, z990)

Suporte do sistema operacionalSuporte do sistema operacional Suporte de 64 bit para Memória Real (OS/390 V2R10 Suporte de 64 bit para Memória Real (OS/390 V2R10

ESAME mode +)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 DB2Melhoria 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 Explorado pelo DB2 V8 DB2 V8 (requer z/OS 1.3)(requer z/OS 1.3)

Move grandes áreas de memória para acima da barraMove grandes áreas de memória para acima da barra Explorado pelo Explorado pelo IRLM V2.2IRLM V2.2 (parte do DB2 V8) (parte do DB2 V8)

Bloqueios sempre na memória privada acima da barraBloqueios sempre na memória privada acima da barra Melhora escalabilidade, disponibilidade e facilidadeMelhora escalabilidade, disponibilidade e facilidade Não necessita mais de hiperpool ou data spaceNão necessita mais de hiperpool ou data space

Page 9: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Utilização de 64 bit pelo DB2 - Utilização de 64 bit pelo DB2 - movimentação acima da barramovimentação acima da barra

2 GB2 GB

DBM1DBM116 EB16 EB

Buffer poolBuffer pool

0016 M16 M

EDM poolEDM pool(DSC+DBD)(DSC+DBD)

RID listsRID lists

Sort poolSort pool

Compression Compression dictionarydictionary

BarraBarra

Page 10: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Suporte para 4096 partitionsSuporte para 4096 partitions

Número máximo de partições aumentado de 254 para 4096Número máximo de partições aumentado de 254 para 4096 Table spaces e índicesTable spaces e índices Table space usa DSSIZE para ir além de 254 partiçõesTable space usa DSSIZE para ir além de 254 partições

ALTER TS ADD PARTITION acrescenta partições ao finalALTER TS ADD PARTITION acrescenta partições ao final Tamanho máximo da tabela continua 16 TB para páginas de 4 KBTamanho máximo da tabela continua 16 TB para páginas de 4 KB Convenção para nomes de arquivos expandidaConvenção para nomes de arquivos expandida

'A001‘ - 'A999' partições 1-999 'A001‘ - 'A999' partições 1-999 'B000' - 'B999' partições 1000-1999'B000' - 'B999' partições 1000-1999 'C000' - 'C999' partições 2000-2999 'C000' - 'C999' partições 2000-2999 'D000' - 'D999' partições 3000-3999'D000' - 'D999' partições 3000-3999 'E000' - 'E096' partições 4000-4096'E000' - 'E096' partições 4000-4096

Número máximo de partições permitidas depende do tamanho da Número máximo de partições permitidas depende do tamanho da página e do DSSIZEpágina e do DSSIZE Páginas de 4 KB, DSSIZE=1 GB => 4096 partições, 4 TB tamanho Páginas de 4 KB, DSSIZE=1 GB => 4096 partições, 4 TB tamanho

máximo da tabelamáximo da tabela Páginas de 4 KB, DSSIZE=64 GB => 256 partições, 16 TB tamanho Páginas de 4 KB, DSSIZE=64 GB => 256 partições, 16 TB tamanho

máximo da tabelamáximo da tabela

Page 11: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Suporte para mais arquivos logSuporte para mais arquivos log

Aumento no número de logs ativas de 31 para Aumento no número de logs ativas de 31 para 9393

Aumento no número de logs arquivadas que Aumento no número de logs arquivadas que podem ser registradas no BSDS de 1000 para podem ser registradas no BSDS de 1000 para 1000010000

Ambos requerem conversão prévia do BSDS Ambos requerem conversão prévia do BSDS para acomodar informação adicionalpara acomodar informação adicional

Executar job DSNJCNVB para converter o Executar job DSNJCNVB para converter o BSDSBSDS

Tem que estar em Modo de Novas Funções Tem que estar em Modo de Novas Funções antes que a conversão seja permitida antes que a conversão seja permitida

Page 12: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Aumentando limites no SQLAumentando limites no SQL

Limites do DB2 for z/OS :Limites do DB2 for z/OS : V7 V8V7 V8 Nome da tabela(*) Nome da tabela(*) 18 18 128 128 Nome da coluna Nome da coluna 18 18 30 30 Chave de índice Chave de índice 255 255 2000 2000 Literais em caráter Literais em caráter 255 255 32704 32704 Tamanho de predicados 55 Tamanho de predicados 55 32704 32704 Tamanho do SQL 32 KB 2MBTamanho do SQL 32 KB 2MB Tabelas no join Tabelas no join 15 15 225 225(*) Idem views, alias, índices, triggers, sinônimos(*) Idem views, alias, índices, triggers, sinônimos

Page 13: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

DisponibilidadeDisponibilidade

Page 14: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

DisponibilidadeDisponibilidade

Evolução online de esquemaEvolução online de esquema ALTER ao invés de DROP / CREATEALTER ao invés de DROP / CREATE

Data Partitioned Secondary Indexes Data Partitioned Secondary Indexes (DPSI)(DPSI)

Recuperação a nível de sistema para um Recuperação a nível de sistema para um ponto no tempoponto no tempo

Alteração online de mais parâmetros do Alteração online de mais parâmetros do DSNZPARMDSNZPARM

Page 15: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Evolução online de esquemaEvolução online de esquema

Mudança de partiçõesMudança de partições Adicionar uma partição ao final da tabelaAdicionar uma partição ao final da tabela Rodar partiçõesRodar partições Redistribuir partiçõesRedistribuir partições

Desvinculação entre particionamento e clusteringDesvinculação entre particionamento e clustering Possibilidade de fazer drop do partitioning indexPossibilidade de fazer drop do partitioning index Data Partitioned Secondary IndexesData Partitioned Secondary Indexes Possibilidade de alterar o índice clusteringPossibilidade de alterar o índice clustering

Aplicável também a tabelas não particionadasAplicável também a tabelas não particionadas Alteração de índicesAlteração de índices

Adicionar colunas a índicesAdicionar colunas a índices Alteração de tabelasAlteraçã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 viewsInclui tipos de dados de colunas referenciadas em views Inclui alteração de colunas usadas em índicesInclui alteração de colunas usadas em índices

Page 16: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Adição de partição ao final da tabelaAdição de partição ao final da tabela

ALTER TABLE ... ADD PARTITION ENDING AT ("31-12-2003");ALTER TABLE ... ADD PARTITION ENDING AT ("31-12-2003");

tsts pipi

Partição 1Partição 1

Partição 2Partição 2

1999 Jan1999 Jan

1999 Feb1999 Fev

2003 Oct2003 OutPartição 58Partição 58

2003 Nov2003 NovPartição 59Partição 59

2003 Dec2003 DezPartição 60Partição 60

npsinpsi dpsidpsi

Page 17: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Rotação de partições (1) Rotação de partições (1)

tsts pipi npinpi

Part 1Part 1

Part 2Part 2

1999 Jan1999 Jan

1999 Feb1999 Fev

2003 Nov2003 NovPart 59Part 59

2003 Dec2003 DezPart 60Part 60

Page 18: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Rotação de partições (2)Rotação de partições (2)

ALTER TABLE ... ROTATE FIRST TO LAST ALTER TABLE ... ROTATE FIRST TO LAST ENDING AT ("31-01-2004") RESET;ENDING AT ("31-01-2004") RESET;

tsts pipi npinpi

Part 1Part 1

Part 2Part 2 1999 Feb1999 Fev

2003 Nov2003 NovPart 59Part 59

2003 Dec2003 DezPart 60Part 60

1999 Jan1999 Jan

Page 19: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Tabela particionadaTabela particionada

Não necessita índices para particionamento !!!Não necessita índices para particionamento !!!

TBTB

Particionamento controlado pela tabelaParticionamento controlado pela tabela

CREATE TABLE CUSTOMER CREATE TABLE CUSTOMER ((ACCOUNT_NUMACCOUNT_NUM INTEGER,INTEGER,CUST_LAST_NMCUST_LAST_NM CHAR(30), CHAR(30), . . . . . . LAST_ACTIVITY_DTLAST_ACTIVITY_DT DATE,DATE,STATE_CDSTATE_CD CHAR(2))CHAR(2))PARTITION BY ( ACCOUNT_NUMPARTITION BY ( ACCOUNT_NUM ASC ) ASC )( PARTITION 1 ENDING AT (199),( 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) ) ;

101

102

103

104

105

106

201

202

203

204

205

206

301

302

303

304

305

306

401

402

403

404

405

406

Page 20: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Classificação dos índices na Versão 8Classificação dos índices na Versão 8

Um índice pode estar ou não correlacionado às Um índice pode estar ou não correlacionado às colunas de particionamento de uma tabela colunas de particionamento de uma tabela Partitioning index (PI)Partitioning index (PI) Secondary indexSecondary index

Um índice pode ser ou não fisicamente Um índice pode ser ou não fisicamente particionadoparticionado PartitionedPartitioned Non-partitionedNon-partitioned

Índice clustering :Índice clustering : Qualquer índice pode ser o clusteringQualquer índice pode ser o clustering O índice clustering pode ser de chave não únicaO índice clustering pode ser de chave não única

Page 21: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

PartitionPartitioneded index and non-partition index and non-partitioneded indexindex

IXIX

IXIX

Tabela particionadaTabela particionada

TBTB 101

102

103

104

105

106

201

202

203

204

205

206

301

302

303

304

305

306

401

402

403

404

405

406

Índice particionado - 1 partição por partição de dadosÍndice particionado - 1 partição por partição de dados

Índice não particionadoÍndice não particionado

Page 22: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

PartitionPartitioninging indexes (Partition indexes (Partitioneded and and Non-PartitionNon-Partitioneded))

PartitionPartitioneded Partition Partitioninging index - part_ix_1 index - part_ix_1

TabelaTabelaparticionadparticionad

aa

Non-partitionNon-partitioneded Partition Partitioninging index - part_ix_2 index - part_ix_2

101

102

103

104

105

106

201

202

203

204

205

206

301

302

303

304

305

306

401

402

403

404

405

406

101

,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

,JA

N,M

G10

2,F

EV

,AL

103

,MA

R,R

S10

4,A

BR

,ES

105

,NO

V,G

O10

6,D

EZ

,BA

201

,JA

N,S

P20

2,F

EV

,RN

203

,JU

L,C

E20

4,A

GO

,RJ

205

,OU

T,P

E20

6,D

EZ

,SC

301

,AB

R,P

R30

2,M

AI,

MT

303

,JU

N,P

A30

4,J

UL

,SE

305

,SE

T,T

O30

6,N

OV

,AC

401

,FE

V,A

M40

2,M

AR

,PI

403

,JU

N,R

O40

4,S

ET

,PB

405

,OU

T,M

S40

6,N

OV

,MA

Page 23: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Secondary indexes (PartitionSecondary indexes (Partitioneded and Non- and Non-PartitionPartitioneded))

Data PartitionData Partitioneded Secondary Index ( Secondary Index (DPSIDPSI) - data_part_si_1) - data_part_si_1

106

,JA

N,B

A10

1,F

EV

,MG

102

,MA

R,A

L10

5,A

BR

,GO

104

,NO

V,E

S10

3,D

EZ

,RS

205

,JA

N,P

E20

6,F

EV

,SC

201

,JU

L,S

P20

2,A

GO

,RN

203

,OU

T,C

E20

4,D

EZ

,RJ

304

,AB

R,S

E30

3,M

AI,

PA

306

,JU

N,A

C30

2,J

UL

,MT

305

,SE

T,T

O30

1,N

OV

,PR

404

,FE

V,P

B40

3,M

AR

,RO

405

,JU

N,M

S40

1,S

ET

,AM

406

,OU

T,M

A40

2,N

OV

,PI

Non-PartitionNon-Partitioneded Secondary Index (NPSI) - non_part_si_2 Secondary Index (NPSI) - non_part_si_2

JAN

FE

VM

AR

AB

RN

OV

DE

Z

JAN

FE

VJU

LA

GO

OU

TD

EZ

AB

RM

AI

JUN

JUL

SE

TN

OV

FE

VM

AR

JUN

SE

TO

UT

NO

V

AC

AL

AM

BA

CE

ES

GO

MA

MG

MS

MT

PA

PB

PE

PI

PR

RJ

RN

RO

RS

SC

SE

SP

TO

TabelaTabelaparticionadparticionad

aa

Page 24: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Benefícios do DPSIBenefícios do DPSI

Online REORGOnline REORG Não executa a fase de BUILD2 com DPSI’sNão executa a fase de BUILD2 com DPSI’s

Carga de partições (LOAD PART)Carga de partições (LOAD PART) Sem páginas compartilhadasSem páginas compartilhadas Remove contenção de páginas e problemas de sobrecarga do GPBRemove contenção de páginas e problemas de sobrecarga do GPB Permite uso de estratégia mais eficiente para extensão de tabelas Permite uso de estratégia mais eficiente para extensão de tabelas

(APPEND)(APPEND) Operações mais fáceis a nível de partiçãoOperaçõ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çõesTornam mais fácil e eficiente a inclusão e exclusão de novas partições Falha de armazenamentoFalha de armazenamento

Recuperação a nível de partiçãoRecuperação a nível de partição Sobrecarga em data sharingSobrecarga em data sharing

Designação por afinidade membro Designação por afinidade membro partição é efetiva no DPSI partição é efetiva no DPSI Permite paralelismo de queryPermite paralelismo de query

Page 25: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Outras melhorias de índices Outras melhorias de índices

ALTER INDEX ADD COLUMN ALTER INDEX ADD COLUMN ALTER INDEX PADDED / NOT PADDEDALTER INDEX PADDED / NOT PADDED

Chaves de índices com tamanhos variáveis (NOT Chaves de índices com tamanhos variáveis (NOT PADDED)PADDED)

ALTER clustering indexALTER clustering index Para tabelas particionadas e não particionadasPara tabelas particionadas e não particionadas Efetivo imediatamente Efetivo imediatamente REORG necessário para reordenar todas as linhas REORG necessário para reordenar todas as linhas

existentes na sequência do novo índice clusteringexistentes na sequência do novo índice clustering Outras melhorias na área de desempenhoOutras melhorias na área de desempenho

Page 26: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

ALTER TABLE data types suportados na ALTER TABLE data types suportados na V8V8

Dentro do mesmo tipo de Dentro do mesmo tipo de grupo de dadosgrupo de dados(caráter ou numérico)(caráter ou numérico)

Tamanho menor Tamanho menor maior maior ALTER TABLE tab1 ALTER TABLE tab1

ALTER COLUMN cola ALTER COLUMN cola SET DATA TYPE SET DATA TYPE

CHAR(20);CHAR(20); Para tipos de dados decimais, Para tipos de dados decimais,

“a” mais “b” tem que ser maior “a” mais “b” tem que ser maior do que zero ou não ocorre do que zero ou não ocorre mudançamudança

Para tipos de dados caráter, Para tipos de dados caráter, “x” tem que ser maior ou igual “x” tem que ser maior ou igual a zeroa zero

FROM DATA TYPE TO DATA TYPE

smallint integersmallint float(1-21) or real

smallint float(22-53) or double

smallint >= decimal(5,0)

integer float(22-53) or double

integer >=decimal(10,0)

float(1-21) or real float(22-53) or double

<=decimal(7,s) float(1-21) or real

<=decimal(15,s) float(22-53) or double

decimal(p,s) decimal(p+a,s+b)

char(n) char(n+x)

char(n) varchar(n+x)

varchar(n) char(n+x)

varchar(n) varchar(n+x)

graphic(n) graphic(n+x)

graphic(n) vargraphic(n+x)

vargraphic(n) vargraphic(n+x)

vargraphic(n) graphic(n+x)

DO DO TIPO DE DADOTIPO DE DADO PARA PARA TIPO DE DADOTIPO DE DADO

smallint integersmallint float(1-21) or real

smallint float(22-53) or double

smallint >= decimal(5,0)

integer float(22-53) or double

integer >=decimal(10,0)

float(1-21) or real float(22-53) or double

<=decimal(7,s) float(1-21) or real

<=decimal(15,s) float(22-53) or double

decimal(p,s) decimal(p+a,s+b)

char(n) char(n+x)

char(n) varchar(n+x)

varchar(n) char(n+x)

varchar(n) varchar(n+x)

graphic(n) graphic(n+x)

graphic(n) vargraphic(n+x)

vargraphic(n) vargraphic(n+x)

vargraphic(n) graphic(n+x)

Page 27: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Que acontece à tabela e aos dadosQue acontece à tabela e aos dados

TabelaTabela Nova definição registrada no catálogo e no diretórioNova definição registrada no catálogo e no diretório Máximo de 255 ALTERS por table space antes que o REORG seja Máximo de 255 ALTERS por table space antes que o REORG seja

requeridorequerido 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 Planos, packages e solicitações de SQL dinâmico guardadas na

memória que referenciem a coluna alterada são invalidadosmemória que referenciem a coluna alterada são invalidados Valores do RUNSTATS para as colunas são invalidados e tratados Valores do RUNSTATS para as colunas são invalidados e tratados

como se fossem -1 (mesmo tratamento dado no aumento de colunas como se fossem -1 (mesmo tratamento dado no aumento de colunas varchar na Versão 7)varchar na Versão 7)

DadosDados Dados existentes permanecem inalteradosDados existentes permanecem inalterados No SELECT, os dados são materializados no novo formatoNo SELECT, os dados são materializados no novo formato INSERT e UPDATE alteram a linha inteira para o formato mais recenteINSERT e UPDATE alteram a linha inteira para o formato mais recente REORG altera todas as linhas para a versão atual (mais recente) e REORG altera todas as linhas para a versão atual (mais recente) e

melhora a performance (em muitos casos o REORG online pode ser melhora a performance (em muitos casos o REORG online pode ser usado)usado)

Page 28: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Recuperação a nível de sistema para um Recuperação a nível de sistema para um ponto no tempoponto no tempo

Mais fácil, flexível e permitindo recuperação Mais fácil, flexível e permitindo recuperação mais rápidamais rápida

Manuseia grande número de table spaces e Manuseia grande número de table spaces e índices (na V8 só suporta o subsistema DB2 índices (na V8 só suporta o subsistema DB2 inteiro ou o data sharing group)inteiro ou o data sharing group)

Dois novos utilitários criadosDois novos utilitários criados BACKUP SYSTEM: Cópia rápida por volumeBACKUP SYSTEM: Cópia rápida por volume

DB2 databases (e logs)DB2 databases (e logs) Escopo de data sharing groupEscopo de data sharing group z/OS V1R5 requerido (DFSMShsm, DFSMSdss, DFSMS)z/OS V1R5 requerido (DFSMShsm, DFSMSdss, DFSMS) DASD que suporte o Flashcopy APIDASD que suporte o Flashcopy API

RESTORE SYSTEMRESTORE SYSTEM Para um ponto arbitrário no tempoPara um ponto arbitrário no tempo Manuseia eventos de creates, drops, LOG NOManuseia eventos de creates, drops, LOG NO

Page 29: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Parâmetros de sistema já existentes na Parâmetros de sistema já existentes na V7, alteráveis online na V8V7, alteráveis online na V8

ParameterParameter PanelPanel Panel FieldPanel Field

CHGDCCHGDC DSNTIPODSNTIPO DPROP SupportDPROP Support

EDPROPEDPROP DSNTIPODSNTIPO DPROP SupportDPROP Support

SYSADMSYSADM DSNTIPPDSNTIPP System Admin 1System Admin 1

SYSADM2SYSADM2 DSNTIPPDSNTIPP System Admin 2System Admin 2

SYSOPR1SYSOPR1 DSNTIPPDSNTIPP System Operator 1System Operator 1

SYSOPR2SYSOPR2 DSNTIPPDSNTIPP System Operator 2System Operator 2

CACHEDYNCACHEDYN DSNTIP4DSNTIP4 Cache Dynamic SQLCache Dynamic SQL

SRTPOOLSRTPOOL DSNTIPCDSNTIPC Sort Pool SizeSort Pool Size

XLKUPDLTXLKUPDLT DSNTIPIDSNTIPI X Lock for Searched U/DX Lock for Searched U/D

MAXKEEPDMAXKEEPD DSNTIPEDSNTIPE Max Kept Dyn StmtsMax Kept Dyn Stmts

PARTKEYUPARTKEYU DSNTIP4DSNTIP4 Update Part Key ColsUpdate Part Key Cols

RESYNCRESYNC DSNTIPRDSNTIPR Resync IntervalResync Interval

IDTHTOINIDTHTOIN DSNTIPRDSNTIPR Idle Thread TimeoutIdle Thread Timeout

MAXTYPE1MAXTYPE1 DSNTIPRDSNTIPR Max Inactive DBAT’sMax Inactive DBAT’s

POOLINACPOOLINAC DSNTIP5DSNTIP5 Pool Thread TimeoutPool Thread Timeout

TCPKPALVTCPKPALV DSNTIP5DSNTIP5 TCP/IP KeepaliveTCP/IP Keepalive

TCPALVERTCPALVER DSNTIP5DSNTIP5 TCP/IP Already VerifiedTCP/IP Already Verified

Page 30: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

DesempenhoDesempenho

Page 31: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

DesempenhoDesempenho

Habilidade de usar índices mais frequentementeHabilidade de usar índices mais frequentemente Mais predicados indexáveisMais predicados indexáveis Varredura reversa de índices (backward scan)Varredura reversa de índices (backward scan) Índices NOT PADDED (acesso IX-only para dados Índices NOT PADDED (acesso IX-only para dados

tipo VARCHAR)tipo VARCHAR)

Materialized Query TablesMaterialized Query Tables Suporte para tabelas voláteisSuporte para tabelas voláteis Melhoria no EXPLAINMelhoria no EXPLAIN Visual Explain inteligenteVisual Explain inteligente

Page 32: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Predicados estágio 1 indexáveis com Predicados estágio 1 indexáveis com tipos de dados diferentestipos de dados diferentes

DB2 foi melhorado para permitir acesso via índice quando a 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 variável de programa e a coluna da tabela não têm o mesmo tipo de dados ou tamanhodados ou tamanho

Atende linguagens de programação que não suportam todo o Atende linguagens de programação que não suportam todo o conjunto de tipos de dados do DB2conjunto de tipos de dados do DB2 C/C++ não possui tipo de dados DECIMALC/C++ não possui tipo de dados DECIMAL Java não tem tipo de dados CHAR de tamanho fixoJava não tem tipo de dados CHAR de tamanho fixo

Alguns exemplos:Alguns exemplos: Coluna é decimal; variável de programa é floatColuna é 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çõesMelhoria 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ávelExistem ainda algumas restrições para estágio 1, indexável

Simplifica tarefas do programador de aplicações e do DBASimplifica tarefas do programador de aplicações e do DBA

Page 33: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Predicado estágio 1 na Versão 8 - Predicado estágio 1 na Versão 8 - exemplosexemplos

SELECT FROM employeeSELECT FROM employee WHERE WHERE salary > :hv_floatsalary > :hv_float;;

salarysalary dec (12,2)dec (12,2)

hv_floathv_float floatingfloating

Predicado estágio 2Predicado estágio 2 Table space scanTable space scan

Predicado estágio 1Predicado estágio 1 Pode usar índicePode usar índice pela coluna saláriopela coluna salário

Antes da V8Antes da V8 V8V8

Page 34: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Exemplo de Exemplo de Transitive Closure

SELECT DEPT.NAME, EMP.NAMESELECT DEPT.NAME, EMP.NAMEFROM EMP, DEPTFROM EMP, DEPTWHEREWHERE EMP.DEPTID = ?EMP.DEPTID = ? ANDANDEMP.DEPTID = DEPT.ID EMP.DEPTID = DEPT.ID ANDANDDEPT.ID = ?DEPT.ID = ? ; GeradoGerado

CHAR(4)CHAR(4) CHAR(3)CHAR(3)

Predicado estágio 2Predicado estágio 2 Varredura do table spaceVarredura do table space

Predicado estágio 1Predicado estágio 1 Pode usar índice pelaPode usar índice pela coluna DEPTIDcoluna DEPTID

Antes da V8Antes da V8 A partir da V8A partir da V8

Page 35: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Materialized Query Tables (MQT)Materialized Query Tables (MQT)

Previamente conhecida como "Automatic Previamente conhecida como "Automatic Summary Tables"Summary Tables"

Otimizador é capaz de reescrever a solicitação Otimizador é capaz de reescrever a solicitação para acessar a MQT em lugar da tabela ou view para acessar a MQT em lugar da tabela ou view (se MQT for habilitada para otimização da (se MQT for habilitada para otimização da query) query) Melhoria significante de performanceMelhoria significante de performance

Dois tipos de MQT’sDois tipos de MQT’s Mantida pelo sistema (através da solicitação SQL Mantida pelo sistema (através da solicitação SQL

REFRESH)REFRESH) Mantida pelo usuário (através de triggers, Mantida pelo usuário (através de triggers,

atualizações batch, LOAD, etc.)atualizações batch, LOAD, etc.)

Page 36: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Sem Materialized Query TablesSem Materialized Query Tables

PRODUTOPRODUTO

CLIENTECLIENTECLIENTECLIENTE

VENDAVENDA TEMPOTEMPO

LOCALLOCAL

Q11, Q12, ...Q11, Q12, ... Q21, Q22, ...Q21, Q22, ...

Cada query é recomputado !Cada query é recomputado !

Page 37: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Com Materialized Query TablesCom Materialized Query Tables

PRODUTOPRODUTO

CLIENTECLIENTECLIENTECLIENTE

VENDAVENDA TEMPOTEMPO

LOCALLOCAL

Q11, Q12, ...Q11, Q12, ... Q21, Q22, ...Q21, Q22, ...

Pré-computa uma vezPré-computa uma vez

Armazena na MQTArmazena na MQT

Reusa muitas vezesReusa muitas vezesMQT MQT

Page 38: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Melhorias em índicesMelhorias em índices

Índice de real tamanho variávelÍndice de real tamanho variável Acesso IX-onlyAcesso IX-only Redução de espaço para o índiceRedução de espaço para o índice ALTER INDEX PADDED / NOT PADDED + REBUILDALTER INDEX PADDED / NOT PADDED + REBUILD

Tamanho máximo da chave aumentado de 255 para 2000 bytesTamanho máximo da chave aumentado de 255 para 2000 bytes Chaves em Unicode podem se tornar maioresChaves em Unicode podem se tornar maiores DB2 em plataformas de LUW pode ter chaves > 255DB2 em plataformas de LUW pode ter chaves > 255

Suporte para varredura reversa do índiceSuporte para varredura reversa do índice Usada por “scrollable cursors”Usada por “scrollable cursors” Pode definir apenas um índice quando necessita ordem ASC e DESC Pode definir apenas um índice quando necessita ordem ASC e DESC

para as mesmas colunaspara as mesmas colunas Otimizador usa a varredura para frente se ambos os índices estiverem Otimizador usa a varredura para frente se ambos os índices estiverem

disponíveis (varredura reversa do índice só pode ser usada com disponíveis (varredura reversa do índice só pode ser usada com “dynamic prefetch”“dynamic prefetch”

Page 39: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Varredura reversa de índiceVarredura reversa de índice

DB2 pode selecionar um índice ascendente e usar a DB2 pode selecionar um índice ascendente e usar a varredura reversa para evitar um sort em ordem varredura reversa para evitar um sort em ordem descendentedescendente

Para ser capaz de usar um índice para varredura Para ser capaz de usar um índice para varredura reversa:reversa: O índice tem que ser definido sobre as mesmas colunas usadas O índice tem que ser definido sobre as mesmas colunas usadas

no ORDER BY eno ORDER BY e A ordenação tem que ser exatamente oposta à requerida no A ordenação tem que ser exatamente oposta à requerida no

ORDER BYORDER 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 ASCVarredura direta para ORDER BY DATE DESC, TIME ASC Varredura reversa para ORDER BY DATE ASC, TIME DESCVarredura 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 ouORDER BY DATE ASC, TIME ASC ou ORDER BY DATE DESC, TIME DESCORDER BY DATE DESC, TIME DESC

Page 40: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Suporte para tabelas voláteisSuporte para tabelas voláteis

Tabelas cujo conteúdo pode variar de vazio a Tabelas cujo conteúdo pode variar de vazio a muito grande em tempo de execuçãomuito grande em tempo de execução

Favorece o acesso através de índice para Favorece o acesso através de índice para tabelas que possuem cardinalidade imprevisíveltabelas que possuem cardinalidade imprevisível

Melhoria significativa de performance para Melhoria significativa de performance para algumas aplicações SAP (cluster tables)algumas aplicações SAP (cluster tables)

Pode evitar conflitos de bloqueio causados por Pode evitar conflitos de bloqueio causados por caminhos de acesso diferentes para consultas caminhos de acesso diferentes para consultas diversas, acessando a mesma tabeladiversas, acessando a mesma tabela

CREATE TABLE T1 ..... VOLATILECREATE TABLE T1 ..... VOLATILECREATE TABLE T1 ..... VOLATILECREATE TABLE T1 ..... VOLATILE

Page 41: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Melhoria no EXPLAINMelhoria no EXPLAIN

Melhorias na solicitação EXPLAIN permitem obter Melhorias na solicitação EXPLAIN permitem obter informação de EXPLAIN para entradas no “DB2 global informação de EXPLAIN para entradas no “DB2 global statement cache”statement cache”

Visual Explain melhorado para explorar esta nova Visual Explain melhorado para explorar esta nova funçãofunção

EXPLAINEXPLAIN STMTCACHESTMTCACHE STMTIDSTMTID id-host-variableid-host-variable

integer-constantinteger-constant

STMTTOKENSTMTTOKEN token-host-variabletoken-host-variable

string-constantstring-constant

Page 42: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Visual Explain inteligenteVisual Explain inteligente

Melhorias significativas Melhorias significativas na ferramenta de na ferramenta de Visual Explain:Visual Explain:

Informação muito Informação muito mais detalhada sobre mais detalhada sobre o caminho de acessoo caminho de acesso

Estatísticas mais Estatísticas mais detalhadas para cada detalhadas para cada nó no gráficonó no gráfico

Documento XML Documento XML descrevendo o descrevendo o caminho de acesso caminho de acesso escolhido para a escolhido para a queryquery

Mais fácil para Mais fácil para coletar informações coletar informações para análisepara análise

Page 43: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

FuncionalidadeFuncionalidade

Page 44: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

FuncionalidadeFuncionalidade

Entrada e saída delimitadas no LOAD e Entrada e saída delimitadas no LOAD e no UNLOADno UNLOAD

Melhorias no RUNSTATSMelhorias no RUNSTATS Redistribuição de partiçõesRedistribuição de partições Melhorias no Online REORGMelhorias no Online REORG Mudanças para suportar DPSI’sMudanças para suportar DPSI’s Novos padrões para melhoria de Novos padrões para melhoria de

performanceperformance

Page 45: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Entrada e saída delimitadas no LOAD e Entrada e saída delimitadas no LOAD e no UNLOADno UNLOAD

Utilitários LOAD / UNLOAD aceitam / produzem Utilitários LOAD / UNLOAD aceitam / produzem arquivos delimitados arquivos delimitados

Benefícios:Benefícios: Facilita a importação / exportação de (grandes quantidades Facilita a importação / exportação de (grandes quantidades

de) dados do DB2 for z/OS para sistemas operacionais em de) dados do DB2 for z/OS para sistemas operacionais em outras plataformas e vice versaoutras plataformas e vice versa

Elimina necessidade de escrever programas para converter Elimina necessidade de escrever programas para converter dados de plataforma não z/OS no formato posicional para 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 usar o utilitário LOAD do DB2 for z/OS ou para inclusão utilizando o INSERTutilizando o INSERT

Descarregar / exportar dados de outro DBMS no formato Descarregar / exportar dados de outro DBMS no formato delimitado e carregá-los no DB2 for z/OSdelimitado e carregá-los no DB2 for z/OS

Page 46: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Melhorias no RUNSTATSMelhorias no RUNSTATS

Coleta de estatísticas de distribuição não uniforme Coleta de estatísticas de distribuição não uniforme para colunas não indexadaspara 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 RUNSTATS da V8 permite coletar frequências e estatísticas

de distribuição não uniforme para colunas ou grupo de de distribuição não uniforme para colunas ou grupo de colunas que não fazem parte de um índicecolunas que não fazem parte de um índice

Usadas pelo otimizador e podem conduzir a melhoria Usadas pelo otimizador e podem conduzir a melhoria significativa de performance de certas consultassignificativa de performance de certas consultas

Não é suportada para estatísticas em linhaNão é suportada para estatísticas em linha Pode também coletar os valores menos frequentes Pode também coletar os valores menos frequentes

(LEAST)(LEAST) RUNSTATS com UPDATE NONE REPORT NORUNSTATS com UPDATE NONE REPORT NO

Invalida comandos existentes no “Dynamic Statements Invalida comandos existentes no “Dynamic Statements Cache” que referenciam objeto especificadoCache” que referenciam objeto especificado

RUNSTATS com UPDATE NONE HISTORY ALL só RUNSTATS com UPDATE NONE HISTORY ALL só atualiza as tabelas HISTORYatualiza as tabelas HISTORY

Page 47: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Redistribuição de partiçõesRedistribuição de partições

Antes do REORG TABLESPACEAntes do REORG TABLESPACE

Depois do REORG TABLESPACE ... REBALANCEDepois do REORG TABLESPACE ... REBALANCE

PartitioningPartitioningIndexIndexPart 1

DataDataPartitionsPartitions

LK='50000'LK='50000' LK='80000'LK='80000'

PartitioningPartitioningIndexIndex

LK='30000'LK='30000' LK='80000'LK='80000'

DataDataPartitionsPartitions

Part 3 Part 4

Part 2Part 1 Part 3 Part 4

Part 2

Part 2Part 1Part 3

Part 4

Part 1 Part 2 Part 3 Part 4

Page 48: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Etapas da redistribuiçãoEtapas 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

Page 49: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Melhorias no Online REORGMelhorias no Online REORG

Não possui a fase de BUILD2 no REORG PART Não possui a fase de BUILD2 no REORG PART quando usando DPSI’squando usando DPSI’s

Suporte para processo de DISCARD com Online Suporte para processo de DISCARD com Online REORG SHRLEVEL CHANGEREORG SHRLEVEL CHANGE

Suporte para fazer Online REORG SHRLEVEL Suporte para fazer Online REORG SHRLEVEL REFERENCE de todas as tabelas do catálogo REFERENCE de todas as tabelas do catálogo (incluindo as que possuem links)(incluindo as que possuem links)

Permite especificar SCOPE PENDING para Permite especificar SCOPE PENDING para reorganizar somente as partições que estiverem em reorganizar somente as partições que estiverem em estado de reorg pending (REORP) ou em estado de estado de reorg pending (REORP) ou em estado de advisory reorg pending (AREO) para um table space advisory reorg pending (AREO) para um table space específico ou faixa de partiçõesespecífico ou faixa de partições

Page 50: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Mudanças para suportar DPSI’sMudanças para suportar DPSI’s

CHECK INDEXCHECK INDEX Permite usar a opção PART para especificar a Permite usar a opção PART para especificar a

partição do DPSI a ser verificadapartição do DPSI a ser verificada COPY COPY

DSNUM pode especificar uma partição do DPSIDSNUM pode especificar uma partição do DPSI LISTDEFLISTDEF

PARTLEVEL permite especificar granularidade PARTLEVEL permite especificar granularidade para DPSI’spara DPSI’s

TEMPLATETEMPLATE Templates criadas para DPSI’s podem fazer uso Templates criadas para DPSI’s podem fazer uso

da variável &PAda variável &PA

Page 51: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Novos padrões para melhoria de Novos padrões para melhoria de performanceperformance

RESTART é o novo padrão para UtilitáriosRESTART é o novo padrão para Utilitários

SORTKEYS para LOAD, REORG e REBUILDSORTKEYS para LOAD, REORG e REBUILD

SORTDATA para REORGSORTDATA para REORG SORTDATA agora permitido para registros de 32k SORTDATA agora permitido para registros de 32k

REORG usa índice clustering implícitoREORG usa índice clustering implícito Se não tem índice clustering, usa o primeiro Se não tem índice clustering, usa o primeiro

índice definidoíndice definido Se o table space não possui índices, SORTDATA Se o table space não possui índices, SORTDATA

funciona como nas versões anteriores à V8funciona como nas versões anteriores à V8

Page 52: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Instalação e migraçãoInstalação e migração

Page 53: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Instalação e migraçãoInstalação e migração

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

Page 54: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Características geraisCaracterísticas gerais

DB2 e IRLM são exclusivamente 64-bitDB2 e IRLM são exclusivamente 64-bit Pré-requisitos básicos:Pré-requisitos básicos:

zSeries z800, z900 ou posteriorzSeries z800, z900 ou posterior z/OS V1R3 ou posterior (algumas funções necessitam a z/OS V1R3 ou posterior (algumas funções necessitam a

V1R4 ou V1R5)V1R4 ou V1R5) Principais mudanças no catálogo:Principais mudanças no catálogo:

Nomes longosNomes longos UnicodeUnicode

Processo de migração:Processo de migração: Somente partindo da Versão 7Somente partindo da Versão 7 Processo em várias etapasProcesso em várias etapas

Suporta coexistência das versões 7 e 8 em data sharing Suporta coexistência das versões 7 e 8 em data sharing somente no modo de compatibilidadesomente no modo de compatibilidade

Page 55: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Caminhos para migraçãoCaminhos para migração

Migrar para o DB2 for z/OS V7Migrar para o DB2 for z/OS V7 Migrar para o z/OS V1R3 ou posteriorMigrar para o z/OS V1R3 ou posterior Requer WLM em goal modeRequer WLM em goal mode Migrar para o IBM COBOL V2 or V3Migrar para o IBM COBOL V2 or V3

Sem suporte para OS/VS COBOL or VS COBOL IISem suporte para OS/VS COBOL or VS COBOL II Pode continuar a executar módulos antigos de COBOL sob LE, Pode continuar a executar módulos antigos de COBOL sob LE,

mas sem garantiamas sem garantia IMS V7, CICS TS V1.3 ou V2.2, IRLM 2.2IMS V7, CICS TS V1.3 ou V2.2, IRLM 2.2

V.5V.5 V.6V.6 V.7V.7 V.8V.8

Suspenso em 30/06/2002Suspenso em 30/06/2002

Page 56: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Migração para a versão 8Migração para a versão 8

DB2 Versão 7DB2 Versão 7DB2 Versão 7DB2 Versão 7

V8 Modo de Compatibilidade (CM)V8 Modo de Compatibilidade (CM)

Habilitação do Modo de Novas Funções (ENFM)Habilitação do Modo de Novas Funções (ENFM)

V8 Modo de Novas Funções (NFM)V8 Modo de Novas Funções (NFM)

Retorno possívelRetorno possívelcom sucessocom sucesso

do CATMAINTdo CATMAINT

Coexistência dasCoexistência dasVersões 7 e 8Versões 7 e 8

em data sharingem data sharing

Sem retorno paraSem retorno paraV7 ou CM depois V7 ou CM depois de passar para de passar para ENFM ou NFMENFM ou NFM

Page 57: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Modos de operaçãoModos de operação

MódulosMódulos

CatálogoCatálogoee

diretóriodiretório

V7V7 V8 CMV8 CM V8 ENFMV8 ENFM V8 NFMV8 NFM

- Módulos- Módulosda V7da V7

- Funções- Funçõesda V7da V7

- Fallback SPE - Fallback SPE

- Algumas- Algumas funções funções

da V8da V8

- Catálogo- Catálogo e diretórioe diretório

da V7da V7

- Módulos- Módulosda V8da V8

DSNTIJTCDSNTIJTC- Atualização do - Atualização do

CATMAINTCATMAINT

DSNTIJNEDSNTIJNE- Início do - Início do CATENFMCATENFM

DSNTIJNFDSNTIJNF- Fim do - Fim do CATENFMCATENFM

Catálogo V8Catálogo V8-EBCDICEBCDIC

-nomes curtosnomes curtos-padded IXspadded IXs

Catálogo V8Catálogo V8- Unicode- Unicode

- nomes longos- nomes longos- not-padded - not-padded

IXs (C/D)IXs (C/D)

Catálogo V8Catálogo V8- EBCDIC/ - EBCDIC/ UnicodeUnicode- nomes - nomes

curtos/longoscurtos/longos- mixed IXs- mixed IXs

- - MódulosMódulosda V8da V8

- - AlgumasAlgumas funções funções

da V8da V8

- Módulos- Módulosda V8da V8

- Funções- Funçõesda V8da V8

Restaurar módulos V7Restaurar módulos V7 DSNTIJNEDSNTIJNE

Page 58: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Processo de migração (1)Processo de migração (1)

Aplicar fallback SPE (PQ48486) a todos os Aplicar fallback SPE (PQ48486) a todos os membros membros Existência da PTF é mandatóriaExistência da PTF é mandatória Iniciar todos os membros no mesmo nível de SPEIniciar todos os membros no mesmo nível de SPE

Migrar para o código da nova versão sem novas Migrar para o código da nova versão sem novas funções (modo de compatibilidade)funções (modo de compatibilidade) Usar CATMAINT para migrar o catálogo e diretórioUsar CATMAINT para migrar o catálogo e diretório Esteja atento para sobrecargasEsteja atento para sobrecargas

Testar ambiente com novo códigoTestar ambiente com novo código

Page 59: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Processo de migração (2)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 Todos os membros do data sharing group devem

estar em V8 CMestar em V8 CM Executar conversão das tabelas do catálogo para Executar conversão das tabelas do catálogo para

nomes longos e Unicodenomes longos e Unicode Um table space de cada vez numa ordem obrigatóriaUm table space de cada vez numa ordem obrigatória Usando online REORG com SHRLEVEL CHANGEUsando online REORG com SHRLEVEL CHANGE Pode ser interrompido e reiniciado a qualquer tempoPode ser interrompido e reiniciado a qualquer tempo

Depois da conversão de todos os objetos do Depois da conversão de todos os objetos do catálogo mudar para modo de novas funções catálogo mudar para modo de novas funções

Page 60: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Verificação da instalação (IVP)Verificação da instalação (IVP)

Importante – não é possível executar os jobs de IVP Importante – não é possível executar os jobs de IVP da Versão 8 até que o DB2 esteja no Modo de Novas da Versão 8 até que o DB2 esteja no Modo de Novas Funções da Versão 8Funções da Versão 8

Executar jobs da IVP da Versão 7 para verificar o Executar jobs da IVP da Versão 7 para verificar o sucesso da migração para a Versão 8 Modo de sucesso da migração para a Versão 8 Modo de CompatibilidadeCompatibilidade

Na migração é recomendado executar partes das Na migração é recomendado executar partes das aplicações exemplo da Versão 7 no Modo de Novas aplicações exemplo da Versão 7 no Modo de Novas Funções da Versão 8Funções da Versão 8 Verificar a migraçãoVerificar a migração Garantir que os jobs antigos funcionam no Modo de Novas Garantir que os jobs antigos funcionam no Modo de Novas

Funções da Versão 8Funções da Versão 8 Os jobs da IVP da Versão 8 são criados pela CLIST Os jobs da IVP da Versão 8 são criados pela CLIST

de instalação como parte da Habilitação do Modo de de instalação como parte da Habilitação do Modo de Novas Funções no processo de migraçãoNovas Funções no processo de migração

Page 61: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Mudanças no catálogoMudanças no catálogo

Nomes longos (128 byte varchar Unicode) Nomes longos (128 byte varchar Unicode) Table, view and aliasTable, view and alias Column (30)Column (30) Schema Schema UDF, stored procedures, triggers, packagesUDF, stored procedures, triggers, packages

Alguns tamanhos de página maiores do que 4 KBAlguns tamanhos de página maiores do que 4 KB Páginas de 4K, 8K, 16K, 32K no catálogo do DB2Páginas de 4K, 8K, 16K, 32K no catálogo do DB2

DB2 cria buffer pools para estes novos tamanhos de páginaDB2 cria buffer pools para estes novos tamanhos de página Quando usando data sharing, o usuário tem que criar os Quando usando data sharing, o usuário tem que criar os

GBP’s para estes buffer poolsGBP’s para estes buffer pools

Índices maiores do que 255 bytesÍndices maiores do que 255 bytes Contem dados em UnicodeContem dados em Unicode

Page 62: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

ConclusõesConclusões

Page 63: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho

Vantagens da Versão 8Vantagens da Versão 8

Permite uso mais eficiente dos recursos Permite uso mais eficiente dos recursos de hardware e software disponíveisde hardware e software disponíveis

Voltado para ambientes com grandes Voltado para ambientes com grandes volumes de acessosvolumes de acessos OLTPOLTP E-BusinessE-Business QueriesQueries OLAPOLAP Data MiningData Mining

Page 64: DB2 UDB for z/OS Versão 8 Rompendo Limites Jelson Carvalho