Escolar Documentos
Profissional Documentos
Cultura Documentos
Cláudio Willemann
IBM DB2 UDB Certified
claudio@sabianti.com.br
Agenda
• Visão Geral do DB2 Universal Database
• Interfaces Gráficas - GUI
• Criando Databases e sua Localização
• Criando Objetos
• Movimentação de Dados
• Recuperação – Backup & Restore
• Monitoramento e Determinação de Problemas
• Concorrência
• Alternativas de Aplicativos
• Segurança
Criando um database
1
Criando um database
Conectando no database
• Activate database
• Connect to database
– 1a. Conexão paga o
custo de alocação de
memória
• Buffer Pool
• Database Heap
2
Tablespaces
• Tablespace
– Camada lógica entre os
objetos do database e seu
armazenamento físico
– Podem ser de dois tipos:
• System Managed Storage
(SMS)
• Database Managed Storage
(DMS)
SMS x DMS
Feature SMS DMS
Striping? Yes Yes
Object Management Operating system DB2
Space allocation Grows/shrinks on demand Preallocated; size can shrink and grow but
requires DBA intervention.
Ease of administration Best; little or no tuning required Good, but some tuning required (e.g..
EXTENTSIZE,PREFETCHSIZE)
3
DMS Tablespaces
• Regular tablespace
– Tabelas comuns
– index
• Large tablespaces
– LOB’s
– index
Definições de Armazenamento
• Container : sistema de arquivo ou raw
Database device utilizado como unidade de
armazenamento na definição de uma
DMS Tablespaces SMS Tablespaces TS4 tablespace, possibilitando I/O paralelo e o
espalhamento dos dados.
SYSCATSPACE USERSPACE1
hdisk1
hdisk1 hdisk2 hdisk3 hdisk4 hdisk4
Container
4
Escrevendo nos Containers - Extents
5
Informações sobre os tablespaces - Comando list tablespace
• db2 list tablespaces
– table space ID number
– name of the table space
– type of table space
– contents, or the type of data that can be placed in the table space
– state of the table space
– detailed explanation of the table space state
• db2 list tablespaces show detail
– total number of pages
– usable pages
– used pages
– free pages
– high water mark (pages)
– page size
– extent size
– prefetch size
– number of containers
• Modificar o PREFETCHSIZE
• Modificar o OVERHEAD
• Modificar o TRANSFERRATE
6
Adicionando Containers
Buffer Pool
• Área de memória usada para o cache das páginas de
dados e índices, e são lidas como se estivessem nos
discos.
• Acesso aos dados é mais rápido.
• Default buffer pool é criado junto à criação do database
• IBMDEFAULTBP é o Buffer pool default
• Tamanho default Win: 250 páginas x 4Kb
7
Agenda
• Visão Geral do DB2 Universal Database
• Interfaces Gráficas - GUI
• Criando Databases e sua Localização
• Criando Objetos
• Movimentação de Dados
• Recuperação – Backup & Restore
• Monitoramento e Determinação de Problemas
• Concorrência
• Alternativas de Aplicativos
• Segurança
8
LOB – Large Objects
Identity Columns
• Gera automaticamente os valores
para unique primary key, para cada
registro inserido na tabela.
• Evita problemas de performance e
concorrência causados por aplicações
que geram o próprio contador for a
do database.
– Lock de tabela
– Incrementa o contador
– Commit
– Libera o lock
• Apenas uma transação pode
incrementar o contador por vez.
Generated Columns
9
Tabelas Temporárias
• Criada no momento da
operação
• Dura o mesmo que a
conexão com o database
• Armazenada no
TEMPSPACE1 ou
tablespaces temporários
• Não é armazenada no
catálodo do DB2
VIEWS
• Oferece uma visão selecionada dos dados de uma tabela
SYSIBM.SYSVIEWS,
• Permite criar uma view e atribuir nomes diferentes para os campos da tabela na view
10
INDEX - índices
• Ordenar os valores chaves de uma coluna ou colunas da tabela
INDEX - índices
• Índices ocupam espaço do database
– avaliar a real necessidade do índice
• Devem ser atualizados, se a tabela sofrer alterações
• Índices vão melhorar significativamente a performance das
queries, quando criados apropriadamente
CONSTRAINTS
Maneira de garantir quais os dados podem ser inseridos em
uma tabela
11
REFERENCIAL INTEGRITY CONSTRAINTS
• Exclusão de Registros na
tabela “Pai”
– DB2 checa se existem
registros dependentes
– Ação tomada baseada em
regras:
• Restrict ou No Action
• Cascade
• Set Null
UNIQUE CONSTRAINTS
• Garantir que os dados de uma coluna são únicos
• Pode ser definidos para uma ou mais colunas
• As colunas de uma Constraint devem ser definidas como NOT NULL
12
TABLE CHECK CONSTRAINTS
Triggers
• Execução automática de
instruções, após INSERT,
UPDATE ou DELETE,
baseado em regras de negócios.
• Elimina redundância de código
• Força o uso das regras
• Fácil manutenção
13
UDF – Fencing
• Limita a área de atuação da UDF
– Fenced: não atua na área de
armazenamento do DB2. A
Integridade Referencial não é
comprometida.
– NotFenced: atua na área de
armazenamento do database. Em
caso de erro, a Integridade
Referencial do DB2 pode ficar
comprometida.
14