Oracle9i: Tuning de Aplicações. Oracle9i: Tuning de Aplicações

Tamanho: px
Começar a partir da página:

Download "Oracle9i: Tuning de Aplicações. Oracle9i: Tuning de Aplicações"

Transcrição

1 Oracle9i: Tuning de Aplicações Oracle9i: Tuning de Aplicações I

2 Oracle9i: Tuning de Aplicações Sumário 1. Seguindo uma Metodologia de Tuning Objetivos Visão Geral Gerenciando a Performance Fatores a Serem Gerenciados Problemas de Performance Recursos Críticos Demanda Excessiva Metodologia de Tuning Responsabilidades do Tuning Tuning de Comandos SQL Aplicando a Metodologia Processamento de Comandos SQL Objetivos Visão Geral Shared SQL Areas Fases do Processamento de Comandos SQL Compartilhando Cursores: Benefícios Compartilhando Cursores: Requisitos Monitorando Cursores Compartilhados V$LIBRARYCACHE V$SQLAREA Monitorando o Uso de Cursores Compartilhados Escrevendo SQL para Compartilhar Cursores EXPLAIN e AUTOTRACE Objetivos Criando a Tabela PLAN_TABLE Comando EXPLAIN PLAN Exemplo de EXPLAIN PLAN Exibindo o Plano de Execução Interpretando o Plano de Execução AUTOTRACE do SQL*Plus Exemplos de AUTOTRACE do SQL*Plus Estatísticas do AUTOTRACE do SQL*Plus Exercícios SQL Trace e TKPROF Objetivos SQL Trace Utilizando o SQL Trace Parâmetros de Inicialização Habilitando o SQL Trace Encontrando seus Arquivos de Trace Formatando os Arquivos de Trace Opções do Comando TKPROF Resultado do Comando TKPROF

3 Oracle9i: Tuning de Aplicações Exemplo do Resultado do TKPROF: Sem Índice Exemplo do Resultado do TKPROF: Índice Único Algumas Armadilhas de Interpretação do TKPROF Exercícios Otimização Baseada em Regra Versus Otimização Baseada em Custo Objetivos Visão Geral Funções do Otimizador do Oracle9i Otimização Baseada em Regra Otimização Baseada em Custo Escolhendo entre RBO e CBO Configurando o Modo do Otimizador Características do RBO Esquema de Ranking do RBO Exemplo de Otimização Baseada em Regra Influenciando a Otimização Baseada em Regra Índices e Métodos de Acesso Básicos Objetivos ROWIDs do Oracle9i Índices Estrutura de Índice B-Tree Índices e Constraints Sintaxe do CREATE INDEX Índices e Foreign Keys Métodos de Acesso Básicos Coletando Estatísticas Objetivos Comando ANALYZE Estatísticas de Tabela Estatísticas de Índice Estatísticas de Coluna Estatísticas de Cluster Seletividade de Predicados Variáveis Bind e Seletividade de Predicados Histogramas Exemplo Comparativo de Histogramas Exemplo de Coleta de Estatísticas para Histogramas Dicas para Histogramas Quando Utilizar Histogramas Escolhendo um Sample Size Escolhendo o Número de Entradas Visualizando Estatísticas de Histogramas Exercícios Influenciando o Otimizador Objetivos Configurando o Modo de Otimização...8-3

4 Oracle9i: Tuning de Aplicações Alguns Parâmetros Adicionais do Otimizador Sintaxe de Hints para o Otimizador Regras para Hints Recomendações de Hints Exemplo de Hints de Otimização Categorias de Hints Hints de Caminhos de Acesso Básicos Hints de Caminhos de Acesso Avançados Hints Adicionais Hints e Visões Hints de Processamento de Visões Índices Avançados Objetivos Índices Bitmap Estrutura de Índices Bitmap Criando Índices Bitmap Utilizando Índices Bitmap para Consultas Combinando Índices Bitmap Quando Utilizar Índices Bitmap Vantagens de Índices Bitmap Dicas sobre Índices Bitmap Índices e Métodos de Acesso as Linhas Hints de Índices Exemplo do Hint INDEX_COMBINE Informações do Dicionário de Dados Workshops... 1 Workshop 1: Uma Única Tabela, Um Único Predicado... 2 Workshop 2: Ordenação, Agregação e Operações de Conjunto... 7

5 Oracle9i: Tuning de Aplicações 1. Seguindo uma Metodologia de Tuning

6 Seguindo uma Metodologia de Tuning Objetivos Descrever as causas de problemas de performance. Identificar as principais áreas de sistema que você pode afetar pelo processo de tuning. Descrever a metodologia de tuning. Apresentar as vantagens de seguir a metodologia de tuning em sua ordem correta. Listar os passos de tuning que são de responsabilidade do desenvolvedor da aplicação. 1-2

7 Seguindo uma Metodologia de Tuning Visão Geral Gerenciamento da performance. Problemas de performance. Metodologia de tuning. Tuning de comandos SQL. Metodologia de aplicação. Qualquer pessoa envolvida em tuning deve seguir uma metodologia de tuning para obter o máximo de performance. Tuning de comandos SQL é um passo importante que custa menos quando efetuado no momento correto dentro da metodologia. Em adição a efetuar o tuning no momento correto, você deve também possuir uma boa compreensão dos detalhes envolvidos no gerenciamento da performance e os tipos de problemas de performance que podem aparecer. 1-3

8 Seguindo uma Metodologia de Tuning Gerenciando a Performance Inicie no momento certo. Defina os objetivos. Efetue o tuning e monitore a conformidade. Trabalhe em equipe. Trate exceções e modificações. O processo de tuning exige vários passos: Inicie no Momento Certo O gerenciamento de performance deve acompanhar a aplicação ou projeto continuamente para ser totalmente efetivo. Você deve começar a considerá-lo no estágio de design. Defina os Objetivos Defina seus objetivos de uma forma aceita e acordada com todas as partes interessadas. Efetue o Tuning e Monitore a Conformidade Após você definir e acordar os objetivos, você estará pronto para efetuar o tuning e atingir estes objetivos, monitorando seu progresso a medida que efetua o tuning. Você deve manter registros detalhados sobre o nível de conformidade conforme a necessidade. Você deve publicar indicativos de medidas em intervalos regulares, destacando quaisquer divergências ou tendências. Trabalhe em Equipe Administradores de banco de dados, administradores de sistema e programadores devem trabalhar em equipe como um time, não como adversários. Trate Exceções e Modificações Uma vez que o monitoramento efetivo estiver sendo realizado e suportado no mesmo nível da aplicação, você deve reagir prontamente a exceções quando estas forem reportadas. Utilize os dados disponíveis para traçar um curso de ação e então analise a performance resultante para determinar se sua ação foi bem sucedida. Se mudanças globais no uso de padrões ou capacidade de equipamento ocorrerem, então você deve considerar a definição de novos objetivos. 1-4

