O documento descreve as principais características da versão 11g do banco de dados Oracle, incluindo melhorias em performance, armazenamento, diagnóstico e disponibilidade com foco em automação, inteligência e autogerenciamento.
MySQL no Windows: implementação eficiente de novas aplicações
Oracle 11g – Inteligência em Banco de Dados
1. Oracle 11g – Inteligência em
Banco de Dados
Performance, Armazenamento,
Diagnóstico e Disponibilidade
2. Oracle 11g – Inteligência em Banco de Dados
• Oracle 9i Oracle 10g Oracle 11g
– Simplificação
– Automatização de tarefas do DBA
– Inteligência
• O banco Oracle torna-se mais leve e poderoso.
• O objetivo da Oracle é chegar a uma base de dados
auto-gerenciável.
• Grid: centralização do gerenciamento de recursos,
permitindo melhor aproveitamento e maior
escalabilidade
3. Oracle 11g – Inteligência em Banco de Dados
• O foco das novas características da versão 10g
foi o autogerenciamento da base de dados
nos itens performance e recursos.
– O objetivo era simplificar o uso do banco de dados
Oracle.
• Na versão 11g, a perspectiva e o objetivo
deslocam-se para o gerenciamento de falhas e
o gerenciamento de alterações.
4. Oracle 11g – Inteligência em Banco de Dados
• Visão geral do banco de dados Oracle:
– Sistema gerenciador de banco de dados relacional
– Conjunto de arquivos cujo objetivo é armazenar
dados...
– ... gerenciados por uma estrutura de memória e
de processos que permitem acessar estes dados
• A estrutura de memória e os processos formam uma
interface gerencial denominada instance
6. Oracle 11g – Inteligência em Banco de Dados
• Usando o critério de disponibilidade, o banco
de dados Oracle pode ser classificado em:
– Single Instance
– RAC ou Real Application Cluster
• Single Instance: ambiente não clusterizado;
uma instância acessa uma base de dados
• RAC: ambiente clusterizado; várias instâncias
acessando a mesma base de dados
8. Oracle 11g – Inteligência em Banco de Dados
• Banco de dados Oracle
– Fisicamente: conjunto de arquivos
– Logicamente: conjunto de tablespaces
• Tablespaces são unidades lógicas de
armazenamento das estruturas de dados.
– Ou: divisão interna de organização de dados do
banco Oracle.
9. Oracle 11g – Inteligência em Banco de Dados
• Quanto ao modo de
armazenar e gerenciar os
arquivos, o banco de dados
Oracle pode utilizar dois
tipos de gerenciador de
volume:
– VM do sistema operacional
– ASM (Automatic Storage
Manager)
10. Oracle 11g – Inteligência em Banco de Dados
• As tabelas são as principais estruturas de
armazenamento de dados.
– Compostas de linhas e colunas
– Comportam diversos tipos de informações
logicamente relacionadas
– São mapeadas conforme a realidade do negócio
cujos dados o banco Oracle deverá gerenciar
– Podem ser indexadas, para maior velocidade de
acesso aos dados
14. Oracle 11g – Performance
• SQL Performance Analyzer
– Real Application Testing
– Utiliza segundo ambiente para testar mudanças
– Faz comparação pré e pós mudança
– Identifica os SQL problemáticos após a mudança
– Indicado para upgrades, alteração de parâmetros de
banco, mudanças de hardware e SO, alterações em
schemas, coleta de estatísticas, implementação de
recomendações de tuning
16. Oracle 11g – Performance
• SQL Plan Management
– Controla automaticamente a evolução dos planos de
execução
– Detecta as alterações nos planos, determina os planos
comparáveis e seleciona os melhores
– Mantém a estabilidade do sistema, evitando SQLs
regressivos
– Alimenta-se do histórico de planos armazenados pelo
otimizador de comandos
– Pode também utilizar os STS (SQL Tuning Sets)
17. Oracle 11g – Performance
• SQL Plan Management
– Infraestrutura: SQL Management Base (SMB)
• Statement log (detecta os planos repetíveis)
• Plan history (histórico de planos)
• Plan baselines (planos candidatos ao uso)
– O primeiro plano gerado sempre faz parte da
baseline como aceitável
– Os próximos planos gerados serão considerados
aceitáveis se não causarem queda de performance
18. Oracle 11g – Performance
• SQL Plan Management
– É possível fixar planos para execução
– A carga de planos pode ocorrer:
• Automaticamente
– Parâmetro OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES
• Manualmente
– Package DBMS_SPM (STS ou cursor cache)
– Por default, o espaço ocupado pela SMB é limitado
em 10% da SYSAUX e os planos não executados em 53
semanas são removidos
• Configurável através da package DBMS_SPM
21. Oracle 11g – Performance
• Automatic SQL Tuning
– Executado nas tarefas automáticas (autotask)
– Baseado nos TOP SQL do AWR, que usa diferentes critérios
de identificação
• Semana anterior
• Qualquer dia na semana anterior
• Quaquer hora na semana anterior
• Tempo de resposta
– Gera SQL Profiles, testando-os antes de usá-los
• Requer benefício mínimo de 3x
– Permite relatórios a qualquer tempo
22. Oracle 11g – Performance
• Resource Manager
– Método de controle e distribuição de recursos como CPU,
paralelismo, utilização de undo, tempo máximo de execução
– Conceitos:
• Resource plan
• Resource consumer group
• Plan directives
– Na versão 11g:
• Valores máximos e/ou mínimos de uso de CPU por grupo de
consumidores
• Limite de uso de CPU por instância
• Limites de I/O por sessão
24. Oracle 11g – Performance
• Automatic Memory Management – AMM
– Faz derivar os valores dos antigos parâmetros
– Outros parâmetros definem valores mínimos
– Se o DBA não definir nada, segue a política fixa
default de distribuição: 60% SGA e 40% PGA
– Há um advisor para auxiliar na definição do
tamanho mais adequado das estruturas de
memória, acessível graficamente (OEM) ou através
de dynamic views (V$MEMORY_TARGET_ADVICE)
25. Oracle 11g – Performance
• DB Smart Flash Cache
– Extensão do cache de dados da SGA
– Residente em flash disk: área de memória flash ou
solid state device (SSD)
– Acesso mais rápido do que os discos físicos
– Maior capacidade que a DRAM
29. Oracle 11g – Armazenamento
• Automatic Storage Manager – ASM
– Disk groups
– Rebalancing
– Fast mirror resync
• tempo de falha < DISK_REPAIR_TIME
– Grupos de falha, striping, mirroring
– Uma instância ASM serve a diversas instâncias de base
de dados (quantas utilizarem o mesmo servidor)
30. Oracle 11g – Armazenamento
• Discos de alta capacidade (setores de 4 Kb)
– Característica criada para suportar os discos com
setores físicos de tamanho de 4 Kb (ao invés dos
tradicionais 512 bytes)
– Voltada para o uso de discos de alta capacidade
sem degradação de performance
– Cláusula SECTOR_SIZE deve ser explicitada nos
comandos CREATE DATABASE, ALTER DATABASE,
CREATE CONTROLFILE ou CREATE DISKGROUP
31. Oracle 11g – Armazenamento
• Table Compression
– Característica já existente em versões anteriores,
voltadas a aplicações de perfil batch
– Oracle 11g introduz novo algoritmo de
compactação, COMPRESS FOR OLTP
– Reduz o consumo de espaço de 50% a 75%
– Não impacta de forma significativa nas operações
da base de dados
33. Oracle 11g – Armazenamento
• Partitioning
– Divisão das tabelas em segmentos físicos
individualizados
– Diversas formas de particionamento
• Materialized Views
– Views de dados com armazenamento físico
– Contém dados sumarizados e/ou resultados de
cálculos
– Não fazem parte do modelo de dados (ER)
38. Oracle 11g – Diagnóstico
• Automatic Database Diagnostic Monitor – ADDM
– Executa após cada snapshot do AWR
– Monitora a instância, detectando gargalos
• CPU, I/O, tamanho de estruturas, contenção
– Armazena os resultados no AWR
– Alimenta os advisories da base de dados (memória,
SQL, espaço, backup)
– Produz recomendações de implementação ao DBA
– Interface gráfica através do OEM
39. Oracle 11g – Diagnóstico
• Health Monitor
– Verificador das condições das instâncias de base
de dados e ASM
– Pode ser executado:
• Manualmente (package DBMS_HM)
• Reativamente (resposta automática a erros críticos)
– Gera relatórios sobre as verificações
– Interface gráfica (OEM) ou prompt (sqlplus, adrci)
40. Oracle 11g – Diagnóstico
• SQL Repair Advisor
– Disparado por comandos com falhas críticas que
geraram arquivos de trace
– Ativado por erros críticos registrados pelo ADR
• Automatic Diagnostic Repository
• Repositório localizado em filesystem
• Unifica o armazenamento de arquivos de diagnóstico
da base de dados (alert log, trace files, core dumps etc.)
42. Oracle 11g – Disponibilidade
• Flashback – quadro geral
Object Level Scenario Flashback Technology
Database Drop user Flashback Database
Truncate table Flashback Database
Batch job: partial changes Flashback Database
Table Drop table Flashback Drop
Update with wrong WHERE clause Flashback Table
Compare current data against the data at some time in the past Flashback Query
Transaction Batch job runs twice, but you are unsure of the objects affected Flashback Query
43. Oracle 11g – Disponibilidade
• Flashback Data Archive (Oracle 11g)
– Armazena dados históricos em tablespaces criadas para
isso, com quotas de espaço determinadas
– Impede modificação nos dados históricos
– Executa política de limpeza baseada em retenção
– Transparente para a aplicação
– Exige privilégios para administração e uso
– O processo FBDA filtra as alterações a serem retidas
– Restringe ALTER TABLE e impede DROP TABLE
– A falta de espaço suspende o rastreamento das operações
44. Oracle 11g – Disponibilidade
• Fast/Flash Recovery Area
– Área em disco (filesystem ou ASM) destinada ao
armazenamento de backups, archived logs,
flashback logs, control files e redo logs espelhados
– Espaço gerenciado automaticamente, de acordo
com a política de retenção
– Parâmetros
• Localização: DB_RECOVERY_FILE_DEST
• Tamanho: DB_RECOVERY_FILE_DEST_SIZE