SlideShare una empresa de Scribd logo
1 de 77
Database
Administration
Strategies
Murilo Miranda, Database Administrator – The Pythian Group
Murilo Miranda
Database Administrator @ The Pythian Group

http://pt.linkedin.com/in/murilomiranda/
@murilocmiranda

murilo.miranda@gmail.com
Agenda
Agenda
•
•

Desafios de um DBA.
Configurando o SO.
•
•
•
•

•

Configurando a Instância.
•

•

TempDB.

Configurando a base de dados.
•
•
•

•

Instant File Initialization.
Anti-Virus.
Rede.
Storage.

Gestão de ficheiros.
Transaction Log.
Disaster Recovery (Overview).

Manutenção.
•
•
•

Verificação de integridade.
Backups.
Índices.

4
Desafios de um DBA
Desafios de um DBA
• O objectivo de um DBA é “não trabalhar”.
• Um bom DBA é um DBA preguiçoso.

• Nós queremos o mais
calmo ambiente:
• Bem planeado.
• Bem configurado.
• Bem monitorizado.

6
6
Desafios de um DBA
• Quando um DBA está de prevenção, o barulho do pager
é…

7
7
Desafios de um DBA
• Quando um DBA está de prevenção, o barulho do pager
é…

IRRITANTE

8
8
Desafios de um DBA
• Tarefas planeadas são aceitáveis…
• Alarmes são horríveis!!
•
•
•
•

Lentidão.
Problemas de falta de espaço.
Bases de Dados corrompidas.
Jobs de manutenção que falham.

9
9
Desafios de um DBA
• Tarefas planeadas são aceitáveis…
• Alarmes são horríveis!!
•
•
•
•

Lentidão.
Problemas de falta de espaço.
Bases de Dados corrompidas.
Jobs de manutenção que falham.

Não queremos isso!

10
10
Desafios de um DBA
As vezes é um desafio definir…

Backups

Performance
Índices

Manutenção
Estatísticas

Disaster Recovery

11
Desafios de um DBA
• Nos próximos slides iremos ver abordagens que irão
facilitar:
•
•
•

Minimizar alarmes.
Aumentar a disponibilidade.
Manter a manutenção recorrente bem encaminhada.

12
12
Desafios de um DBA
• Nos próximos slides iremos ver abordagens que irão
facilitar:
•
•
•

Minimizar alarmes.
Aumentar a disponibilidade.
Manter a manutenção recorrente bem encaminhada.

• Vamos ser proactivos primeiro, depois preguiçosos 

13
13
Configurando o SO
Config. o SO – Inst. File Initialization
Instant File Initialization
A activação do IFI pode aumentar a velocidade de criação e
expansão de ficheiros de dados.
Config. o SO – Inst. File Initialization

A activação do IFI pode aumentar a velocidade de criação e
expansão de ficheiros de dados.

O mesmo não é válido para ficheiros de log!
Config. o SO – Inst. File Initialization
Config. o SO – Anti-Virus
Anti-Virus
Não é incomum encontrar Anti-Virus
em servidores com SQL Server…
… mas, por vezes, o AV age tal e qual um
VIRUS!
Config. o SO – Anti-Virus

Porque não utilizar AV junto com o SQL Server?

•
•
•
•

O licenciamento custa €€.
A manutenção custa tempo.
Pode causar problemas.
Não protege de zero-day exploits.
Config. o SO – Anti-Virus
Qual é o grande problema para o SQL Server?
• Mais uma aplicação concorrendo por
recursos.
• Os ficheiros do SQL Server podem ser
sujeitos a varrimento e mesmo ficar
bloqueados.
Config. o SO – Anti-Virus
Qual seria nossa opção?
•
•
•
•

Manter os servidores atualizados.
Configurar a firewall corretamente.
Restringir o acesso ao servidor.
Podemos instalar o AV… em workstations apenas!
Config. o SO – Anti-Virus

Mas eu gosto de AV! O que posso fazer para
manter o SQL Server e o AV juntos?
Config. o SO – Anti-Virus

Mas eu gosto de AV! O que posso fazer para
manter o SQL Server e o AV juntos?

Configure Exceções!
Config. o SO – Anti-Virus
Basicamente, o AV deve excluir:
•
•
•
•

Ficheiros de dados e log do SQL (.mdf, .ndf e .ldf).
Ficheiros de backup (.bak and .trn).
Ficheiros do Full-text Catalog.
Ficheiros Trace (.trc), XE (.xem, .xel) e Audits
(.sqlaudit).
• Os ficheiros de ERRORLOG.
• A pasta contendo os binários do SQL Server.
• A pasta do Filestream.
Mais detalhes em: http://support.microsoft.com/kb/309422
Config. o SO - Network
Rede
• Por vezes esquecida, a rede tem uma função
especial na instância.
• É a auto-estrada por onde passam os nossos
dados.

• Não apenas dados aplicacionais, mas
manutenção, backups e outros serviços ….
• Tudo isso está viajando na rede.
Config. o SO - Network
Então, qual a melhor abordagem?
Config. o SO - Network
Então, qual a melhor abordagem?

Dividir !
Config. o SO - Network

Backups Network

Front-End Network
Back-End Network
Config. o SO – Storage
Storage
• Planeie uma arquitetura eficiente para o storage.
• Normalmente, quanto mais segregado melhor.
Config. o SO – Storage
Storage
• Planeie uma arquitetura eficiente para o storage.
• Normalmente, quanto mais segregado melhor.

Sugestão:

SQL BIN

SQL DATA

SQL IDX

SQL LOGS

SQL TMP
Config. o SO – Storage
Mountpoints podem ser uma boa estratégia.
Config. o SO – Storage
Mountpoints podem ser uma boa estratégia.
Prós:
•
•
•
•

Escalável.
Economiza letras (limitado a 26).
Fácil de adicionar.
Não necessita de reiniciar o SQL.
Config. o SO – Storage
Mountpoints podem ser uma boa estratégia.
Prós:
•
•
•
•

Contras:

Escalável.
• Parece uma pasta normal.
Economiza letras (limitado a 26). • É preciso ter uma abordagem
Fácil de adicionar.
diferente na monitoria.
Não necessita de reiniciar o SQL.
Config. o SO – Storage
Mountpoints podem ser uma boa estratégia.
Prós:
•
•
•
•

Escalável.
Economiza letras (limitado a 26).
Fácil de adicionar.
Não necessita de reiniciar o SQL.