9 Seguindo uma Metodologia de Tuning Fatores a Serem Gerenciados Schema. Design de dados. Índices. Aplicação Comandos SQL. Código procedural. Instância. Banco de dados. Expectativas do usuário. O gerenciamento de performance pode ser dividido nas quatro áreas seguintes. Embora as áreas estejam separadas, são também independentes e necessitam diferentes qualificações. Schema O tuning do schema trata da estrutura física dos dados. O tuning da aplicação trata das funções de negócio e dos módulos de programa que implementam as funções. Tuning do código procedural para o tipo de aplicação e tuning dos comandos SQL embutidos também estão incluídos neste estágio. O tuning da instância trata da instalação do Oracle9i Server e como a memória será utilizada. O tuning do banco de dados trata do gerenciamento da localização física dos dados no disco. Se uma aplicação possuir um design de dados inadequado ou inapropriado, então efetue o tuning da alocação física, provendo índices ou reescrevendo programas que não superaram o problema. Comandos SQL Se uma aplicação foi bem desenhada, ainda assim pode prover uma performance ruim. Uma razão comum para isto são comandos SQL escritos de forma incorreta. Expectativas do Usuário Usuários esperam uma performance consistente. Eles podem competir com funções de aplicação lentas se entenderem porque a aplicação está demorando mais que o habitual. A equipe do projeto deve colocar esforços em construir uma expectativa de usuário realista em relação a performance, possivelmente incluindo mensagens de aplicação para advertir operadores que eles estão requisitando operações que consumidoras de recursos. O melhor momento para fazer isto é antes das fases de design e construção, e como parte da fase de transição. 1-5

10 Seguindo uma Metodologia de Tuning Problemas de Performance Recursos consumidos inadequadamente. CPU I/O Memória (pode ser detectado como um problema de I/O) Recursos de comunicação de dados Recursos de design inadequados. Bloqueio (locking). Problemas de performance ocorrem quando uma função consome muito mais tempo para executar que o tempo permitido. Isto é devido a um recurso de um tipo particular ser insuficiente ou inadequado. O recurso pode ser um recurso físico, como buffers de memória disponíveis para armazenar blocos de dados, ou um recurso artificial, como um lock. Recursos Consumidos Inadequadamente Um recurso pode simplesmente ser inadequado para satisfazer a necessidade sob quaisquer circunstâncias. Por exemplo, se você deseja que uma função seja completada em até um segundo, uma rede com um tempo de resposta de dois segundos nunca irá atingir o objetivo. Se o fator limitante é um recurso consumível, como poder de CPU, todos os usuários deste recurso são afetados. Recursos de Design Inadequados Se o fator limitante for a contenção de processos para um recurso de design, como um lock, então somente os usuários destes processos específicos serão provavelmente afetados. Bloqueio (locking) Contenção devido a lock por outras transações ou aplicações pode ser um problema. 1-6

11 Seguindo uma Metodologia de Tuning Recursos Críticos A performance depende: Quantos clientes necessitam do recurso. Quanto tempo terão de esperar por ele. Quanto tempo irão segurá-lo. Considere a limitação da demanda para manter tempos de resposta aceitáveis. O tempo de resposta é definido como o tempo de serviço mais o tempo de espera para completar uma determinada tarefa. 1-7

12 Seguindo uma Metodologia de Tuning Demanda Excessiva Grandes aumentos no tempo de resposta. Reduz o troughput. Deve ser evitada sempre que possível limitando a demanda a um nível que mantenha sempre um troughput razoável. O troughput é definido como a quantidade total de trabalho realizado pelo sistema em uma determinada quantidade de tempo. Muitos processos utilizando um sistema simultaneamente podem resultar nos seguintes sintomas: Tempo de Resposta Maior A maioria dos usuários conhece e compreende os efeitos de filas no aumento do tempo de resposta. Eles podem ser preparados para aceitar repostas lentas em momentos de alta utilização do sistema se o efeito for linear. Entretanto, tanto teorias estatísticas quanto experiências mostram que uma vez que o tempo de resposta começa a deteriorar, pequenos aumentos na carga podem causar um efeito grava, o qual é completamente inaceitável para os usuários. Throughput Reduzido Qualquer degradação notável no tempo de resposta é como romper a taxa de trabalho dos usuários afetados. Muitas pessoas não entendem que adicionando mais usuários ao sistema significativamente diminui o throughput geral do sistema. Se o throughput do sistema for importante, você deve garantir que o número de usuários não exceda o limite no qual o throughput começa a diminuir. É melhor limitar o número de usuários mecanicamente. Isto pode forçar uma mudança nos padrões de trabalho para enfrentar a restrição, mas dividindo os períodos de pico através do dia de trabalho pode melhorar em muito a forma como o sistema é utilizado. 1-8

13 Seguindo uma Metodologia de Tuning Metodologia de Tuning 1. Tuning das funções de negócio. 2. Tuning do design de dados. 3. Tuning do design de processos. 4. Tuning de comandos SQL. 5. Tuning de estruturas físicas. 6. Tuning da alocação de memória. 7. Tuning de I/O. 8. Tuning da contenção de memória. 9. Tuning do sistema operacional. A lista acima apresenta as várias fases do ciclo de desenvolvimento nas quais o tuning pode ser aplicado. Seguir os passos nesta ordem é altamente recomendado pelas seguintes razões: Quanto mais anterior a etapa em que o tuning for iniciado, maior o potencial para melhoria na performance. Quanto mais posterior a etapa em que o tuning for iniciado, maior será custo para efetuar ou refazer isto depois. Por exemplo, modificações para as estruturas de dados e código de aplicação após o design inicial tendem a ser caras e necessitarem de gastos adicionais para retestar os componentes afetados. Decisões feitas em um passo podem influenciar os passos subseqüentes. Por exemplo, o comando SQL que você escreveu no passo 4 pode ter significante influência nos detalhes de parse e cache que são tratados no passo 6. Quanto mais extensivamente você utilizar as técnicas de design orientado a objeto e a arquitetura multi-tier, maior serão as chances de você seguramente conseguir efetuar quaisquer mudanças na aplicação a um custo razoável. 1-9

14 Seguindo uma Metodologia de Tuning Responsabilidades do Tuning Analista de Negócios Designer Desenvolvedor da Aplicação Administrador do Banco de Dados Administrador do Sistema Operacional 1. Tuning das funções de negócio 2. Tuning do design de dados 3. Tuning do design de processos 4. Tuning de comandos SQL 5. Tuning de estruturas físicas 6. Tuning da alocação de memória 7. Tuning de I/O 8. Tuning de contenção de memória 9. Tuning do sistema operacional O analista de negócios, designer, desenvolvedor da aplicação, administrador do banco de dados e administrador do sistema operacional são responsáveis por diferentes passos no processo de tuning. Em alguns casos, uma pessoa pode preencher vários destes papéis. Os passos efetuados pelo administrador do banco de dados e administrador do sistema operacional possuem menos efeito na performance do que os passos anteriores, mas eles podem ser efetuados a um custo relativamente baixo com resultados imediatamente disponíveis e observáveis. O quarto passo da metodologia é principalmente responsabilidade do desenvolvedor da aplicação. Entretanto, o entendimento de como o tuning de SQL é efetuado pode permitir aos designers projetar schemas que serão mais facilmente otimizados. Administrador de banco de dados com esta compreensão serão capazes de ajudar a definir as necessidades e solução do tuning de SQL, desta forma aliviando o fardo de seus bancos de dados. Isto é especialmente útil se a aplicação já estiver em produção e os desenvolvedores não estiverem mais disponíveis. 1-10