Contras:
• Parece uma pasta normal.
• É preciso ter uma abordagem
diferente na monitoria.

No SQL Server 2014 temos ainda uma solução melhor:
• Clustered Shared Volumes (CSV)
Config. o SO – Storage
Alinhamento da partição
• Podemos perder até 30% em performance se não
definirmos o offset da partição de forma adequada.
•

Uma partição desalinhada pode ocasionalmente causar duas
operações de I/O ao invés de uma.
Config. o SO – Storage
Alinhamento da partição
• Podemos perder até 30% em performance se não
definirmos o offset da partição de forma adequada.
•

Uma partição desalinhada pode ocasionalmente causar duas
operações de I/O ao invés de uma.

• Definir o offset correctamente…
•
•

Aumenta a taxa de débito (bytes/s)
Reduz as queues do disco.
Config. o SO – Storage

Se não for explícitamente indicada ao formatar a partição, o
offset padrão (31,5 Kb) irá resultar em partições
desalinhadas. Isso acontece em versões do Windows até
2003 (inclusivé).
Config. o SO – Storage

Atenção!!
Alguns fabricantes intercetam o que o Windows tenta
fazer e estão ainda criando partições com o offset
errado em qualquer versão do Windows!
Config. o SO – Storage

Atenção!!
Alguns fabricantes intercetam o que o Windows tenta
fazer e estão ainda criando partições com o offset
errado em qualquer versão do Windows!

Verifique SEMPRE!
Config. o SO – Storage
Este
offset
é
associado
a
hidden
sectors,
que basicamente guardam informações sobre a partição.
Considerando que:
- Cada setor de um disco tem 512 bytes.
- O Windows 2003 tem 63 hidden sectors.

512 * 63 = 31,5 Kb
Config. o SO – Storage
Exemplo:
Valores ótimos

Stripe Unit Size:
Block Size:

64Kb*
64Kb

Hidden Sectors
Dados (Block Size)

Stripe Size

* Defined by storage team.
Config. o SO – Storage
Solução ideal:
Hidden Sectors

Stripe Size

Dados (Block Size)
Config. o SO – Storage
Boa prática
-

Definir um offset de 1024 Kb.
-

-

Este valor funciona com a maioria dos discos.

Block Size = Stripe Unit Size.
As regras:

Offset / Strip Unit Size
Strip Unit Size / Block Size

= Nº Inteiro
= Nº Inteiro
Configurando a Instância
Instância - TempDB
TempDB
Dois comportamentos comuns:
• Ignorar.
• Sobrevalorizar.
Instância - TempDB
“A TempDb é a casa de banho
pública do SQL Server”
Instância - TempDB

Então temos que tratar bem dela!
Instância - TempDB
• É comum encontrar informações do tipo:
“A TempDB deve sempre ter
um ficheiro por cada CPU lógico.”
Instância - TempDB
• É comum encontrar informações do tipo:
“A TempDB deve sempre ter
um ficheiro por cada CPU lógico.”

DEPENDE….
Instância - TempDB
• Porque ter cuidado com o número de ficheiros?
•

Operações como sorts ou guardar grandes tabelas temporárias podem ficar lentas.
Instância - TempDB
• Porque ter cuidado com o número de ficheiros?
•

Operações como sorts ou guardar grandes tabelas temporárias podem ficar lentas.

• A operação de round-robin passa a ser um constrangimento.
•

Quanto mais ficheiros, mais custoso.
Instância - TempDB
Os seguintes wait types são comuns na TempDB:
• PAGELATCH_*: Contenção relacionada com In-memory allocation bitmaps.
• PAGEIOLATCH_*: Contenção relacionada com o I/O subsystem.
Instância - TempDB
Quantos ficheiros devermos ter para a TempDB?
Instância - TempDB
Quantos ficheiros devermos ter para a TempDB?
Uma boa abordagem seria…
• Servidor com até 8 cores:
Número de ficheiros = Número de Cores.
Instância - TempDB
Quantos ficheiros devermos ter para a TempDB?
Uma boa abordagem seria…
• Servidor com até 8 cores:
Número de ficheiros = Número de Cores.
• Servidor com mais do que 8 cores:
1. Adicionar 8 ficheiros.
2. Monitorizar o wait type PAGELATCH_*.
3. Adicionar mais 4 de uma vez, se necessário.
4. Retornar ao ponto 2 …
Instância - TempDB
Outras boas práticas para a TempDB:
• Isolar a TempDB em disco dedicado.
•

Dependendo da carga, pode ser boa idéia separar os ficheiros de
dados e o de log.
Instância - TempDB
Outras boas práticas para a TempDB:
• Isolar a TempDB em disco dedicado.
•

Dependendo da carga, pode ser boa idéia separar os ficheiros de
dados e o de log.

• Usar um disco rápido.
•

Já é possível a utilização de um disco local em clusters.
Instância - TempDB
Outras boas práticas para a TempDB:
• Isolar a TempDB em disco dedicado.
•

Dependendo da carga, pode ser boa idéia separar os ficheiros de
dados e o de log.

• Usar um disco rápido.
•

Já é possível a utilização de um disco local em clusters.

• Defina um valor inicial idêntico para todos os
ficheiros.
•

Atenção aos valores definidos no auto-growth.
Instância - TempDB
Outras boas práticas para a TempDB:
• Isolar a TempDB em disco dedicado.
•

Dependendo da carga, pode ser boa idéia separar os ficheiros de
dados e o de log.

• Usar um disco rápido.
•

Já é possível a utilização de um disco local em clusters.

• Defina um valor inicial idêntico para todos os
ficheiros.
•

Atenção aos valores definidos no auto-growth.

Analize os
prós e contras.

• Se existe uma operação pesada usando a
constantemente a TempDB, considere criar uma
tabela de staging dentro da própria BD.
Configurando a
Base de Dados
Base de Dados – Ficheiros
Ficheiros
• Gerir os ficheiros de forma proactiva.
• Definir um tamanho inicial adequado.
• Definir uma taxa de crescimento adequada.

• Antecipar as operações de crescimento.
• Fazer isso em momento adequado e sem ultrapassar os
limites.
• Deixar o “Auto-growth” como salvaguarda.

• Monitorizar:
• Espaço em disco.
• Espaço utilizado Vs. Espaço alocado.

62
Base de Dados – Transaction Log
Tenha certeza de que você está gerindo o t-log adequadamente.
Base de Dados – Transaction Log
• Não há vantagem em ter vários ficheiros de log.
• Na perspetiva de performance.