15 Seguindo uma Metodologia de Tuning Tuning de Comandos SQL Utilize ferramentas de análise de performance para verificar o resultado dos seguintes passos: 1. Tuning de schema. Adicione índices. Crie tabelas do tipo index organized. Crie clusters. 2. Escolha a linguagem: SQL ou PL/SQL. 3. Projete a reutilização da otimização de SQL. 4. Projete e otimize comandos SQL. 5. Maximize a performance com o otimizador. Durante os passos dentro do tuning de comandos SQL, técnicas de análise devem ser freqüentemente utilizadas para determinar metas e progresso. 1. Tuning de schema. O designer é responsável por determinar quais tabelas devem ser utilizadas, seus conteúdos e detalhes similares. O desenvolvedor da aplicação pode então necessitar decidir quando utilizar indexação, quando utilizar tabelas index organized e quando utilizar clusterização. Desnormalização pode ser necessária para se obter uma boa performance, especialmente em ambientes de data warehouse. As decisões destes passos podem ter grande efeito na performance de quaisquer comandos SQL que venham a utilizar estas estruturas. 2. Escolhendo a linguagem: SQL ou PL/SQL. Em alguns casos, você pode obter melhor performance utilizando a linguagem PL/SQL para executar um tarefa. 3. Projetando a reutilização do parse de SQL, otimização e esforços de tuning. O Oracle pode freqüentemente reutilizar alguns de seus esforços ao efetuar o parse e a otimização quando identificar comandos idênticos repetidos. Portanto, criando comandos SQL que sejam idênticos pode melhorar a performance. Ele também permite ao desenvolvedor da aplicação focar o tuning de comandos SQL individuais que são repetidamente utilizados. 4. Projetando e otimizando comandos SQL. Existe uma grande variedade de métodos para projetar comandos SQL de alta performance. O conhecimento das funções globais do otimizador ajuda a visualizar onde os esforços de tuning podem ser efetivos.considere reescrever comandos SQL em comandos semanticamente equivalentes. Além disso, utilize a linguagem correta (SQL ou PL/SQL) em cada situação. 5. Obtendo o máximo de performance com o otimizador. Para fazer o melhor uso do otimizador baseado em custo do Oracle, você deve entender como ele escolhe os métodos de acesso aos dados. Você deve auxiliar o otimizador baseado em custo utilizando o comando ANALYZE, e algumas vezes fornecendo hints sobre o melhor caminho de acesso. O otimizador baseado em regra também está disponível. Ambos os otimizadores serão discutidos no capítulo

16 Seguindo uma Metodologia de Tuning Aplicando a Metodologia Seja pró-ativo comece no topo da metodologia e siga os passos. Se você tiver que ser reativo, siga os passos de baixo para cima, utilizando as seguintes dicas: Estabeleça objetivos quantificáveis. Trabalhe a um mínimo de testes repetitivos. Faça perguntas aos usuários afetados e evite preconcepções. Teste hipóteses e mantenha anotações. Pare quando você alcançar o objetivo. Freqüentemente, especialistas em performance são chamados muito tarde no ciclo de vida de um projeto, quando os sistemas estão em produção e a performance ficou inaceitável. Nesta situação, inicie pelo final da lista de métodos de tuning e siga para os passos anteriores. Os itens do final são mais baratos e rápidos para se obter resultados. Se eles não resolverem o problema, você terá que trabalhar os itens mais acima da lista, e isto irá aumentar os custos e os tempos para execução. 1-12

17 Oracle9i: Tuning de Aplicações 2. Processamento de Comandos SQL

18 Processamento de Comandos SQL Objetivos Descrever os passos básicos envolvidos no processamento de um comando SQL. Monitorar o uso de shared SQL areas. Escrever comandos SQL para obter vantagens das shared SQL areas. 2-2

19 Processamento de Comandos SQL Visão Geral Shared SQL areas. Fases do processamento de SQL. Shared cursors. Padrões de codificação SQL. Conhecendo como funcionam áreas de SQL compartilhadas, as fases de processamento SQL e cursores compartilhados, você pode entender como padrões de codificação permitem a você minimizar a freqüência com que comandos necessitam ser compilados e otimizados. Adicionalmente, a medida que comandos que você escreveu tornem-se mais e mais padronizados, você será capaz de identificar que ocorrem freqüentemente e dedicar tuning adicional a eles. 2-3

20 Processamento de Comandos SQL Shared SQL Areas A shared pool é parte da System Global Area (SGA), que contém o cache do dicionário e a shared SQL area. A shared SQL area é também conhecida como library cache, embora não seja exatamente o mesmo; a shared SQL area é parte da library cache. A shared pool é automaticamente mantida por um mecanismo de envelhecimento. Este mecanismo utiliza o algorítmo least recently used (LRU) para determinar o que está mais tempo sem utilização removendo-o quando espaço for requisitado. O administrador do banco de dados (DBA) pode modificar o espaço disponível para o dicionário e shared SQL areas alterando o parâmetro de inicialização SHARED_POOL_SIZE. O DBA pode efetuar isto como parte de um esforço global de tuning do banco de dados. Cursores Dentro da shared SQL area, cada comando SQL é compilado (parsed) em sua própria área, conhecida como context area ou cursor. Cada cursor armazena as seguintes informações: O comando compilado (SQL estático, dinâmico e recursivo, mais unidades de programas como procedures e triggers de banco de dados). O plano de execução. Uma lista de objetos referenciados. Se dois usuários enviarem o mesmo comando SQL, então podem utilizar o mesmo cursor. O comando é recompilado se a representação na shared pool estiver inválida. Isto acontece, por exemplo, se comando da linguagem de definição de dados (DDL) como um ALTER TABLE foi utilizado em um dos objetos que estão referenciados no comando, ou se uma tabela dependente foi analisada. 2-4

21 Processamento de Comandos SQL Fases do Processamento de Comandos SQL As quatro fases mais importantes no processamento de um comando SQL são parse, bind, execute e fetch. As setas indicam os cenários do processamento, por exemplo: Parse Bind FETCH (RE)BIND EXECUTE FETCH A fase FETCH aplica-se somente a consultas. O servidor Oracle9i: Procura pelo comando na shared pool. Verifica a sintaxe do comando, determinando a gramática e especificações da linguagem SQL. Verifica a semântica, garantindo que os objetos referenciados no comando SQL são válidos e satisfazem as regras de segurança. Transforma um consulta sobre uma visão em uma consulta sobre sua definição, e tenta simplificar um comando com uma subconsulta reescrevendo-o em um join. Determina e armazena o plano de execução. O servidor Oracle9i verifica o comando por referências de variáveis bind. O servidor Oracle9i atribui ou reatribui um valor para cada variável. Nota: esta ordem das fases implica que o servidor Oracle9i não conhece os valores das variáveis bind no momento da otimização de um comando. Isto permite uma rápida operação de rebind-execute sem a necessidade de recompilação, desta forma economizando tempo e memória, sendo que a desvantagem é a impossibilidade de o otimizador estimar a seletividade. Execute O servidor Oracle9i aplica a parse tree aos buffers de dados. Múltiplos usuários podem compartilhar a mesma parse tree. O servidor Oracle9i efetua leituras físicas ou leituras/escritas lógicas para comandos DML, e também ordena os dados quando necessário. 2-5

22 Fetch Processamento de Comandos SQL O servidor Oracle9i recupera as linhas para um comando SELECT durante a fase de fetch. Cada fetch normalmente recupera múltiplas linhas, utilizando um array fetch. Cada ferramenta Oracle oferece suas próprias formas de influenciar o tamanho do array. No SQL*Plus você efetuar isto utilizando o parâmetro ARRAYSIZE: SQL> show arraysize SQL> set arraysize 1 Com esta configuração o SQL*Plus irá processar uma linha de cada vez. O valor default é