• Full recovery pede backup de log.

• Controle o crescimento do ficheiro, ou então isso
poderá causar a fragmentação dos VLF.
• Problemas de performance (Inserts, Deletes e Updates lentos).
• Backups lentos.
• Recovery mais longo.

• Não defina o auto growth para ficheiros de log para
multiplos de 4Gb em versões antigas do SQL Server.
• Versões até 2008 SP1.
•

http://connect.microsoft.com/SQLServer/feedback/details/481594/log-growth-notworking-properly-with-specific-growth-sizes-vlfs-also-not-created-appropriately
Base de Dados – Disaster Recovery
Pense em um plano de disaster recovery!
Base de Dados – Disaster Recovery
Pense em um plano de disaster recovery!
O SQL Server tem opções “free”:
• Log Shipping (HA and DR)
• Database Mirroring (HA and DR)
•

Mirror aceita DB Snapshot.

• Replication (HA, DR and LB)
• AlwaysOn (HA, DR and LB)
• … ou em alternativa utilizar opções de replicação de
storage.
Manutenção
Manutenção
• Temos que ter resposta aos seguintes pontos:
•
•
•
•

Quais são os SLAs?
A perda de dados e aceitável?
E o tempo máximo de recuperação?
Qual a nossa janela de manutenção?
Manutenção
• Temos que ter resposta aos seguintes pontos:
•
•
•
•

Quais são os SLAs?
A perda de dados e aceitável?
E o tempo máximo de recuperação?
Qual a nossa janela de manutenção?

• Assim conseguiremos planear:
•
•
•
•

Actualização das STATISTCS.
Manutenção de INDEXES.
Verificação de INTEGRIDADE.
Efectuar BACKUPS.
Manutenção – Integrity Check
Integrity Check
• CHECKDB demora e utiliza muitos recursos.

• Execute o DBCC CHECKDB utilizando a opção WITH
PHYSICAL_ONLY.
• Limita a verificação de integridade a estrutura física das páginas e
header dos registos, além da consistência no alocamento da base de
dados.
• Rápido, mas incompleto. Um CHECKDB completo é necessário
periodicamente.

• Podemos dividir esta tárefa em vários dias, utilizando
“fragmentos do CHECKDB”:
• DBCC CHECKALLOC
• DBCC CHECKCATALOG
• DBCC CHECKTABLE
Manutenção - Backups
Backups
• O particionamento pode ajudar na manutenção.
• Tire vantagem em backups e restores.
•

Uma arquitetura em FG permite “piecemeal restores” com baixo TTR
• Piecemeal restore online:
• Após o restore do PRIMARY FG a BD fica online.
• O resto vai ficando disponível conforme os FG são
restaurados.

• Desenhe a base de dados correctamente.
•

•

Mantenha apenas o necessário no FG PRIMARY.
• Tabelas de configuração, dados indispensáveis, etc…
Pense na consistência: mantenha tabelas relacionadas no mesmo FG.
Manutenção - Backups
• Backup compression pode ser uma boa opção.
•
•

Menos tempo para fazer backups/restores (~40%).
Bom rácio de compressão.
•

•
•
•

SELECT backup_size/compressed_backup_size FROM msdb..backupset;

Mais CPU é utilizado nos backups/restores (~20%).
Um backupset não pode conter backups comprimidos e não
comprimidos.
Não há vantagem quando temos TDE activo.
Manutenção – Mais sobre Backups
• O MULTISTREAM BACKUP é mais uma opção para acelerar
os backups:

File 1

DB

E:

File 2

F:

File 3

G:
Manutenção – Mais sobre Backups
• Podemos utilizar o MIRROR para obtermos redundância nos
backups.

File 1

File 1

File 2

File 3

DB

E:

File 2

F:

File 3

G:
Manutenção – Índices
Índices

• Tente efetuar rebuild/defrag em índices realmente
fragmentados.
• Se for feito o defrag, não esquecer de executar o update stats.
Evite trabalho
desnecessário nas
janelas de manutenção.

• Tenha cuidado ao fazer manutenção de índices grandes,
se usar Log Shipping, DB Mirroring ou AlwaysOn.
• Contribuem para um grande crescimento do log.
• Os rebuilds de índices são sempre fully-logged quando temos DBM
configurado.
Manutenção
Uma boa opção para manutenção
• Os famosos scripts da Ola Hallengren.
• http://ola.hallengren.com
• Efectua de forma inteligente:
• Backups.
• Manutenção de índices e estatísticas.
• Integrity Checks para VLDBs.
• Muito utilizado e testado.
Perguntas?
Obrigado pela presença!

Más contenido relacionado

La actualidad más candente

InfoBrasil 2014 - O sucesso da virtualização em uma instituição federal gasta...
InfoBrasil 2014 - O sucesso da virtualização em uma instituição federal gasta...InfoBrasil 2014 - O sucesso da virtualização em uma instituição federal gasta...
InfoBrasil 2014 - O sucesso da virtualização em uma instituição federal gasta...Arley Rodrigues
 
planejamento pre-instalacao win server 2012
 planejamento pre-instalacao win server 2012 planejamento pre-instalacao win server 2012
planejamento pre-instalacao win server 2012Yan Ferrari Ferreira
 
Arquitetura de Memoria do PostgreSQL
Arquitetura de Memoria do PostgreSQLArquitetura de Memoria do PostgreSQL
Arquitetura de Memoria do PostgreSQLRaul Oliveira
 
Ad server cassandra
Ad server cassandraAd server cassandra
Ad server cassandradist_bp
 
Petic Emgetis
Petic EmgetisPetic Emgetis
Petic Emgetisnetimba
 
Otimização holistica de ambiente computacional
Otimização holistica de ambiente computacionalOtimização holistica de ambiente computacional
Otimização holistica de ambiente computacionalRodrigo Campos
 
Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7Claudio Miranda
 
GUO-RS - Junho/2005 - ASM 10g
GUO-RS - Junho/2005 - ASM 10gGUO-RS - Junho/2005 - ASM 10g
GUO-RS - Junho/2005 - ASM 10gDaniela Macedo
 
MySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL Brasil
 

La actualidad más candente (13)

Postgres Big data
Postgres Big dataPostgres Big data
Postgres Big data
 
Performance em Java
Performance em JavaPerformance em Java
Performance em Java
 