23 Processamento de Comandos SQL Compartilhando Cursores: Benefícios Quando um comando SQL é encontrado na shared SQL area, então a fase de parse é reduzida e o cursor existente é utilizado. O compartilhamento de cursores reduz a atividade de parse e economiza tempo de processamento. A memória ajusta-se dinamicamente ao SQL executado. A utilização de memória pode melhorar dramaticamente, mesmo para ferramentas que armazenam SQL dentro da aplicação. 2-7

24 Processamento de Comandos SQL Compartilhando Cursores: Requisitos Cursores podem ser compartilhados somente por comandos SQL idênticos: O texto dos comandos SQL deve ser exatamente o mesmo, incluindo distinção entre maiúsculas e minúsculas, espaços em branco e comentários. Os objetos referenciados nos comandos SQL devem apontar para os mesmos objetos no banco de dados. Os tipos das variáveis bind utilizadas nos comandos SQL deve ser o mesmo. Nota: antes de enviar comandos SQL para o servidor Oracle9i, a maioria dos utilitários (como PL/SQL, pré-compiladores e o Oracle Developer) pré-processam os comandos SQL para torná-los o mais idênticos possíveis removendo comentários, comprimindo espaços em branco e convertendo para maiúsculas ou minúsculas. O SQL*Plus entretanto, envia comandos SQL para o servidor Oracle9i no mesmo formato que eles foram inseridos. 2-8

25 Processamento de Comandos SQL Monitorando Cursores Compartilhados V$LIBRARYCACHE fornece informações gerais. V$SQLAREA verifica comandos individuais. Quando não existe espaço para compilar um comando na shared SQL area, o cursor mais antigo e seu espaço é reutilizado. Se o comando original for necessário novamente, o servidor terá que recompilá-lo novamente. A shared pool deve ser grande o suficiente para manter o número de comandos que são compilados pelo menos mais de uma vez. Você pode monitorar seus sistema para visualizar com que freqüência o servidor não encontra um comando em memória. Você pode utilizar o Oracle Enterprise Manger, ou o Oracle Server Manager ou consultar as visões apropriadas do dicionário de dados, V$LIBRARYCACHE e V$SQLAREA. 2-9

26 Processamento de Comandos SQL V$LIBRARYCACHE NAMESPACE GETS GETHITS GETHITRATIO PINS PINHITS PINHITRATIO O nome da área da library cache O número de vezes que um lock foi requisitado O número de vezes que um handle de um objeto foi encontrado em memória A proporção de GETHITS em relação aos GETS O número de vezes que um PIN foi requisitado O número de vezes que todos os pedaços do objeto foram encontrados em memória A proporção de PINHITS em relação aos PINS Esta visão armazena informações sobre o gerenciamento da library cache. Os valores para PINHITRATIO e GETHITRATIO próximos de 1 indicam uma boa performance da library cache. A visão V$LIBRARYCACHE é utilizada na consulta abaixo para verificar a quantidade de cache. SQL> select gethitratio, pinhitratio 2 from v$librarycache 3 where namespace = 'SQL AREA'; Get Hit Ratio Pin Hit Ratio

27 Processamento de Comandos SQL V$SQLAREA SQL_TEXT Texto do comando SQL VERSION_COUNT Número de versões deste cursor LOADS Número de vezes que o cursor foi carregado INVALIDATIONS Número de vezes que o conteúdo foi invalidado PARSE_CALLS Número de vezes que um usuário solicitou o cursor SORTS Número de sorts efetuados pelo comando COMMAND_TYPE Tipo do comando PARSING_USER_ID ID do usuário que efetuou o parse (SYS = 0) A visão V$SQLAREA armazena informações sobre todos os cursores compartilhados no cache. VERSIONT_COUNT > 1 LOADS > 1 COMMAND_TYPE Indica que o mesmo texto é utilizado por diferentes usuários, em sua própria versão de uma tabela. Indica recargas do cursor após o envelhecimento ou invalidação. 2: INSERT 3: SELECT 6: UPDATE 7: DELETE Nota: somente as colunas mais importantes da visão V$SQLAREA estão listadas acima. 2-11

28 Processamento de Comandos SQL Monitorando o Uso de Cursores Compartilhados Um LOAD por comando é o ideal. Um LOAD por versão/invalidação é aceitável. Mais de um LOAD por versão indica um benefício potencial a partir do aumento do tamanho da shared pool. No melhor cenário, deveria haver uma versão de cada comando que nunca é invalidada ou envelhecida. Se o número de loads é significativamente maior que a soma de versões e invalidações, especialmente se o número de loads é similar ao número de chamadas (calls), então os cursores provavelmente estão sendo recarregados devido ao envelhecimento e o sistema pode beneficiar-se do aumento do tamanho da shared pool. SQL> select sql_text, version_count, loads, 2 invalidations, parse_calls, sorts 3 from v$sqlarea 4 where parsing_user_id > 0 5 and command_type = 3 6 order by sql_text; version invali parse sql_text count loads dations calls sorts select * from employees where EMP_ID = select * from employees where emp_id = O comando acima exclui informações sobre SQL recursivo (parsing user SYS) e exibe somente comandos SELECT (command type 3). Existe duas versões do primeiro comando, provavelmente porque eles referenciam dois objetos EMPLOYEES diferentes. Entretanto, cada versão foi carregada somente uma vez. O comando foi enviado três vezes (PARSE_CALLS). Existe somente uma versão do segundo comando, mas este foi carregado duas vezes, sendo invalidado uma vez (provavelmente por algum DDL na tabela ou índice relacionado). Nota: o Oracle SQL Analyze, um componente do Oracle Enterprise Manager Tuning Pack, oferece uma excelente interface gráfica sobre a V$SQLAREA. 2-12

29 Processamento de Comandos SQL Escrevendo SQL para Compartilhar Cursores Se houver diferença entre maiúsculas e minúsculas ou a quantidade de espaço em branco for diferente, então os comandos não são idênticos. SQL> select * from employees where emp_id = 70727; SQL> select * from EMPLOYEES where EMP_ID = 70727; Se os objetos pertencerem a usuários diferentes, então os comandos não são idênticos. SQL> select * from employees where EMP_ID = 70727; SQL> select * from employees where EMP_ID = 70727; Comandos SQL devem ser idênticos para poderem compartilhar os cursores. Observe que o compartilhamento de comandos não é importante em um ambiente DSS, porque a maioria dos comandos será diferente de qualquer maneira. Distinção de Maiúsculas/Minúsculas Os primeiros dois exemplos acima não são idênticos. Observe a diferença de maiúsculas e minúsculas nos nomes da tabela e coluna. Devido a esta diferença, os comandos não são idênticos e portanto não compartilham uma única SQL area. Objetos Idênticos Mesmo quando dois comandos parecem idênticos, se os objetos na verdade referirem-se a objetos diferentes do banco de dados, então os dois comandos não são idênticos. Nos dois últimos exemplos, os comandos são enviados por dois diferentes usuários e cada um possui sua própria tabela EMPLOYEES. Desta forma os comandos não são idênticos e não compartilham uma única SQL area. Variáveis Bind e Cursores Compartilhados SQL> select * from employees where emp_id = :c; SQL> select * from employees where emp_id = :d; Ambos os comandos são traduzidos para: SQL> select * from employees where emp_id = :b1; Se duas variáveis bind possuem diferentes tipos de dados, então os comandos não são idênticos. Se os tipos de dados da variável bind correspondem mas seus nomes não são idênticos, como no exemplo acima, não há problema, porque variáveis bind são internamente renomeadas. A primeira variável é sempre chamada :b1, a segunda :b2 e assim por diante. Escrevendo SQL para Compartilhar Cursores Desenvolva convenções de codificação para comandos SQL em consultas, scripts SQL e chamadas OCI. 2-13

Pedro F. Carvalho Analista de Sistemas contato@pedrofcarvalho.com.br www.pedrofcarvlho.com.br ADMINISTRANDO A INSTÂNCIA

Pedro F. Carvalho Analista de Sistemas contato@pedrofcarvalho.com.br www.pedrofcarvlho.com.br ADMINISTRANDO A INSTÂNCIA ADMINISTRANDO A INSTÂNCIA Os tres componentes (instância, Listener e opcionalmente o DataBase Control) tem seus próprios utilitários de linha de comando que podem ser usados para inicialização, ou, uma

Leia mais

PL/SQL Developer. Solução para Ambiente de Desenvolvimento Integrado Oracle

PL/SQL Developer. Solução para Ambiente de Desenvolvimento Integrado Oracle Solução para Ambiente de Desenvolvimento Integrado Oracle PL/SQL Developer é um ambiente de desenvolvimento integrado (IDE) que foi especialmente destinado ao desenvolvimento de programas armazenados em

Leia mais

Oracle PL/SQL Overview

Oracle PL/SQL Overview Faculdades Network Oracle PL/SQL Overview Prof. Edinelson PL/SQL Linguagem de Programação Procedural Language / Structured Query Language Une o estilo modular de linguagens de programação à versatilidade

Leia mais

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos

Leia mais

Sumário. Capítulo 2 Conceitos Importantes... 32 Tópicos Relevantes... 32 Instance... 33 Base de Dados... 36 Conclusão... 37

Sumário. Capítulo 2 Conceitos Importantes... 32 Tópicos Relevantes... 32 Instance... 33 Base de Dados... 36 Conclusão... 37 7 Sumário Agradecimentos... 6 Sobre o Autor... 6 Prefácio... 13 Capítulo 1 Instalação e Configuração... 15 Instalação em Linux... 15 Instalação e Customização do Red Hat Advanced Server 2.1... 16 Preparativos

Leia mais

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Banco de Dados Oracle 10g: Introdução à Linguagem SQL Oracle University Entre em contato: 0800 891 6502 Banco de Dados Oracle 10g: Introdução à Linguagem SQL Duração: 5 Dias Objetivos do Curso Esta classe se aplica aos usuários do Banco de Dados Oracle8i,

Leia mais

OTIMIZAÇÃO DE CONSULTAS NO SGBD ORACLE 11G. Resumo: Este artigo apresenta diversas técnicas e ferramentas para otimizar consultas

OTIMIZAÇÃO DE CONSULTAS NO SGBD ORACLE 11G. Resumo: Este artigo apresenta diversas técnicas e ferramentas para otimizar consultas OTIMIZAÇÃO DE CONSULTAS NO SGBD ORACLE 11G BRENO MARCELO DE SOUZA 1 IREMAR NUNES DE LIMA 2 Resumo: Este artigo apresenta diversas técnicas e ferramentas para otimizar consultas SQL no Sistema Gerenciador

Leia mais

Cada banco de dados Oracle possui uma lista de usuários válidos, identificados por USERNAMES.

Cada banco de dados Oracle possui uma lista de usuários válidos, identificados por USERNAMES. SEGURANÇA DE USUÁRIOS Cada banco de dados Oracle possui uma lista de usuários válidos, identificados por USERNAMES. Todos os usuários são cadastrados no Dicionário de Dados do Banco em tabelas e views

Leia mais

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução à Engenharia da Computação. Banco de Dados Professor Machado Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:

Leia mais

Manter estatísticas atualizadas é uma das regras de ouro na busca por performance.

Manter estatísticas atualizadas é uma das regras de ouro na busca por performance. Atualização de Estatísticas Um objeto de estatística pode ser atualizado manualmente pelo usuário, através dos comandos SP_UPDATESTATS e/ou UPDATE STATISTICS. Enquanto que a procedure SP_UPDATESTATS atualiza

Leia mais

Oracle Performance Diagnostics & Tuning Ricardo Portilho Proni

Oracle Performance Diagnostics & Tuning Ricardo Portilho Proni Oracle Performance Diagnostics & Tuning Ricardo Portilho Proni Mitificação Métodos antigos o o o o o o Experiência Intuição Imprecisão Tempo Sorte Recursos Top Tuning Verificar maior consumidor de CPU

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Novidades Oracle 11g. Rio Grande Energia - RGE

Novidades Oracle 11g. Rio Grande Energia - RGE Novidades Oracle 11g Daniel Güths Rio Grande Energia - RGE 1 Agenda Oracle Database 11g new features SQL e PL/SQL new features Performance e gerenciamento de recursos Gerenciamento de mudanças Gerenciamento

Leia mais

Quando se seleciona os modos OS ou XML, arquivos são criados com os registros de auditoria, eles se localizam parâmetro audit_file_dest.

Quando se seleciona os modos OS ou XML, arquivos são criados com os registros de auditoria, eles se localizam parâmetro audit_file_dest. Auditoria é a habilidade do banco de dados Oracle poder gerar logs de auditoria (XML, tabelas, arquivos de SO, ) em atividades suspeitas do usuário, como por exemplo: monitorar o que um determinado usuário

Leia mais

Banco de Dados Oracle. Faculdade Pernambucana - FAPE

Banco de Dados Oracle. Faculdade Pernambucana - FAPE Faculdade Pernambucana - FAPE Visão Geral dos Componentes Principais da Arquitetura Oracle Servidor Oracle É o nome que a Oracle deu ao seu SGBD. Ele consiste de uma Instância e um Banco de Dados Oracle.

Leia mais

Sumário Agradecimentos... 19 Sobre.o.autor... 20 Prefácio... 21 Capítulo.1..Bem-vindo.ao.MySQL... 22

Sumário Agradecimentos... 19 Sobre.o.autor... 20 Prefácio... 21 Capítulo.1..Bem-vindo.ao.MySQL... 22 Sumário Agradecimentos... 19 Sobre o autor... 20 Prefácio... 21 Capítulo 1 Bem-vindo ao MySQL... 22 1.1 O que é o MySQL?...22 1.1.1 História do MySQL...23 1.1.2 Licença de uso...23 1.2 Utilizações recomendadas...24

Leia mais

Prof. Omero, pág. 63. Banco de Dados InterBase.

Prof. Omero, pág. 63. Banco de Dados InterBase. Prof. Omero, pág. 63 O que é o InterBase? O InterBase é um SGBDR - Sistema Gerenciador de Banco de Dados Cliente/Servidor Relacional 1 que está baseado no padrão SQL ANSI-9, de alta performance, independente

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO

Leia mais

As principais estruturas são a SGA (System Global Area ou Área Global do Sistema) e a PGA (Program Global Area ou Área Global de Programa).