InfoBrasil 2014 - O sucesso da virtualização em uma instituição federal gasta...
InfoBrasil 2014 - O sucesso da virtualização em uma instituição federal gasta...InfoBrasil 2014 - O sucesso da virtualização em uma instituição federal gasta...
InfoBrasil 2014 - O sucesso da virtualização em uma instituição federal gasta...
 
Aula 01 instalação de hardware
Aula 01 instalação de hardwareAula 01 instalação de hardware
Aula 01 instalação de hardware
 
planejamento pre-instalacao win server 2012
 planejamento pre-instalacao win server 2012 planejamento pre-instalacao win server 2012
planejamento pre-instalacao win server 2012
 
Arquitetura de Memoria do PostgreSQL
Arquitetura de Memoria do PostgreSQLArquitetura de Memoria do PostgreSQL
Arquitetura de Memoria do PostgreSQL
 
Ad server cassandra
Ad server cassandraAd server cassandra
Ad server cassandra
 
Petic Emgetis
Petic EmgetisPetic Emgetis
Petic Emgetis
 
Otimização holistica de ambiente computacional
Otimização holistica de ambiente computacionalOtimização holistica de ambiente computacional
Otimização holistica de ambiente computacional
 
Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7
 
GUO-RS - Junho/2005 - ASM 10g
GUO-RS - Junho/2005 - ASM 10gGUO-RS - Junho/2005 - ASM 10g
GUO-RS - Junho/2005 - ASM 10g
 
Postgres Tuning
Postgres TuningPostgres Tuning
Postgres Tuning
 
MySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI Tecnologia
 

Destacado

Folha | Notícias Regionais - Edição 100 (Dia 08 de agosto de 2013)
Folha | Notícias Regionais - Edição 100 (Dia 08 de agosto de 2013)Folha | Notícias Regionais - Edição 100 (Dia 08 de agosto de 2013)
Folha | Notícias Regionais - Edição 100 (Dia 08 de agosto de 2013)FolhaNR
 
Contabilidade geral apresentação prof. márcio bastos
Contabilidade geral  apresentação prof. márcio bastosContabilidade geral  apresentação prof. márcio bastos
Contabilidade geral apresentação prof. márcio bastosTiago Cruz
 
Cartilha tem hifen
Cartilha tem hifenCartilha tem hifen
Cartilha tem hifenSilvia Vidal
 
Manual da Caixa Mackie SRM350V2 (PORTUGUÊS)
Manual da Caixa Mackie SRM350V2 (PORTUGUÊS)Manual da Caixa Mackie SRM350V2 (PORTUGUÊS)
Manual da Caixa Mackie SRM350V2 (PORTUGUÊS)Habro Group
 
Formação laboratório_julho 2013
Formação laboratório_julho 2013Formação laboratório_julho 2013
Formação laboratório_julho 2013Ciências Semed
 
O profissional de historia no mercado de trabalho
O profissional de historia no mercado de trabalhoO profissional de historia no mercado de trabalho
O profissional de historia no mercado de trabalhoWelton Castro
 
Pequeño roman historico (shakespeare hacia el presente 1 er año literatura) d...
Pequeño roman historico (shakespeare hacia el presente 1 er año literatura) d...Pequeño roman historico (shakespeare hacia el presente 1 er año literatura) d...
Pequeño roman historico (shakespeare hacia el presente 1 er año literatura) d...Ruben Lvrz
 
100 receitas de bacalhau
100 receitas de bacalhau100 receitas de bacalhau
100 receitas de bacalhauTamires Ramos
 
ELECCIONES CONSEJO DE RESIDENTES
ELECCIONES CONSEJO DE RESIDENTESELECCIONES CONSEJO DE RESIDENTES
ELECCIONES CONSEJO DE RESIDENTESMALTLuengo
 
Universidade e Desenvolvimento
Universidade e DesenvolvimentoUniversidade e Desenvolvimento
Universidade e Desenvolvimentoproplan
 
Edital elaboração de projetos
Edital elaboração de projetosEdital elaboração de projetos
Edital elaboração de projetoscapacitacaoufcg
 
Plan de nivelación grupo de apoyo BPMS
Plan de nivelación grupo de apoyo BPMSPlan de nivelación grupo de apoyo BPMS
Plan de nivelación grupo de apoyo BPMSjohanainfo
 

Destacado (20)

Folha | Notícias Regionais - Edição 100 (Dia 08 de agosto de 2013)
Folha | Notícias Regionais - Edição 100 (Dia 08 de agosto de 2013)Folha | Notícias Regionais - Edição 100 (Dia 08 de agosto de 2013)
Folha | Notícias Regionais - Edição 100 (Dia 08 de agosto de 2013)
 
E19 ll04
E19 ll04E19 ll04
E19 ll04
 
Mitose verdades
Mitose verdadesMitose verdades
Mitose verdades
 
Trabalho de tic
Trabalho de ticTrabalho de tic
Trabalho de tic
 
Meus poemas
Meus poemasMeus poemas
Meus poemas
 
Contabilidade geral apresentação prof. márcio bastos
Contabilidade geral  apresentação prof. márcio bastosContabilidade geral  apresentação prof. márcio bastos
Contabilidade geral apresentação prof. márcio bastos
 
Cartilha tem hifen
Cartilha tem hifenCartilha tem hifen
Cartilha tem hifen
 
Auxiliar Escritorio
Auxiliar EscritorioAuxiliar Escritorio
Auxiliar Escritorio
 
Arévalo
ArévaloArévalo
Arévalo
 
Manual da Caixa Mackie SRM350V2 (PORTUGUÊS)
Manual da Caixa Mackie SRM350V2 (PORTUGUÊS)Manual da Caixa Mackie SRM350V2 (PORTUGUÊS)
Manual da Caixa Mackie SRM350V2 (PORTUGUÊS)
 
Formação laboratório_julho 2013
Formação laboratório_julho 2013Formação laboratório_julho 2013
Formação laboratório_julho 2013
 
Apostila custos
Apostila custosApostila custos
Apostila custos
 
O profissional de historia no mercado de trabalho
O profissional de historia no mercado de trabalhoO profissional de historia no mercado de trabalho
O profissional de historia no mercado de trabalho
 
Pequeño roman historico (shakespeare hacia el presente 1 er año literatura) d...
Pequeño roman historico (shakespeare hacia el presente 1 er año literatura) d...Pequeño roman historico (shakespeare hacia el presente 1 er año literatura) d...
Pequeño roman historico (shakespeare hacia el presente 1 er año literatura) d...
 