As principais estruturas são a SGA (System Global Area ou Área Global do Sistema) e a PGA (Program Global Area ou Área Global de Programa). ARQUITETURA ORACLE O conhecimento da arquitetura interna do ORACLE é de extrema importância para a compreensão das técnicas de otimização do produto. Basicamente, os seus mecanismos de execução são as

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela Certamente você já ouviu falar muito sobre triggers. Mas o quê são triggers? Quando e como utilizá-las?

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 10 - PROCEDIMENTOS ARMAZENADOS - STORED PROCEDURES 1. INTRODUÇÃO Em muitas situações será necessário armazenar procedimentos escritos com a finalidade de se utilizar recursos como loop, estruturas

Leia mais

Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br

Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Abordagem geral Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br Em primeiro plano, deve-se escolher com qual banco de dados iremos trabalhar. Cada banco possui suas vantagens,

Leia mais

Oracle 10g: SQL e PL/SQL

Oracle 10g: SQL e PL/SQL Oracle 10g: SQL e PL/SQL PL/SQL: Visão Geral Enzo Seraphim Visão Geral Vantagens de PL/SQL Suporte total à linguagem SQL Total integração com o Oracle Performance Redução da comunicação entre a aplicação

Leia mais

SQL Introdução ao Oracle

SQL Introdução ao Oracle SQL Introdução ao Oracle Estagiários: Daniel Feitosa e Jaqueline J. Brito Sumário Modelo de armazenamento de dados Modelo físico Modelo lógico Utilizando o SQL Developer Consulta de Sintaxe Sumário Modelo

Leia mais

Manual de Instalação e Configuração

Manual de Instalação e Configuração e Configuração MyABCM 4.0 Versão 4.00-1.00 2 Copyright MyABCM. Todos os direitos reservados Reprodução Proibida Índice Introdução... 5 Arquitetura, requisitos e cenários de uso do MyABCM... 7 Instalação

Leia mais

INICIAL. Guia de Criação da Base Produção Paralela IMPORTANTE: MESMO QUE SEJAM EXECUTADOS

INICIAL. Guia de Criação da Base Produção Paralela IMPORTANTE: MESMO QUE SEJAM EXECUTADOS Guia de Criação da Base Produção Paralela INICIAL SEQUENCES, tabelas de BMF e CADASTRO. Atualização de Bancos de Dados. Validações necessárias. IMPORTANTE: MESMO QUE SEJAM EXECUTADOS OS PROCEDIMENTOS DA

Leia mais

PostgreSQL Performance

PostgreSQL Performance PostgreSQL Performance André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) PostgreSQL Performance February 24, 2012 1 / 45 Sumário 1 Armazenamento 2 Índices

Leia mais

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL 1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico Banco de Dados // 1 Banco de Dados // 2 Conceitos BásicosB Engenharia da Computação UNIVASF BANCO DE DADOS Aula 1 Introdução a Banco de Dados Campo representação informatizada de um dado real / menor unidade

Leia mais

UNINOVE Tec. Adm. e Des. de Sistemas. Administracão de Banco de Dados. ORACLE Backup / Recovery AULA 11

UNINOVE Tec. Adm. e Des. de Sistemas. Administracão de Banco de Dados. ORACLE Backup / Recovery AULA 11 UNINOVE Tec. Adm. e Des. de Sistemas Administracão de Banco de Dados ORACLE Backup / Recovery AULA 11 Prof. MsC. Eng. Marcelo Bianchi AULA 09 A ARQUITETURA DO ORACLE O conhecimento da arquitetura Oracle

Leia mais

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS CLAUDIO RIBEIRO DA SILVA MARÇO 1997 2 1 - CONCEITOS GERAIS DE 1.1 - Conceitos Banco de Dados - Representa

Leia mais

Aula 2 Arquitetura Oracle

Aula 2 Arquitetura Oracle Aula 2 Arquitetura Oracle Instancia Oracle Uma instância Oracle é composta de estruturas de memória e processos. Sua existência é temporária na memória RAM e nas CPUs. Quando você desliga a instância em

Leia mais

um mecanismo, chamado de perfil, para controlar o limite desses recursos que o usuário pode

um mecanismo, chamado de perfil, para controlar o limite desses recursos que o usuário pode 1 ADMINISTRAÇÃO DE USUÁRIOS NO SGBD ORACLE 11G JUVENAL LONGUINHO DA SILVA NETO 1 IREMAR NUNES DE LIMA 2 Resumo: Este artigo apresenta como criar, modificar e excluir usuários, privilégios, atribuições

Leia mais

NORMA TÉCNICA PARA DEFINIÇÃO DE OBJETOS DE BANCO DE DADOS E DE ESTRUTURAS DE ARMAZENAMENTO QUE CONSTITUEM O BANCO DE DADOS CORPORATIVO

NORMA TÉCNICA PARA DEFINIÇÃO DE OBJETOS DE BANCO DE DADOS E DE ESTRUTURAS DE ARMAZENAMENTO QUE CONSTITUEM O BANCO DE DADOS CORPORATIVO NORMA TÉCNICA PARA DEFINIÇÃO DE OBJETOS DE BANCO DE DADOS E DE ESTRUTURAS DE ARMAZENAMENTO QUE CONSTITUEM O BANCO DE DADOS CORPORATIVO Referência: NT-AI.04.04.01 http://www.unesp.br/ai/pdf/nt-ai.04.04.01.pdf

Leia mais

Oracle Advanced Compression x External Tables (Armazenamento de dados históricos)

Oracle Advanced Compression x External Tables (Armazenamento de dados históricos) Oracle Advanced Compression x External Tables (Armazenamento de dados históricos) Agenda Sobre Rodrigo Mufalani Clico de dados Visão Geral Avanced Compression Visão Geral External Tables Performance Disponibilidade

Leia mais

Guia de administração para a integração do Portrait Dialogue 6.0. Versão 7.0A

Guia de administração para a integração do Portrait Dialogue 6.0. Versão 7.0A Guia de administração para a integração do Portrait Dialogue 6.0 Versão 7.0A 2013 Pitney Bowes Software Inc. Todos os direitos reservados. Esse documento pode conter informações confidenciais ou protegidas

Leia mais

Estatística, monitoramento e diagnóstico através do catálogo do PostgreSQL

Estatística, monitoramento e diagnóstico através do catálogo do PostgreSQL Estatística, monitoramento e diagnóstico através do catálogo do PostgreSQL O trabalho Estatística, monitoramento e diagnóstico através do catálogo do PostgreSQL de Fabiano Machado Dias e Eduardo Wolak

Leia mais

FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure

Leia mais

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante Banco de Dados 1 Programação sucinta do curso:. Conceitos fundamentais de Banco de Dados.. Arquitetura dos Sistemas Gerenciadores de Banco de Dados (SGBD ou DBMS).. Características típicas de um SGBD..

Leia mais

SQL. Structured Query Language

SQL. Structured Query Language SQL Structured Query Language Construções básicas Junção de Tabelas Join O uso da operação JOIN numa cláusula FROM especifica como se deseja que as tabelas sejam vinculadas. Use INNER JOIN para associar

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

PROCEDIMENTOS PARA ATUALIZAÇÃO DE VERSÃO DO APLICATIVO

PROCEDIMENTOS PARA ATUALIZAÇÃO DE VERSÃO DO APLICATIVO PROCEDIMENTOS PARA ATUALIZAÇÃO DE VERSÃO DO APLICATIVO MASTERSAFDW VERSÃO 5-25/04/12 PÁGINA 1 Índice Informações Importantes... 3 Atualizando o aplicativo... 4 Procedimentos para atualização da base de

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

4 Conversor EDTV Raw. 4.1 Arquitetura

4 Conversor EDTV Raw. 4.1 Arquitetura 4 Conversor EDTV Raw O conversor EDTV Raw é o programa que lê um documento escrito no perfil NCL EDTV e gera um documento Raw equivalente, i.e. que define a mesma apresentação. Este capítulo, apresenta

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo CONCORRÊNCIA 1. Introdução Recursos exclusivos Não necessita controle Abundância de recursos compartilhados Controle necessário mas mínimo Harmonia, provavelmente não haverá conflito Recursos disputados

Leia mais

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS Fábio Roberto Octaviano Controlando Acesso dos Usuários Após o término do Capítulo: Diferenciar privilégios de sistema e privilégios de objetos.

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

Worldwide Online TechDay. 30 - Outubro

Worldwide Online TechDay. 30 - Outubro 30 - Outubro 1 Como funciona um banco de dados Microsoft SQL Server? Fabricio Catae Premier Field Engineer Microsoft Certified Master Twitter: @fcatae WebSite: http://blogs.msdn.com/fcatae/ 2 Nossos Parceiros

Leia mais

Treinamento. DBA Oracle 11g. Duração: 120 horas

Treinamento. DBA Oracle 11g. Duração: 120 horas Treinamento DBA Oracle 11g Duração: 120 horas Neste curso no primeiro módulo (Introdução ao Oracle 11g SQL e PL_SQL) é oferecido um curso introdutório à tecnologia do banco de dados Oracle 11g. Também

Leia mais

Excel 2010 Modulo II

Excel 2010 Modulo II Excel 2010 Modulo II Sumário Nomeando intervalos de células... 1 Classificação e filtro de dados... 3 Subtotais... 6 Validação e auditoria de dados... 8 Validação e auditoria de dados... 9 Cenários...

Leia mais

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

Consistem num conjunto de apontadores para instâncias especificas de cada relação. Mecanismo usado para mais fácil e rapidamente aceder à informação existente numa base de dados. Bases de Dados de elevadas dimensões. Consistem num conjunto de apontadores para instâncias especificas de

Leia mais

Manual de Instalação e Configuração

Manual de Instalação e Configuração e Configuração MyABCM 4.2 Versão 4.20-1.00 2 Copyright MyABCM. Todos os direitos reservados Reprodução Proibida Índice Introdução... 5 Arquitetura, requisitos e cenários de uso do MyABCM... 7 Instalação

Leia mais

Projeto de Banco de Dados: Empresa X

Projeto de Banco de Dados: Empresa X Projeto de Banco de Dados: Empresa X Modelo de negócio: Empresa X Competências: Analisar e aplicar o resultado da modelagem de dados; Habilidades: Implementar as estruturas modeladas usando banco de dados;

Leia mais

Lendas do Oracle. Ricardo Portilho Proni ricardo@nervinformatica.com.br. TITLE Speaker

Lendas do Oracle. Ricardo Portilho Proni ricardo@nervinformatica.com.br. TITLE Speaker TITLE Speaker Lendas do Oracle Ricardo Portilho Proni ricardo@nervinformatica.com.br Esta obra está licenciada sob a licença Creative Commons Atribuição-SemDerivados 3.0 Brasil. Para ver uma cópia desta

Leia mais

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl AVALIAÇÃO DA QUALIDADE DO CÓDIGO FONTE ESCRITO EM PL/SQL Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais

Iniciando o MySQL Query Brower

Iniciando o MySQL Query Brower MySQL Query Brower O MySQL Query Browser é uma ferramenta gráfica fornecida pela MySQL AB para criar, executar e otimizar solicitações SQL em um ambiente gráfico. Assim como o MySQL Administrator foi criado

Leia mais

P R E F Á C I O A UNIÃO FAZ A FORÇA

P R E F Á C I O A UNIÃO FAZ A FORÇA P R E F Á C I O G de grid. Fazer mais com menos. Essa é a grande promessa por trás da Grid Computing, a nova arquitetura de aplicativos desenvolvida pela Oracle. Lançada oficialmente no Brasil em 20 de

Leia mais

Controle de transações em SQL

Controle de transações em SQL Transações Controle de transações em SQL Uma transação é implicitamente iniciada quando ocorre uma operação que modifica o banco de dados (INSERT, UPDATE ou DELETE). Uma transação pode terminar normalmente

Leia mais

Histórico de revisões

Histórico de revisões Apostila 3 Histórico de revisões Data Versão Descrição Autor 30/09/2011 1.0 Criação da primeira versão HEngholmJr CONTEÚDO Exclusão de registros Consultas por Dados de Resumo Group by / Having Funções

Leia mais

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2 Victor Amorim - vhca Pedro Melo pam2 Arquitetura de BDs Distribuídos Sistemas de bds distribuídos permitem que aplicações acessem dados de bds locais ou remotos. Podem ser Homogêneos ou Heterogêneos: Homogêneos

Leia mais

Disciplina: Unidade V: Prof.: E-mail: Período:

Disciplina: Unidade V: Prof.: E-mail: Período: Encontro 17 Disciplina: Sistemas de Banco de Dados Unidade V: Introdução à Linguagem SQL Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM 13. Introdução à Linguagem SQL Introdução

Leia mais

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015 SQL - Banco de Dados 1 Disciplina: Banco de Dados Professor: José Antônio 2 Tópicos de discussão Criando um banco de dados Incluindo, atualizando e excluindo linhas nas tabelas Pesquisa básica em tabelas

Leia mais

Usando PostgreSQL na Regra de Negócio de um ERP. Fabiano Machado Dias Eduardo Wolak

Usando PostgreSQL na Regra de Negócio de um ERP. Fabiano Machado Dias Eduardo Wolak Usando PostgreSQL na Regra de Negócio de um ERP Fabiano Machado Dias Eduardo Wolak Regra de negócio? São todas as regras existentes num sistema de informação, que ditam seu comportamento, suas restrições

Leia mais

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Modelagem e Projeto de Banco de Dados Especialização em Tecnologia da Informação - Ênfases Março- 2009 1 Modelo Físico Introdução

Leia mais

Treinamento sobre SQL

Treinamento sobre SQL Treinamento sobre SQL Como Usar o SQL Os dois programas que você mais utilizara no SQL Server são: Enterprise Manager e Query Analyzer. No Enterprise Manager, você pode visualizar e fazer alterações na

Leia mais

BI: Um estudo de Oracle MÉLODY BALLOUARD (MAMB)

BI: Um estudo de Oracle MÉLODY BALLOUARD (MAMB) BI: Um estudo de Oracle MÉLODY BALLOUARD (MAMB) Roteiro Introdução Motivação Objetivos Historico Conceitos Arquitetura Estado da arte Exemplos Referências Introdução Quantidade infinita de dados Ferramentas

Leia mais

A instância fica alocada na memória compartilhada (shared memory) e é a combinação do System Global Area (SGA) com os processos background Oracle.

A instância fica alocada na memória compartilhada (shared memory) e é a combinação do System Global Area (SGA) com os processos background Oracle. ESTRUTURAS DE ARMAZENAMENTO Instance Na instância são executados processos e espaços em memória, estes permitem ao Oracle cumprir com seu papel de manter a integridade, confidencialidade e disponibilidade