100 receitas de bacalhau
100 receitas de bacalhau100 receitas de bacalhau
100 receitas de bacalhau
 
ELECCIONES CONSEJO DE RESIDENTES
ELECCIONES CONSEJO DE RESIDENTESELECCIONES CONSEJO DE RESIDENTES
ELECCIONES CONSEJO DE RESIDENTES
 
Conservação de consolas
Conservação de consolasConservação de consolas
Conservação de consolas
 
Universidade e Desenvolvimento
Universidade e DesenvolvimentoUniversidade e Desenvolvimento
Universidade e Desenvolvimento
 
Edital elaboração de projetos
Edital elaboração de projetosEdital elaboração de projetos
Edital elaboração de projetos
 
Plan de nivelación grupo de apoyo BPMS
Plan de nivelación grupo de apoyo BPMSPlan de nivelación grupo de apoyo BPMS
Plan de nivelación grupo de apoyo BPMS
 

Similar a 24HOP Session - Database Administration Strategies

TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...Fabrício Catae
 
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do InteriorDeploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do InteriorZabbix BR
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA CareerMarcus Vinicius Miguel Pedro
 
Performance no MongoDB - TDC 2017 | Florianópolis
Performance no MongoDB - TDC 2017 | FlorianópolisPerformance no MongoDB - TDC 2017 | Florianópolis
Performance no MongoDB - TDC 2017 | FlorianópolisJefferson Martins de Andrade
 
Aula01 administrador de banco de dados dba
Aula01 administrador de banco de dados  dbaAula01 administrador de banco de dados  dba
Aula01 administrador de banco de dados dbajjuniorlopes
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemAmazon Web Services LATAM
 
Redes de computadores módulo 3
Redes de computadores módulo 3Redes de computadores módulo 3
Redes de computadores módulo 3ruitavares998
 
Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidorAndré bogas
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoelliando dias
 
InnoDB Plugin - II Fórum da Comunidade MySQL
InnoDB Plugin - II Fórum da Comunidade MySQLInnoDB Plugin - II Fórum da Comunidade MySQL
InnoDB Plugin - II Fórum da Comunidade MySQLWagner Bianchi
 
[24HOP] SQL Server em maquinas virtuais do Windows Azure
[24HOP] SQL Server em maquinas virtuais do Windows Azure[24HOP] SQL Server em maquinas virtuais do Windows Azure
[24HOP] SQL Server em maquinas virtuais do Windows AzureVitor Tomaz
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHPFelipe Ribeiro
 
Backups e restauração de dados
Backups e restauração de dadosBackups e restauração de dados
Backups e restauração de dadoselliando dias
 
Tcvb2 diogo mendes_sistemas operativos servidor_v1
Tcvb2 diogo mendes_sistemas operativos servidor_v1Tcvb2 diogo mendes_sistemas operativos servidor_v1
Tcvb2 diogo mendes_sistemas operativos servidor_v1diogomendes99
 
Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosAmazon Web Services LATAM
 
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringTDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringFelipe Klerk Signorini
 
Expremendo performance do sql server
Expremendo performance do sql serverExpremendo performance do sql server
Expremendo performance do sql serverFelipe Ferreira
 

Similar a 24HOP Session - Database Administration Strategies (20)

Arquivos No Banco
Arquivos No BancoArquivos No Banco
Arquivos No Banco
 
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
 
01 planejamento pre-instalacao
01 planejamento pre-instalacao01 planejamento pre-instalacao
01 planejamento pre-instalacao
 
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do InteriorDeploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
 
Aula 06 - TEP - Introdução SQLite
Aula 06 - TEP - Introdução SQLiteAula 06 - TEP - Introdução SQLite
Aula 06 - TEP - Introdução SQLite
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
 
Performance no MongoDB - TDC 2017 | Florianópolis
Performance no MongoDB - TDC 2017 | FlorianópolisPerformance no MongoDB - TDC 2017 | Florianópolis
Performance no MongoDB - TDC 2017 | Florianópolis
 
Aula01 administrador de banco de dados dba
Aula01 administrador de banco de dados  dbaAula01 administrador de banco de dados  dba
Aula01 administrador de banco de dados dba
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvem
 
Redes de computadores módulo 3
Redes de computadores módulo 3Redes de computadores módulo 3
Redes de computadores módulo 3
 
Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidor
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
InnoDB Plugin - II Fórum da Comunidade MySQL
InnoDB Plugin - II Fórum da Comunidade MySQLInnoDB Plugin - II Fórum da Comunidade MySQL
InnoDB Plugin - II Fórum da Comunidade MySQL
 
[24HOP] SQL Server em maquinas virtuais do Windows Azure
[24HOP] SQL Server em maquinas virtuais do Windows Azure[24HOP] SQL Server em maquinas virtuais do Windows Azure
[24HOP] SQL Server em maquinas virtuais do Windows Azure
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 
Backups e restauração de dados
Backups e restauração de dadosBackups e restauração de dados
Backups e restauração de dados
 
Tcvb2 diogo mendes_sistemas operativos servidor_v1
Tcvb2 diogo mendes_sistemas operativos servidor_v1Tcvb2 diogo mendes_sistemas operativos servidor_v1
Tcvb2 diogo mendes_sistemas operativos servidor_v1
 
Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuarios
 
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringTDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
 
Expremendo performance do sql server
Expremendo performance do sql serverExpremendo performance do sql server
Expremendo performance do sql server
 

24HOP Session - Database Administration Strategies

  • 2. Murilo Miranda Database Administrator @ The Pythian Group http://pt.linkedin.com/in/murilomiranda/ @murilocmiranda murilo.miranda@gmail.com
  • 4. Agenda • • Desafios de um DBA. Configurando o SO. • • • • • Configurando a Instância. • • TempDB. Configurando a base de dados. • • • • Instant File Initialization. Anti-Virus. Rede. Storage. Gestão de ficheiros. Transaction Log. Disaster Recovery (Overview). Manutenção. • • • Verificação de integridade. Backups. Índices. 4
  • 6. Desafios de um DBA • O objectivo de um DBA é “não trabalhar”. • Um bom DBA é um DBA preguiçoso. • Nós queremos o mais calmo ambiente: • Bem planeado. • Bem configurado. • Bem monitorizado. 6 6
  • 7. Desafios de um DBA • Quando um DBA está de prevenção, o barulho do pager é… 7 7
  • 8. Desafios de um DBA • Quando um DBA está de prevenção, o barulho do pager é… IRRITANTE 8 8
  • 9. Desafios de um DBA • Tarefas planeadas são aceitáveis… • Alarmes são horríveis!! • • • • Lentidão. Problemas de falta de espaço. Bases de Dados corrompidas. Jobs de manutenção que falham. 9 9
  • 10. Desafios de um DBA • Tarefas planeadas são aceitáveis… • Alarmes são horríveis!! • • • • Lentidão. Problemas de falta de espaço. Bases de Dados corrompidas. Jobs de manutenção que falham. Não queremos isso! 10 10
  • 11. Desafios de um DBA As vezes é um desafio definir… Backups Performance Índices Manutenção Estatísticas Disaster Recovery 11
  • 12. Desafios de um DBA • Nos próximos slides iremos ver abordagens que irão facilitar: • • • Minimizar alarmes. Aumentar a disponibilidade. Manter a manutenção recorrente bem encaminhada. 12 12
  • 13. Desafios de um DBA • Nos próximos slides iremos ver abordagens que irão facilitar: • • • Minimizar alarmes. Aumentar a disponibilidade. Manter a manutenção recorrente bem encaminhada. • Vamos ser proactivos primeiro, depois preguiçosos  13 13
  • 15. Config. o SO – Inst. File Initialization Instant File Initialization A activação do IFI pode aumentar a velocidade de criação e expansão de ficheiros de dados.
  • 16. Config. o SO – Inst. File Initialization A activação do IFI pode aumentar a velocidade de criação e expansão de ficheiros de dados. O mesmo não é válido para ficheiros de log!
  • 17. Config. o SO – Inst. File Initialization
  • 18. Config. o SO – Anti-Virus Anti-Virus Não é incomum encontrar Anti-Virus em servidores com SQL Server… … mas, por vezes, o AV age tal e qual um VIRUS!
  • 19. Config. o SO – Anti-Virus Porque não utilizar AV junto com o SQL Server? • • • • O licenciamento custa €€. A manutenção custa tempo. Pode causar problemas. Não protege de zero-day exploits.
  • 20. Config. o SO – Anti-Virus Qual é o grande problema para o SQL Server? • Mais uma aplicação concorrendo por recursos. • Os ficheiros do SQL Server podem ser sujeitos a varrimento e mesmo ficar bloqueados.
  • 21. Config. o SO – Anti-Virus Qual seria nossa opção? • • • • Manter os servidores atualizados. Configurar a firewall corretamente. Restringir o acesso ao servidor. Podemos instalar o AV… em workstations apenas!
  • 22. Config. o SO – Anti-Virus Mas eu gosto de AV! O que posso fazer para manter o SQL Server e o AV juntos?
  • 23. Config. o SO – Anti-Virus Mas eu gosto de AV! O que posso fazer para manter o SQL Server e o AV juntos? Configure Exceções!
  • 24. Config. o SO – Anti-Virus Basicamente, o AV deve excluir: • • • • Ficheiros de dados e log do SQL (.mdf, .ndf e .ldf). Ficheiros de backup (.bak and .trn). Ficheiros do Full-text Catalog. Ficheiros Trace (.trc), XE (.xem, .xel) e Audits (.sqlaudit). • Os ficheiros de ERRORLOG. • A pasta contendo os binários do SQL Server. • A pasta do Filestream. Mais detalhes em: http://support.microsoft.com/kb/309422
  • 25. Config. o SO - Network Rede • Por vezes esquecida, a rede tem uma função especial na instância. • É a auto-estrada por onde passam os nossos dados. • Não apenas dados aplicacionais, mas manutenção, backups e outros serviços …. • Tudo isso está viajando na rede.
  • 26. Config. o SO - Network Então, qual a melhor abordagem?
  • 27. Config. o SO - Network Então, qual a melhor abordagem? Dividir !
  • 28. Config. o SO - Network Backups Network Front-End Network Back-End Network
  • 29. Config. o SO – Storage Storage • Planeie uma arquitetura eficiente para o storage. • Normalmente, quanto mais segregado melhor.
  • 30. Config. o SO – Storage Storage • Planeie uma arquitetura eficiente para o storage. • Normalmente, quanto mais segregado melhor. Sugestão: SQL BIN SQL DATA SQL IDX SQL LOGS SQL TMP
  • 31. Config. o SO – Storage Mountpoints podem ser uma boa estratégia.
  • 32. Config. o SO – Storage Mountpoints podem ser uma boa estratégia. Prós: • • • • Escalável. Economiza letras (limitado a 26). Fácil de adicionar. Não necessita de reiniciar o SQL.
  • 33. Config. o SO – Storage Mountpoints podem ser uma boa estratégia. Prós: • • • • Contras: Escalável. • Parece uma pasta normal. Economiza letras (limitado a 26). • É preciso ter uma abordagem Fácil de adicionar. diferente na monitoria. Não necessita de reiniciar o SQL.
  • 34. Config. o SO – Storage Mountpoints podem ser uma boa estratégia. Prós: • • • • Escalável. Economiza letras (limitado a 26). Fácil de adicionar. Não necessita de reiniciar o SQL. Contras: • Parece uma pasta normal. • É preciso ter uma abordagem diferente na monitoria. No SQL Server 2014 temos ainda uma solução melhor: • Clustered Shared Volumes (CSV)
  • 35. Config. o SO – Storage Alinhamento da partição • Podemos perder até 30% em performance se não definirmos o offset da partição de forma adequada. • Uma partição desalinhada pode ocasionalmente causar duas operações de I/O ao invés de uma.
  • 36. Config. o SO – Storage Alinhamento da partição • Podemos perder até 30% em performance se não definirmos o offset da partição de forma adequada. • Uma partição desalinhada pode ocasionalmente causar duas operações de I/O ao invés de uma. • Definir o offset correctamente… • • Aumenta a taxa de débito (bytes/s) Reduz as queues do disco.
  • 37. Config. o SO – Storage Se não for explícitamente indicada ao formatar a partição, o offset padrão (31,5 Kb) irá resultar em partições desalinhadas. Isso acontece em versões do Windows até 2003 (inclusivé).
  • 38. Config. o SO – Storage Atenção!! Alguns fabricantes intercetam o que o Windows tenta fazer e estão ainda criando partições com o offset errado em qualquer versão do Windows!
  • 39. Config. o SO – Storage Atenção!! Alguns fabricantes intercetam o que o Windows tenta fazer e estão ainda criando partições com o offset errado em qualquer versão do Windows! Verifique SEMPRE!
  • 40. Config. o SO – Storage Este offset é associado a hidden sectors, que basicamente guardam informações sobre a partição. Considerando que: - Cada setor de um disco tem 512 bytes. - O Windows 2003 tem 63 hidden sectors. 512 * 63 = 31,5 Kb
  • 41. Config. o SO – Storage Exemplo: Valores ótimos Stripe Unit Size: Block Size: 64Kb* 64Kb Hidden Sectors Dados (Block Size) Stripe Size * Defined by storage team.
  • 42. Config. o SO – Storage Solução ideal: Hidden Sectors Stripe Size Dados (Block Size)
  • 43. Config. o SO – Storage Boa prática - Definir um offset de 1024 Kb. - - Este valor funciona com a maioria dos discos. Block Size = Stripe Unit Size. As regras: Offset / Strip Unit Size Strip Unit Size / Block Size = Nº Inteiro = Nº Inteiro
  • 45. Instância - TempDB TempDB Dois comportamentos comuns: • Ignorar. • Sobrevalorizar.
  • 46. Instância - TempDB “A TempDb é a casa de banho pública do SQL Server”
  • 47. Instância - TempDB Então temos que tratar bem dela!
  • 48. Instância - TempDB • É comum encontrar informações do tipo: “A TempDB deve sempre ter um ficheiro por cada CPU lógico.”
  • 49. Instância - TempDB • É comum encontrar informações do tipo: “A TempDB deve sempre ter um ficheiro por cada CPU lógico.” DEPENDE….
  • 50. Instância - TempDB • Porque ter cuidado com o número de ficheiros? • Operações como sorts ou guardar grandes tabelas temporárias podem ficar lentas.
  • 51. Instância - TempDB • Porque ter cuidado com o número de ficheiros? • Operações como sorts ou guardar grandes tabelas temporárias podem ficar lentas. • A operação de round-robin passa a ser um constrangimento. • Quanto mais ficheiros, mais custoso.
  • 52. Instância - TempDB Os seguintes wait types são comuns na TempDB: • PAGELATCH_*: Contenção relacionada com In-memory allocation bitmaps. • PAGEIOLATCH_*: Contenção relacionada com o I/O subsystem.
  • 53. Instância - TempDB Quantos ficheiros devermos ter para a TempDB?
  • 54. Instância - TempDB Quantos ficheiros devermos ter para a TempDB? Uma boa abordagem seria… • Servidor com até 8 cores: Número de ficheiros = Número de Cores.
  • 55. Instância - TempDB Quantos ficheiros devermos ter para a TempDB? Uma boa abordagem seria… • Servidor com até 8 cores: Número de ficheiros = Número de Cores. • Servidor com mais do que 8 cores: 1. Adicionar 8 ficheiros. 2. Monitorizar o wait type PAGELATCH_*. 3. Adicionar mais 4 de uma vez, se necessário. 4. Retornar ao ponto 2 …
  • 56. Instância - TempDB Outras boas práticas para a TempDB: • Isolar a TempDB em disco dedicado. • Dependendo da carga, pode ser boa idéia separar os ficheiros de dados e o de log.
  • 57. Instância - TempDB Outras boas práticas para a TempDB: • Isolar a TempDB em disco dedicado. • Dependendo da carga, pode ser boa idéia separar os ficheiros de dados e o de log. • Usar um disco rápido. • Já é possível a utilização de um disco local em clusters.
  • 58. Instância - TempDB Outras boas práticas para a TempDB: • Isolar a TempDB em disco dedicado. • Dependendo da carga, pode ser boa idéia separar os ficheiros de dados e o de log. • Usar um disco rápido. • Já é possível a utilização de um disco local em clusters. • Defina um valor inicial idêntico para todos os ficheiros. • Atenção aos valores definidos no auto-growth.
  • 59. Instância - TempDB Outras boas práticas para a TempDB: • Isolar a TempDB em disco dedicado. • Dependendo da carga, pode ser boa idéia separar os ficheiros de dados e o de log. • Usar um disco rápido. • Já é possível a utilização de um disco local em clusters. • Defina um valor inicial idêntico para todos os ficheiros. • Atenção aos valores definidos no auto-growth. Analize os prós e contras. • Se existe uma operação pesada usando a constantemente a TempDB, considere criar uma tabela de staging dentro da própria BD.
  • 61. Base de Dados – Ficheiros Ficheiros • Gerir os ficheiros de forma proactiva. • Definir um tamanho inicial adequado. • Definir uma taxa de crescimento adequada. • Antecipar as operações de crescimento. • Fazer isso em momento adequado e sem ultrapassar os limites. • Deixar o “Auto-growth” como salvaguarda. • Monitorizar: • Espaço em disco. • Espaço utilizado Vs. Espaço alocado. 62
  • 62. Base de Dados – Transaction Log Tenha certeza de que você está gerindo o t-log adequadamente.
  • 63. Base de Dados – Transaction Log • Não há vantagem em ter vários ficheiros de log. • Na perspetiva de performance. • Full recovery pede backup de log. • Controle o crescimento do ficheiro, ou então isso poderá causar a fragmentação dos VLF. • Problemas de performance (Inserts, Deletes e Updates lentos). • Backups lentos. • Recovery mais longo. • Não defina o auto growth para ficheiros de log para multiplos de 4Gb em versões antigas do SQL Server. • Versões até 2008 SP1. • http://connect.microsoft.com/SQLServer/feedback/details/481594/log-growth-notworking-properly-with-specific-growth-sizes-vlfs-also-not-created-appropriately
  • 64. Base de Dados – Disaster Recovery Pense em um plano de disaster recovery!
  • 65. Base de Dados – Disaster Recovery Pense em um plano de disaster recovery! O SQL Server tem opções “free”: • Log Shipping (HA and DR) • Database Mirroring (HA and DR) • Mirror aceita DB Snapshot. • Replication (HA, DR and LB) • AlwaysOn (HA, DR and LB) • … ou em alternativa utilizar opções de replicação de storage.
  • 67. Manutenção • Temos que ter resposta aos seguintes pontos: • • • • Quais são os SLAs? A perda de dados e aceitável? E o tempo máximo de recuperação? Qual a nossa janela de manutenção?
  • 68. Manutenção • Temos que ter resposta aos seguintes pontos: • • • • Quais são os SLAs? A perda de dados e aceitável? E o tempo máximo de recuperação? Qual a nossa janela de manutenção? • Assim conseguiremos planear: • • • • Actualização das STATISTCS. Manutenção de INDEXES. Verificação de INTEGRIDADE. Efectuar BACKUPS.
  • 69. Manutenção – Integrity Check Integrity Check • CHECKDB demora e utiliza muitos recursos. • Execute o DBCC CHECKDB utilizando a opção WITH PHYSICAL_ONLY. • Limita a verificação de integridade a estrutura física das páginas e header dos registos, além da consistência no alocamento da base de dados. • Rápido, mas incompleto. Um CHECKDB completo é necessário periodicamente. • Podemos dividir esta tárefa em vários dias, utilizando “fragmentos do CHECKDB”: • DBCC CHECKALLOC • DBCC CHECKCATALOG • DBCC CHECKTABLE
  • 70. Manutenção - Backups Backups • O particionamento pode ajudar na manutenção. • Tire vantagem em backups e restores. • Uma arquitetura em FG permite “piecemeal restores” com baixo TTR • Piecemeal restore online: • Após o restore do PRIMARY FG a BD fica online. • O resto vai ficando disponível conforme os FG são restaurados. • Desenhe a base de dados correctamente. • • Mantenha apenas o necessário no FG PRIMARY. • Tabelas de configuração, dados indispensáveis, etc… Pense na consistência: mantenha tabelas relacionadas no mesmo FG.
  • 71. Manutenção - Backups • Backup compression pode ser uma boa opção. • • Menos tempo para fazer backups/restores (~40%). Bom rácio de compressão. • • • • SELECT backup_size/compressed_backup_size FROM msdb..backupset; Mais CPU é utilizado nos backups/restores (~20%). Um backupset não pode conter backups comprimidos e não comprimidos. Não há vantagem quando temos TDE activo.
  • 72. Manutenção – Mais sobre Backups • O MULTISTREAM BACKUP é mais uma opção para acelerar os backups: File 1 DB E: File 2 F: File 3 G:
  • 73. Manutenção – Mais sobre Backups • Podemos utilizar o MIRROR para obtermos redundância nos backups. File 1 File 1 File 2 File 3 DB E: File 2 F: File 3 G:
  • 74. Manutenção – Índices Índices • Tente efetuar rebuild/defrag em índices realmente fragmentados. • Se for feito o defrag, não esquecer de executar o update stats. Evite trabalho desnecessário nas janelas de manutenção. • Tenha cuidado ao fazer manutenção de índices grandes, se usar Log Shipping, DB Mirroring ou AlwaysOn. • Contribuem para um grande crescimento do log. • Os rebuilds de índices são sempre fully-logged quando temos DBM configurado.
  • 75. Manutenção Uma boa opção para manutenção • Os famosos scripts da Ola Hallengren. • http://ola.hallengren.com • Efectua de forma inteligente: • Backups. • Manutenção de índices e estatísticas. • Integrity Checks para VLDBs. • Muito utilizado e testado.