Leia mais

Tuning para Desenvolvedores DB2

Tuning para Desenvolvedores DB2 Tuning para Desenvolvedores DB2 Perallis IT Innovation Soluções em Armazenamento de dados www.perallis.com contato@perallis.com +55 19 3203-1002 SOBRE ESTE CURSO PÚBLICO-ALVO O curso Tuning para Desenvolvedores

Leia mais

Crash recovery é similar ao instance recovery, onde o primeiro referencia ambientes de instância exclusiva e o segundo ambientes parallel server.

Crash recovery é similar ao instance recovery, onde o primeiro referencia ambientes de instância exclusiva e o segundo ambientes parallel server. Recover no Oracle O backup e recuperação de dados em um SGBD é de grande importância para a manutenção dos dados. Dando continuidade a nossos artigos, apresentamos abaixo formas diferentes de se fazer

Leia mais

Procedimentos armazenados

Procedimentos armazenados Procedimentos armazenados Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material da Profª Maria Lígia B. Perkusich Procedimentos armazenados (i) Definição Um procedimento armazenado (stored procedure)

Leia mais

Identificação rápida de gargalos Uma forma mais eficiente de realizar testes de carga. Um artigo técnico da Oracle Junho de 2009

Identificação rápida de gargalos Uma forma mais eficiente de realizar testes de carga. Um artigo técnico da Oracle Junho de 2009 Identificação rápida de gargalos Uma forma mais eficiente de realizar testes de carga Um artigo técnico da Oracle Junho de 2009 Identificação rápida de gargalos Uma forma mais eficiente de realizar testes

Leia mais

Centro de Computação - Unicamp Gerência de Atendimento ao Cliente (e-mail:apoio@turing.unicamp.br) Sumário

Centro de Computação - Unicamp Gerência de Atendimento ao Cliente (e-mail:apoio@turing.unicamp.br) Sumário Sumário Conceitos Microsoft Access 97... 01 Inicialização do Access... 02 Convertendo um Banco de Dados... 03 Criando uma Tabela... 06 Estrutura da Tabela... 07 Propriedades do Campo... 08 Chave Primária...

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis.

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis. UNISA Universidade de Santo Amaro http://www.unisa.br Material de Estudo Módulo I: Básico Banco de dados SQL Server http://www.unisa-sis.info Junho/2010 Objetivo do Workshop Compartilhar e apresentar

Leia mais

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Structured Query Language (SQL) Ambiente Simplificado de um SGBD Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de

Leia mais

Tarefa Orientada 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

Leia mais

Disparando o interpretador

Disparando o interpretador Capítulo 2: Usando o interpretador Python Disparando o interpretador O interpretador é frequentemente instalado como /usr/local/bin/python nas máquinas onde está disponível; adicionando /usr/local/bin

Leia mais

André Milani. Novatec

André Milani. Novatec André Milani Novatec Sumário Agradecimentos...19 Sobre o autor...21 Prefácio...23 Capítulo 1 Bem-vindo ao PostgreSQL...25 1.1 O que é o PostgreSQL?...25 1.1.1 História do PostgreSQL...26 1.1.2 Licença

Leia mais

14/09/2008. Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan

14/09/2008. Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan Unidade 2.2 1 2 Material usado na montagem dos Slides Bibliografia

Leia mais

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) MBA em Gestão de TI MÓDULO: BANCO DE DADOS E BUSINESS INTELIGENCE C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) PROFESSOR: Edison Andrade Martins Morais prof@edison.eti.br http://www.edison.eti.br

Leia mais

Documentação Symom. Agente de Monitoração na Plataforma Windows

Documentação Symom. Agente de Monitoração na Plataforma Windows Documentação Symom de Monitoração na Plataforma Windows Windows Linux Windows Linux Plataforma Windows Instalação A instalação do de Monitoração do Symom para Windows é feita através do executável setup.exe

Leia mais

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta

Leia mais

CA Nimsoft Monitor Snap

CA Nimsoft Monitor Snap CA Nimsoft Monitor Snap Guia de Configuração do Monitoramento de bancos de dados Oracle oracle série 4.5 Avisos legais Este sistema de ajuda online (o Sistema ) destina-se somente para fins informativos

Leia mais

SuporteNativoa XML no

SuporteNativoa XML no SuporteNativoa XML no Gerenciamento de Dados e Informação Suporte Nativo a XML no Oracle Fernando Fonseca Ana Carolina Robson Fidalgo 2 Oracle & XML Habilita uma fonte confiável para XML Apresenta flexibilidade

Leia mais

Introdução. Motivação. Sistema Gerenciador de Banco de Dados (SGBD) Banco de Dados (BD) Sistema de Banco de Dados (SBD)

Introdução. Motivação. Sistema Gerenciador de Banco de Dados (SGBD) Banco de Dados (BD) Sistema de Banco de Dados (SBD) Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados Introdução Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 2 quadrimestre de 2011 Motivação

Leia mais

Fundamentos de Sistemas Operacionais. Sistema de Arquivos. Prof. Edwar Saliba Júnior Março de 2007. Unidade 03-002 Sistemas de Arquivos

Fundamentos de Sistemas Operacionais. Sistema de Arquivos. Prof. Edwar Saliba Júnior Março de 2007. Unidade 03-002 Sistemas de Arquivos Sistema de Arquivos Prof. Edwar Saliba Júnior Março de 2007 1 Objetivos Facilitar o acesso dos usuários ao conteúdo dos arquivos; Prover uma forma uniforme de manipulação de arquivos, independente dos

Leia mais

2 Auto-sintonia de Bancos de Dados e Agentes de Software

2 Auto-sintonia de Bancos de Dados e Agentes de Software 2 Auto-sintonia de Bancos de Dados e Agentes de Software A uso da abordagem de agentes de software 1 pode trazer benefícios a áreas de aplicação em que é necessário construir sistemas autônomos, ou seja,

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Adriano J. Holanda http://holanda.xyz 28/8/2015 Índices Para os testes com os índices criaremos uma tabela chamada tteste com o comando teste=> CREATE TABLE tteste (id int4);

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Professora conteudista: Cida Atum Sumário Administração de Banco de Dados Unidade I 1 INTRODUÇÃO A BANCO DE DADOS...1 1.1 Histórico...1 1.2 Definições...2 1.3 Importância

Leia mais

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE e INSERT) Prof. Edson Thizon SQL SQL ( structured query language ) é uma linguagem comercial de definição e manipulação de banco de dados

Leia mais

DOCUMENTO DE REQUISITOS

DOCUMENTO DE REQUISITOS DOCUMENTO DE REQUISITOS ID documento: Data: / / Versão : Responsável pelo documento: ID Projeto: HISTÓRICO DE REVISÕES Data de criação/ atualização Descrição da(s) Mudança(s) Ocorrida(s) Autor Versão do

Leia mais

Marcando os pontos. O ExtSQL fornece estatísticas de uso detalhadas dos sistemas de banco de dados MySQL e PostgreSQL.

Marcando os pontos. O ExtSQL fornece estatísticas de uso detalhadas dos sistemas de banco de dados MySQL e PostgreSQL. Controle de estatísticas do SQL com o ExtSQL ANÁLISE Marcando os pontos O ExtSQL fornece estatísticas de uso detalhadas dos sistemas de banco de dados MySQL e PostgreSQL. por John Murtari O MySQL e o PostgreSQL

Leia mais