Notas del editor

  1. Track = Group of Sectors and CLustersCluster = File allocation Unit – Um Cluster tem N Sectors – Para um allocation unit de 64K -> 512 b (sector size) * 128 = 64K!!Sector = Smallest accessible unit in a physical disk (usually 512 bytes)Stripe Unit Size = Define o tamanhoqueos dados serãodistribuidos entre os discos de um grupo RAID-0, RAID-5, RAID-10
  2. Track = Group of Sectors and CLustersCluster = File allocation Unit – Um Cluster tem N Sectors – Para um allocation unit de 64K -> 512 b (sector size) * 128 = 64K!!Sector = Smallest accessible unit in a physical disk (usually 512 bytes)Stripe Unit Size = Define o tamanhoqueos dados serãodistribuidos entre os discos de um grupo RAID-0, RAID-5, RAID-10
  3. Track = Group of Sectors and CLustersCluster = File allocation Unit – Um Cluster tem N Sectors – Para um allocation unit de 64K -> 512 b (sector size) * 128 = 64K!!Sector = Smallest accessible unit in a physical disk (usually 512 bytes)Stripe Unit Size = Define o tamanhoqueos dados serãodistribuidos entre os discos de um grupo RAID-0, RAID-5, RAID-10
  4. Track = Group of Sectors and CLustersCluster = File allocation Unit – Um Cluster tem N Sectors – Para um allocation unit de 64K -> 512 b (sector size) * 128 = 64K!!Sector = Smallest accessible unit in a physical disk (usually 512 bytes)Stripe Unit Size = Define o tamanhoqueos dados serãodistribuidos entre os discos de um grupo RAID-0, RAID-5, RAID-10
  5. Track = Group of Sectors and CLustersCluster = File allocation Unit – Um Cluster tem N Sectors – Para um allocation unit de 64K -> 512 b (sector size) * 128 = 64K!!Sector = Smallest accessible unit in a physical disk (usually 512 bytes)Stripe Unit Size = Define o tamanhoqueos dados serãodistribuidos entre os discos de um grupo RAID-0, RAID-5, RAID-10
  6. Track = Group of Sectors and CLustersCluster = File allocation Unit – Um Cluster tem N Sectors – Para um allocation unit de 64K -> 512 b (sector size) * 128 = 64K!!Sector = Smallest accessible unit in a physical disk (usually 512 bytes)Stripe Unit Size = Define o tamanhoqueos dados serãodistribuidos entre os discos de um grupo RAID-0, RAID-5, RAID-10
  7. Track = Group of Sectors and CLustersCluster = File allocation Unit – Um Cluster tem N Sectors – Para um allocation unit de 64K -> 512 b (sector size) * 128 = 64K!!Sector = Smallest accessible unit in a physical disk (usually 512 bytes)Stripe Unit Size = Define o tamanhoqueos dados serãodistribuidos entre os discos de um grupo RAID-0, RAID-5, RAID-10DEMO
  8. VLF:Até 64 Mb – 4 VLF (1 VLF = 16 Mb)Entre 64 Mb e 1 Gb – 8 VLF (1 VLF = entre ~8 Mb e 128 Mb)+ 1 Gb – 16 VLF (1 VLF = apartir de~64 Mb)VLF pequenoscausamfragmentação / VLFs grandesdemaiscausamlentidãoao se limpar um VLF (1 VLF the 4GB porexemplo, demoramuitomais tempo paraserlimpo do que um de 512 Mb)DBCC LOGINFO – Retornaumalinhaporcada VLF presente no log file.